Toucan AI Docs

Token security

Target Audience: Developers implementing embed authentication with Toucan AI.

TL;DR

Embed access uses short-lived, encrypted tokens. Your API key stays on your server and is only used to mint tokens. Tokens carry user identity, permissions, and optional attributes for row-level security.


When to use this

Use this page when implementing token-based embed access or reviewing embed security for a security questionnaire.


Token properties

PropertyBehavior
EncryptionTokens are encrypted (JWE, AES-256-GCM)
LifetimeShort-lived — default one hour
ContentsOrganization, embed user identity, permissions, optional attributes
API keysNever exposed in the browser; server-side only

Each API key has a cryptographically isolated signing/encryption context so tokens from one key cannot be decrypted with another.


Best practices

  • Generate tokens on your backend after you have authenticated the end user.
  • Refresh tokens before expiry for long-lived sessions.
  • Minimize token payload: only attributes required for RLS and product behavior.
  • Never embed API keys in frontend code, mobile apps, or public repositories.
  • Combine tokens with row-level security on all sensitive data.

On this page