Approvals
How Levee asks you before the agent reaches something your organisation's rules leave open, and how approve, deny, remember, and revoke work
An approval is Levee asking you before the agent reaches something your organisation wants a person to decide on. Levee pauses the agent's request and shows you an Access Request with exactly what it wants. Nothing goes out until you answer Approve or Deny.
Your organisation's rules give one of three answers to anything the agent tries to reach: allow, deny, or ask a person. Approvals are the third answer. Every decision is recorded in the audit trail.
What does an Access Request show?
A panel slides in from the right of the Levee app with:
| Field | Example |
|---|---|
| Type badge | http (website), odbc (database), search, m365 (Microsoft 365) |
| Policy status | Why it needs a decision, for example escalate or prompt |
| Destination | api.example.com:443, with its network address |
| Resource / URL | The exact page, table, document or AI model requested |
| Method / Action | What the agent wants to do: GET, CONNECT, SELECT, invoke, ... |
| Project | The project that asked |
| Details | Extra context, for example the search words, provider and estimated cost, or the Office app, operation and target |
Web addresses with international characters are shown in their encoded form (xn--...), so a look-alike address cannot pass for a familiar one. Text that comes from inside the sandbox is shown as plain text, never run.
What can I answer?
| Action | Effect |
|---|---|
| Approve | Lets this request through. |
| Deny | Blocks it. The agent gets the same plain refusal as for any other block. |
| Remember this decision (checkbox) | Keeps your Approve or Deny for this project, even after the project stops or Levee restarts. |
| Dismiss (deny once) (the X, or clicking outside the panel) | Refuses this one request and remembers nothing. |
If nobody answers within five minutes, the request is refused automatically. A timeout is never remembered. It is recorded in the audit trail with the scope timeout, so a refusal nobody actually gave still leaves a trace.
How long does a decision last?
| Decision | Lasts |
|---|---|
| Approve or Deny, without Remember | Until the project stops or the Levee service restarts. |
| Approve or Deny, with Remember | Until you revoke it. |
| Dismiss, timeout, or an error while asking | This request only. |
A decision covers one project, resource and access level:
- It never answers a request in another project.
- A remembered decision belongs to the project folder and to the person who started the project. Nobody else's project can use it, change it, or revoke it.
- Approving write access also covers later read requests for the same resource. Approving read never covers a later write; you will be asked again.
After the Levee 0.58.3 update, Levee asks once more about decisions you had remembered before it. Answer again and tick Remember this decision to keep them.
How do I take back a remembered decision?
- Switch to Advanced mode if needed (Settings > Experience > Mode).
- Open the project's Access Policy tab. Remembered decisions are listed with the rules, grouped by type.
- Click Revoke next to the decision.
Revoking applies at once to new requests and is recorded (AccessRevoked). It removes the decision for every access level of that resource.
Remembered decisions never override your organisation's rules. If an administrator later blocks something outright, the block wins.
What makes Levee ask?
Your organisation's rules decide, not the agent:
| Type | Asks when | Notes |
|---|---|---|
| Websites | A web rule's action is escalate. | Rules set to allow or deny never ask. See Web access. |
| AI models | A model is marked promptOnFirstUse. | Asked the first time a project uses it. If you deny, calls to that model keep failing until the project restarts. See Model access. |
| Web search | Every search, by default. | Shows the search words, the provider and the estimated cost. Remember is not offered: each search is its own decision. Your administrator can allow a limited period without asking instead. See Web search. |
| Website sign-in | The agent needs you to sign in to a site you allowed. | Appears as a separate Sign-in required prompt. See Connected identities. |
| AI tools | You turn on or upgrade a tool. | You approve the tool's internet addresses as a set. See Projects. |
| Microsoft 365 (preview) | An Office rule sets approval to once, persist, or always. | See Microsoft 365. |
| Packages (preview) | A package rule's action is prompt. | See Packages. |
| Files | The agent needs a file or folder, or a level of access, that is not shared. | For example, writing to a folder you shared read-only. See Sharing files. |
Database queries never ask. A query the rules do not cover is refused, and the reason is recorded in the audit trail.
What changes in Easy mode?
In Easy mode, the agent's own questions (for example "may I run this script?") are answered yes automatically, because they only concern work inside the sandbox. Levee Access Requests are different: they concern what leaves the sandbox, and they always wait for you, in both modes.
What gets recorded?
Every step is written to the audit trail before the request continues:
| Event | When |
|---|---|
AccessRequested | The request was paused for a decision. |
AccessApproved | Someone approved. The detail records the scope, for example scope=once or scope=persist. |
AccessDenied | Someone denied or dismissed it, or it timed out (scope=timeout). |
AccessRevoked | A remembered decision was revoked. |
For your IT team
- Use
escalate(websites) andpromptOnFirstUse(models) for destinations you want people to see but not approve once for all. Useallowfor the AI tools' well-known addresses so people are not asked all day. - An approval is only as good as the person answering. For destinations that must never be reached, use an explicit
denyrule: it never asks and no user can approve it. - Review
AccessApprovedevents withscope=persistfrom time to time; they are the standing exceptions on your computers. - Remembered decisions are kept by the Levee service in
%ProgramData%\Vediram\Levee\approvals\<projectId>.json, which only the SYSTEM account can access, tied to the project folder and the Windows user who started the project.