Skip to content

Permissions, revocation, and undo

Giving an AI write access to your library never means giving up control. Every connection carries a permission tier you choose, can be revoked in one click, and every edit it makes is a version you can review, diff, and undo.

Settings → For agents in the web app: the MCP server address to paste into a client, the manual Agent key form with Read only / Edit / Full access tiers, and the connections list
TierCanTools visible
read_onlySearch, list, and read items; read your quota6 (search_hub, list_items, get_item, get_quota, plus the search/fetch aliases)
editAlso save links and notes, replace a note’s text, replace tags10
fullAlso move items to the recycle bin11

The tier shapes the tool list itself: a read-only connection does not see save_link or update_note at all, and delete_item appears only on full. A call outside the tier is refused with API_KEY_TIER_DENIED (HTTP 403) even if a client tries it directly.

OAuth connections default to read-only. During authorization you pick the tier; keep read-only unless the client needs to save or update. A tier is fixed for the life of a key or connection — to change it, create a new key or reconnect and choose again.

OAuth connectionAgent key
ForClients that speak OAuth: Claude, ChatGPT, Hermes, OpenClawClients that send headers: Claude Code, Codex, Cursor, VS Code, anything else
SetupPaste https://api.sensefold.app/mcp, sign in, pick a tierCreate a key in Settings, pick a tier, paste it as Authorization: Bearer …
Secret handlingNo key to store; the client holds refreshable credentialsThe full key is shown once at creation; store it in an environment variable or user-level config, never in a repo
Where it appearsSettings → For agents, as a connection rowSettings → For agents, as a key row

Production keys look like lexi_agent_v1_production_<id>_<secret> and work only against production.

Open app.sensefold.app → Settings → For agents.

  • Revoke a key and it stops working immediately. Lost a key? Revoke it and create a new one — there is no way to reveal it again.
  • Revoke a connection the same way. Reconnecting the same OAuth client revokes its previous connection automatically; revoked rows stay listed as history and grant nothing.
  • Disconnecting on the client side (removing the connector in Claude, deleting the server entry in Cursor) also ends access, but revoking in Sensefold is the authoritative step.
  • update_note, update_tags, and delete_item require expectedVersion from a fresh get_item read. Two writers cannot silently overwrite each other — the second gets VERSION_CONFLICT and must re-read.
  • Each item’s History drawer in the web app lists every change, who made it (you or which agent), and a field-level diff. Revert rolls an update back; Restore brings a deleted item out of the recycle bin.
  • The account-wide Activity page shows the same feed across your whole library.
  • delete_item is a soft delete to the recycle bin. Agents cannot delete permanently.
  • Read anything outside your own library, or anything you have not saved.
  • Change your plan, buy credits, or run the bulk Process now step — those are signed-in web app actions only.
  • Change your settings, export your library, or delete your account.
  • Rewrite your notes without leaving a version behind.

See the MCP tools reference for the exact tool contract and Privacy for connected AI for what a client receives.