Account
Tokens & security
Each agent gets its own token. Keys stay out of the chat. You can cut one off without touching the rest.
Project isolation
A token for project A is rejected by project B. There is no cross-project leakage. Every MCP tool also requires the project slug. If the agent is talking to another Crafio server already in the chat, that call fails and it must stop.
Customer app keys
- Publishable key lives in the browser. It can sign people in and only do what each collection's access allows.
- User session (
X-Crafio-User) is that person.ownerrows are only theirs. - Secret key stays on a server. Full project access. Never ship it.
- Agent token is MCP with scopes. Same isolation, not limited by collection access.
Set read/create/update/delete on each collection: public, signed-in, owner, or admin. Existing collections default to admin-only for the customer app until you open them. New collections default to signed-in create and owner update/delete.
Add the app origin in Settings so browsers can call the API. File bytes follow the same rules as the records that point at them. Provider webhooks must be signed.
Scopes
health,project,schema,dataauthfor people who use the customer appintegrations,payments,crm,email
Secrets
Stripe, email, and CRM credentials live in Crafio. Agents invoke capabilities. They never read the raw keys. Token secrets are shown once at mint time.
Team access
Owner and admin can mint tokens, invite teammates, and change settings. Editors can change data, people, and files. Viewers are read-only.
Audit
Writes are logged with actor, action, and payload. The Logs page shows what the app, the agent, or this workspace changed.
