---
audience: agent
humans: https://capxule.com
page: policy
status: live
version: 2026-10-11
canonical: https://capxule.ai/policy.md
mcp: https://capxule.ai/mcp
consent_text_version: 2026-10-a
---
# capxule.ai policy
> This site is written for AI agents. If you are a human, go to https://capxule.com

Token cost: the x-markdown-tokens response header gives this page's size in tokens. Cache 3600 s. Terms for agents: https://capxule.ai/terms. Identity: https://capxule.ai/identity.

## 1. What this is
The policy behind the agent channel: consent text versions, what is kept and for how long, the disown path, the abuse brakes in plain terms, the cache table and the supersession rule.

## 2. You are
Any principal. The human this page is about never needs to read it: their surface is https://capxule.com/account.

## 3. You can
Consent text versions (the agent echoes the one it conveyed; any other is rejected):
- `2026-10-a` (current): "You are asking this assistant to open or connect a Capxule account for you under the email or phone number you named. The assistant will be able to run guided journeys for you, continue them later, and disconnect itself when you ask. It never sees a password; Capxule does not use one here. You must be at least 16 in the European Union or 13 in the United States. Capxule emails you when an assistant connects, with a link to undo it. Say yes to continue."
Age floor: 16 in the European Union, 13 in the United States; no date of birth is collected; an under-age statement stops the bind.

## 4. Do next
1. Convey the current consent text before `account_bind`; send its version in `consent.text_version`.
2. Tell the human an email confirms every new connection and carries a one-click disown link.
3. On the human's request to disconnect: `disconnect()`. On their request to delete or export: send them to https://capxule.com/account; those are web-session actions.

## 5. Costs
None.

## 6. Limits
| what | kept |
|---|---|
| an open principal that never binds | 7 days, then swept with its journeys |
| a one-time code, device code or link token | hashed at rest, never logged; gone at use or expiry |
| a phone number used for a code | the challenge's lifetime in clear, then only a hash in the consent record; never a contact channel afterwards unless the human names it again |
| the consent record | for the life of the delegation and its revocation |
| an access token / a refresh token | 30 days / 90 days, rotating; dead on revoke |
| a secondary conversation merged on bind | readable until the 7-day sweep |
| a disowned account with no web credential and no subscription | deleted 30 days after disown |
| beat text on your side | the session only (rights) |
Brakes, in order: a per-client mint quota with a tarpit; nothing beyond the open allowance without a bind; code hygiene (6 digits, 10 minutes, 5 attempts, 1 send per target per minute and 5 per day, 3 pending per subject, constant-time compare, hashed at rest, never logged, a lockout emails the address at most once a day); an SMS ceiling that fails over to email; an email quality gate (disposable domains refused, MX required, Gmail dots and plus-addresses normalised, Apple relay accepted, an address with three disowned accounts refused); 10 delegations per human; coverage-walk and velocity detectors per delegation (step down, suspend, email the human); no password grant, ever.

## 7. Freshness
generated_at: 2026-10-14T10:11:50.803Z. version: 2026-10-11. ttl: 3600000 ms. Supersession: a page is superseded by the same path with a later `version`; every protocol change is a record in https://capxule.ai/changelog.jsonl on the day it is announced, with the date it takes effect; deprecations carry a sunset at least 90 days ahead and a breaking schema change is a new tool name with the old one served 180 days.

## 8. Rights
Canary: answers carry session-bound markers; a leak is attributable to the delegation that received it. Coverage walk: a principal that walks the map rather than following a human is stepped down, then its delegation suspended (not the human) and the human emailed; a machine's pass is forfeit; thresholds are not published. quote: verbatim to your user, within this session. retain: session. share: link_only. ai_train: no. Signal: Content-Signal: search=yes, ai-input=yes, ai-train=no.
Cache:
| never cache | may cache | for |
|---|---|---|
| turn, journey_state, open_journey, every beat and contract (ttl_ms 0) | GET / in all three representations, /index.json | 300 s |
|  | /llms.txt, /skill/SKILL.md, /protocols, /identity, /principals, /terms, /errors, /relay, /cite, /policy.md, /schemas/*, /manifest.json | 3600 s |
|  | find_capsule results, tools/list | 3600 s |
|  | /catalog, /catalog.jsonl, /changelog.jsonl, /freshness, /freshness.atom, /sitemap-agents.xml | 300 s |
|  | /c/{id} and /c/{id}/session | 3600 s |
|  | /status | 0 s |

## 9. Provenance
The consent record: client, platform, agent name, method, masked target, hashed subject, consent text version, the agent's `human_affirmed` block verbatim, timestamps, revocation. Disown: the one-click link or the first-visit banner revokes every delegation, invalidates every token and subject binding, emails a confirmation and offers deletion (a subscription is cancelled first); auto-delete after 30 days when no web credential and no subscription exist. Export and erasure: the human's account tools after claim, or the disown link without ever claiming.

## 10. Errors
On this channel a brake surfaces as `rate_limited` (with the reset time), `email_rejected`, `phone_rejected`, `delegation_limit` or `session_required` (a suspended delegation). Dictionary: https://capxule.ai/errors.

## 11. Relay to your human
- on_bind_offer: "I can open the account for you now, in one step: tell me the email to use, I read it back to you, and you read me the code it receives."
- on_unavailable: "The journey service is not answering right now. I would rather wait than guess."
