Permissions and safety
You decide what an assistant may do on Korala’s consent page, once per connection.

Before you connect
An assistant creates documents from templates, because a chat has no file to upload. Each plan includes a number of documents from templates a month; the free plan includes 5, the same as its signed documents. When you have used them, the assistant can still view your documents and save templates, and it tells you that it cannot create another document until the next month or a plan change.
Korala emails you each time an assistant is connected in your name, with the name it gave, where it connected from and what it may do. If you did not connect it, open Settings → AI Assistants, disconnect it and change your password.
Permissions
| Permission | The assistant can | Default |
|---|---|---|
| View documents and templates | List and read documents, templates, signers, fields and audit trails. Preview a Markdown agreement without saving it. | On. You cannot switch it off. |
| Prepare documents | Create drafts, add recipients and place fields. Also rename a draft and remove its recipients and fields. It cannot send or void. | On |
| Create and edit templates | Save a Markdown agreement as a reusable template. Also delete, duplicate or replace the file of any template in your organization. | On |
| Send and void documents | Send a draft to its signers, and void a document. | Off |
With Send and void documents off, the assistant answers a send request with a link. Open the link, review the document in Korala and send it yourself. Turn the permission on once you trust how your assistant handles drafts.
A permission covers more than the tools named after it. The connection’s token works against Korala’s REST API directly, so an assistant that can make HTTP requests can use every endpoint its permissions allow. Create and edit templates reaches every template in your organization, including ones you made in the dashboard.
The tool reference lists the permission each tool needs.
Real documents
A connected assistant works with your real documents. The consent page says so: “It works with your real documents: what it prepares is legally binding once signed, and documents it creates from templates count against your plan. It can never sign on anyone’s behalf, and you can disconnect it at any time in Settings → AI Assistants.”
Documents the assistant creates from templates, and documents it sends, count against your plan like your own. Creating from a template needs Prepare documents alone, so a connection can incur charges with Send and void documents off, on plans that charge per document created from a template.
For a safe first try, leave Send and void documents off. The assistant prepares drafts and gives you a link to review, and Korala emails nobody.
An assistant cannot see, change or send test documents, meaning the documents and templates a test-mode API key made. Korala answers 404 for them and leaves them out of the assistant’s lists. Korala ignores a sandbox flag in an assistant’s request. API keys keep a test mode: see API key (CI and headless).
Limits that apply to every connection
- An assistant cannot sign a document for anyone.
- Korala keeps signers’ signing links and tokens out of every tool result.
- Korala allows 120 requests a minute per connection. One request is one protocol message, and a single tool call takes several, so an assistant reaches the limit sooner than 120 tool calls. Past that, Korala answers with
429until the minute passes. - Korala also allows 600 API requests a minute per connection, counting the requests its tool calls make.
- The sign-in endpoints allow 20 client registrations and 120 other requests a minute per network address.
Who can connect an assistant
An organization Owner or Admin. A Member who reaches the consent page sees an explanation and a Cancel button. If you have two-factor authentication turned on, you confirm it before Korala approves the connection.
The warnings on the consent page
The consent page shows the name the assistant calls itself and the host that receives the approval. Korala marks both as unverified, because any program can register under any name.
The page then advises: “Continue only if you started this from your own assistant a moment ago. If a link brought you here, cancel.”
The advice guards against one attack. Someone sets up a connection from their own assistant and sends you the sign-in link. If you approve it, their assistant gets access to your organization’s documents. A connection you started yourself opens this page seconds after you asked for it, in a browser your assistant opened. Treat a consent page that arrives by email, chat or a web page as hostile and choose Cancel.
Disconnect an assistant
- In the Korala web app, open Settings → AI Assistants. Owners and Admins see this page; Members do not.
- Find the assistant under Connected assistants. Each row shows the name, the permissions, the connected date and the last use, or “never used”.
- Choose Disconnect and confirm.


Disconnecting takes effect on the assistant’s next request.
Before you connect anything, the same page shows the server address with a copy button and five setup tabs: Claude, ChatGPT, Claude Code, Codex and Cursor.

Connections that end by themselves
A connection ends in six cases:
- You disconnect it in Settings → AI Assistants.
- The person who approved it leaves the organization or stops being an Owner or Admin.
- The assistant goes 30 days without using it. Its refresh token expires.
- One year passes since the approval. Each approval lasts one year at most.
- The assistant revokes the connection itself.
- Korala sees a refresh token used twice. Korala treats that as theft and ends the connection.
To continue after any of these, connect again.
Audit trail
The API’s audit trail response carries metadata.actor (type, clientName, connectionId, userId) on the events document_created, document_sent and document_voided when an assistant did them. The dashboard and the Certificate of Completion do not show it yet.
A document created from a plain PDF or DOCX template writes no document_created event, so that step has nothing to attribute.