Models
Failure Tempest 1All modelsStatus
Research
OverviewAPI fusionEvaluation
Developers
DocumentationConsoleChangelog
Company
PricingEnterpriseAboutSecurityContact
Account
Sign inCreate account
Home/Security
Security

Plain answers about your data

What we store, where it runs, how accounts are protected, and what we have not built yet. If you need more, write to hello@failure.fail.

Architecture

Where a request goes

01

Edge

Your request lands on Cloudflare Workers at api.failure.fail over TLS.

02

Key check

The key is matched against its stored hash. Accounts live in Cloudflare D1.

03

Router

The model router runs on the lab's own server and calls the upstream providers.

04

Providers

Upstream providers process prompts under their own terms.

Data handling

What we keep, and for how long

DataKeptWhy
Face templates, encrypted (only if you turn on face check) — never photos or videoUntil you remove face checkSecond factor, or face-only sign-in on a device you trusted
Request metadata: model, token counts, cost, timingBilling recordsTo bill you and enforce spend caps
Response cache1 hourServe exact repeats at cached rates
Conversation-prefix hashes1 hourBill resent earlier turns at the cached-input rate
Pre-answer briefs24 hoursAvoid re-briefing the same task
Request content beyond those cachesNot stored—
API traffic for trainingNever used—

Send x-tempest-cache: off to bypass the response cache on any request.

Accounts

Failure ID, locked down

Hashed passwords

Passwords are stored as PBKDF2 hashes, never in plain text.

Two-factor

TOTP authenticator codes with one-time recovery codes for when you lose the phone.

Passkeys

WebAuthn passkeys. We store only the public key.

Revocable sessions

Every signed-in session is listed in the console, with its device, and can be revoked in one click.

Audit log

Sign-ins, factor changes and key events are recorded in your account audit log.

Invite-only accounts

Nobody can create a Failure ID without an invite key the lab issued. Keys can be single-use, expire, and be revoked; every account records which key created it.

GitHub and Google sign-in are available once they are configured. Staff mail at mail.failure.fail requires two-factor.

API keys

Shown once. Stored hashed.

A key is displayed a single time when you create it, then kept only as a hash. If you lose it, revoke it and make another. Give every key a monthly spend cap so a leaked key has a ceiling.

Key hygiene

  • One key per service and environment.
  • Keep keys in a secret manager or environment variable, never in client code.
  • Set a spend cap on every key.
  • Revoke keys you no longer use.
Honesty

What we do not have

We are a small lab. We do not hold a SOC 2 report, and we do not offer SAML SSO or SCIM; all three are on the roadmap. We do not offer an uptime SLA. We would rather tell you this here than in the middle of a review.

Report a vulnerability

Found something?

Write to us with the details and steps to reproduce. Please give us a fair chance to fix it before you publish.