Persona for AI agents

Persona provides identity verification infrastructure for building automated KYC and fraud-prevention checks. Trust and safety teams use it to verify user identities before granting access. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

Security and identityAPI keyMCP + RESTwithpersona.com
AUDIT LOG · PERSONAPOLICY: acme-support
09:41:07 · claude · u_8f2read
persona.list_all_cases
List All Cases✓ allowed · 212ms
09:41:08 · claude · u_8f2read
persona.search_cases
Search Cases✓ allowed · 164ms
09:41:09 · claude · u_8f2write
persona.create_webhook
Create Webhook✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
persona.archive_a_webhook
Archive a webhook✕ blocked · policy: deny
EVERY PERSONA CALL, ON THE RECORD
01 · USE CASES

What agents do in Persona.

01

Create an account for verification

Create an account record so an identity verification inquiry can be linked to it.

02

Check inquiry status read-only

Look up the status of a verification inquiry before deciding on next steps.

03

Expire an inquiry session with approval

Expire a pending verification session only after confirming the user abandoned it.

02 · ACTIONS

69 Persona actions, graded by risk.

Every Persona action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

32

Look things up. Allowed by default.

  • persona.search_cases
    Search Cases
  • persona.list_all_cases
    List All Cases
  • persona.list_all_lists
    List All Lists
  • persona.list_all_events
    List all Events
  • persona.search_accounts
    Search Accounts
  • persona.list_all_devices
    List All Devices
  • persona.list_all_reports
    List All Reports
  • persona.list_all_accounts
    List All Accounts
  • persona.list_all_api_logs
    List All API Logs
  • persona.list_all_webhooks
    List All Webhooks
  • persona.list_all_importers
    List all Importers
  • persona.list_all_inquiries
    List All Inquiries
  • persona.list_all_rate_limits
    List All Rate Limits
  • persona.list_all_transactions
    List All Transactions
  • persona.list_all_workflow_runs
    List all Workflow Runs
  • persona.list_all_inquiry_sessions
    List All Inquiry Sessions
+ 16 MORE

write

25

Create and change things. Allow, or ask the user first.

  • persona.create_webhook
    Create Webhook
  • persona.update_a_webhook
    Update a Webhook
  • persona.create_an_account
    Create an Account
  • persona.update_an_account
    Update an Account
  • persona.add_tag_to_account
    Add Tag to Account
  • persona.create_name_list_item
    Create Name List Item
  • persona.create_document_generic
    Create Generic Document
  • persona.create_string_list_item
    Create String List Item
  • persona.update_document_generic
    Update Generic Document
  • persona.create_country_list_item
    Create Country List Item
  • persona.create_phone_number_list_item
    Create Phone Number List Item
  • persona.create_an_ip_address_list_item
    Create IP Address List Item
  • persona.create_email_address_list_item
    Create Email Address List Item
  • persona.create_government_id_number_list_item
    Create Government ID Number List Item
  • persona.set_tags
    Set Tags on Account
  • persona.clone_webhook
    Clone Webhook
+ 9 MORE

destructive

12

Delete, cancel or archive. Ask first, or deny outright.

  • persona.archive_a_webhook
    Archive a webhook
  • persona.remove_account_tag
    Remove Account Tag
  • persona.archive_a_name_list_item
    Archive a Name List Item
  • persona.archive_string_list_item
    Archive String List Item
  • persona.archive_a_country_list_item
    Archive Country List Item
  • persona.archive_ip_address_list_item
    Archive IP Address List Item
  • persona.archive_phone_number_list_item
    Archive Phone Number List Item
  • persona.archive_a_geolocation_list_item
    Archive a Geolocation List Item
  • persona.archive_email_address_list_item
    Archive Email Address List Item
  • persona.archive_a_browser_fingerprint_list_item
    Archive Browser Fingerprint List Item
  • persona.archive_a_government_id_number_list_item
    Archive Government ID Number List Item
  • persona.disable_webhook
    Disable Webhook
03 · HOW IT WORKS

Persona in three steps.

  1. 01Your users connect PersonaThey add their Persona api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “create Webhook” can wait for the user, and “archive a webhook” can be denied outright.
  3. 03Any agent can actYour agent calls Persona through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('persona', {
  read: 'allow',
  write: 'ask',        // create_webhook
  destructive: 'deny',  // archive_a_webhook
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Persona connects.

Users add their Persona api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same Persona connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Persona from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Persona and Arc0, answered.

Q01

Can I use Persona with Claude, ChatGPT or Cursor?

Yes. Connect Persona to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Persona actions you allow.

Q02

How do users connect Persona?

Users add their Persona api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which Persona actions can my agent take?

69 in total: 32 read, 25 write and 12 destructive, such as “create Webhook”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Persona?

Yes. Actions like “archive a webhook” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Persona too?

Yes. The same Persona connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Persona into your agent.

Your users connect Persona once, under your brand. Your agent gets 69 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan