> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sente.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Sente — Accounts for AI agents

> Managed email identities and real accounts for AI agents. Sente completes email verification from the identity's own inbox, vaults credentials, and keeps sessions alive.

Sente gives an AI agent its own **email identity** — a real, long-lived address on
`sente.run` that the agent sends from, receives on, and uses to hold accounts at
third-party apps.

On top of that identity, Sente runs the account lifecycle:

* **Verification inbox.** Every inbound email is classified on arrival (OTP, magic link, or other)
  with the code or link already extracted. One call blocks until the verification email lands.
  Email content is treated as untrusted input; extraction is hardened against prompt injection.
* **Register.** Point Sente at an app's signup page and a managed browser signs up under the
  identity's email and completes email verification from the identity's own inbox. Only for
  targets whose terms permit automated signup — and with confirm-before-submit, a human clicks
  the final submit.
* **Connect.** Hand Sente credentials for an account your org already owns. It logs in, vaults
  the credentials **write-only** (they can never be read back through the API), and keeps the
  account re-loginable. TOTP seeds are vaulted too; the server computes the 30-second code —
  the seed never reaches any model.
* **Sessions.** Ask for a registered account and get a browser that is already logged in, as a
  CDP URL. If the login went stale, Sente re-logs in first with the vaulted credentials and a
  fresh code from the inbox. Sessions also export as portable Playwright `storageState`.
* **Human takeover.** When a run can't proceed, it doesn't dead-end: it holds, surfaces an
  interactive live view, and a person clears the step and resumes.

## What Sente does not do

Stated up front, because it shapes what you can build:

* **CAPTCHAs and SMS 2FA block the run.** Sente does not solve CAPTCHAs and has no phone
  numbers. Either one pages a human: the run holds (\~10 minutes), a person handles the step in
  the live view, and the run resumes.
* **SSO-only accounts cannot be connected.** Accounts that sign in only via Google/Okta SSO or
  passkeys have no username+password for Sente to vault.
* **Email-code MFA on connected accounts needs a human**, unless the account uses TOTP (Sente
  computes the code from the vaulted seed) or its notification email was repointed to the Sente
  identity.
* **Registration is terms-gated.** Sente registers only where the target's terms permit it. Use
  confirm-before-submit when a human should form the terms-of-service agreement in person.

## Who it's for

Teams whose agents must operate third-party web apps: a support agent that needs its own
Zendesk-style seat, a procurement agent operating vendor portals, a QA agent that needs
disposable-but-durable test accounts, an ops agent driving dashboards your org already owns.
The common blocker is the same everywhere — "check your email to continue" — and the common
need is an account that still works next month.

## Start here

<CardGroup cols={2}>
  <Card title="Quickstart" href="/quickstart">
    One pasted line for a coding agent, or four CLI commands. An identity with a working inbox
    in a few minutes.
  </Card>

  <Card title="Guides" href="/guides/receive-verification-codes">
    Receive verification codes, register at apps, connect owned accounts, use sessions, and
    wire webhooks.
  </Card>

  <Card title="API reference" href="/api-reference/overview">
    The REST API at `https://api.sente.run/v1` — identities, messages, registrations,
    connections, runs, webhooks.
  </Card>

  <Card title="SDKs and CLI" href="/sdks/typescript">
    `@sente-labs/sdk` (TypeScript), `sente-sdk` (Python, `import sente`), and the `sente` CLI.
  </Card>
</CardGroup>

Security posture, per-org limits, and what we ask of you are documented plainly in
[Security](/trust/security), [Limits](/trust/limits), and
[Acceptable use](/trust/acceptable-use).
