Skip to main content

API keys

Use project-scoped FaceTime API keys from your backend. Keys are displayed once, stored as hashes, and can be revoked. Use read scopes for read-only access and write scopes for mutations.

Webhooks

Signing is optional and new integrations default to unsigned. Enable signing and verify the HMAC-SHA256 signature over the raw request body. Store the signing secret separately from your API key. See Webhooks.

Bring Your Own Room

Keep your LiveKit API key and secret on your backend. Give Chert only a fresh room-scoped participant token for each call. Chert seals those credentials, restricts redemption to the authorized worker command, and scrubs them during terminal cleanup. Single-use credential redemption does not make the underlying LiveKit JWT inherently single-use. Restrict its permissions and validity window, and do not log it.

Caller identity

The incoming webhook exposes from_handle_hash, which may be null, rather than promising the raw caller handle. Do not treat this value as proof of a caller’s identity.

Retained records

Call records and operational events may remain after room credentials are removed. Token expiry is not a guarantee that all call data has been deleted. Confirm retention and any transcript requirements with Chert before collecting sensitive conversation data.

Hosted Sessions

Hosted Sessions is proposed. Use the documented BYOR credential flow for the current integration.