Agent access
Record what each AI agent may do. Revoke it with a signed, dated record.
Last updated
TL;DR: Agent access records are signed, ledger-committed records of what an outside AI agent may do on your accounts (the resource, who authorized it, scope, limits and window) and a signed, dated revocation record that names the exact grant it ends. Anyone can verify either record without an account.
From November 24, 2026, Wells Fargo's Online Access Agreement deems an AI agent's instructions and transactions authorized by the customer, and says the customer "must retain evidence of such revocation and must provide such evidence to us, at our request" (Section 15(f)). Other providers block outside agents until they can tell who authorized what. Either way, the principal needs a record of what each agent was allowed to do and when that ended.
1. Record the grant
For each outside agent: what it can reach (an account, a system), who authorized it, what it may do in plain words, any limits, and when the permission starts and ends. Rightshold records it as a receipt on your workspace's Agent access stream, committed to the public ledger, and returns a signed grant record.
2. Tag what the agent does
When you record the agent's actions on any stream, add the tag grant:<id>. Rightshold checks each tagged action against the grant: recorded before it began, after it expired, or after it was revoked, and counts those in the grant's view and in every signed statement.
3. Revoke, and keep the proof
Remove the access with the provider, then record the revocation: the reason, and optionally the provider's confirmation reference and when you told them. Rightshold returns a signed revocation record naming the exact grant it ends, timestamped by its own clock and committed to the public ledger.
4. Hand it over when asked
A bank, an auditor or an insurer can check either record without an account: the SHA-256 of the canonical document and the Ed25519 signature, against keys published at /.well-known/rightshold-keys.json, or with one call to the verify endpoint.
The API
Record a grant
POST https://www.rightshold.com/v1/operations/workspaces/{workspace_id}/access-grants
Authorization: Bearer <api key>
{"agent_label": "Personal finance agent", "resource": "Operating account ending 4410",
"grantor": "Controller", "scope": "Pay approved vendor invoices; read balances.",
"limits": {"max_amount": 2500, "currency": "USD", "per": "day"}, "expires_at": "2027-01-31T00:00:00Z"}Revoke it
POST https://www.rightshold.com/v1/operations/workspaces/{workspace_id}/access-grants/{grant_id}/revoke
{"reason": "Agent replaced", "provider_reference": "Bank confirmation 77-1203"}Was it in force at a given moment?
POST https://www.rightshold.com/v1/operations/workspaces/{workspace_id}/access-grants/{grant_id}/check
{"at": "2026-12-02T15:04:00Z"}From an agent, over MCP
Connect to https://www.rightshold.com/mcp?toolset=operations with your account key as a Bearer token:
record_access_grant, revoke_access_grant, check_access_grant and verify_access_recordVerify a record (no account)
POST https://www.rightshold.com/v1/operations/access-grants/verify
{"document": <revocation record>, "grant": <grant record>}
Or use the Agent access tab in the operations console.
What the records do not prove
- A revocation record proves when the revocation was recorded with Rightshold. It does not prove when the provider acted on it, and it does not end the access by itself.
- The provider reference and notification time are your own statements, recorded as you gave them.
- A grant records what you declared about the agent's permission, not what the provider configured.
- Not legal advice. Read your own agreement.
Record your first grant · Take the eight-question check · Monitor scheduled agents · Markdown
Frequently asked questions
How do I keep evidence that I revoked an AI agent's access?
Remove the access with the provider, then record the revocation: Rightshold returns a revocation record signed with its Ed25519 key, timestamped by its own clock and committed to a public ledger, naming the grant it ends. Share it with a bank through a private link.
Does recording a revocation end the agent's access?
No. It records when the revocation was recorded. Remove the access with the bank or platform too.
Can I check whether an agent's access was in force at a given time?
Yes. The check answers in force, not yet valid, expired or revoked for any moment, and actions tagged with the grant are counted when they fall outside its window.
