Skip to content

Your agent gets access, not the keys.

Vendor keys stay encrypted in a vault, money will stay with the card issuer, and nothing happens without a record you signed with your passkey.

Who holds what

  1. You

    Your passkey

    It approves every sheet and signs every record. No one approves for you.

  2. Your agent

    A short-lived token

    Scoped to what you approved, used through Suffect's proxy, revocable at once.

  3. Suffect's vault

    The vendor key, encrypted

    A data key per credential, wrapped by a master key held apart from the database, opened only to forward a call.

  4. The card issuer

    Card numbers and funds

    Suffect never stores them: a card number is fetched from the issuer at checkout and held in memory only. The card program is being set up.

  5. The vendor

    Your account

    In your name, with the vendor as the merchant of record.

Six rules the code keeps

Reviewed before it ships

  1. One list of sensitive paths

    The gateway, the runner, the vault, consent, OAuth, the ledger and this site's key-set proxy are named in one file in the repository.

  2. A threat-model diff with every change to them

    What is at risk, what changed in the mitigations, and what was tested, written before the change merges.

  3. An internal audit

    An internal audit of the whole codebase on 2026-10-15; every finding was fixed in ten pull requests.

Where things stand

Done means running on staging, as of 2026-10-20. Found a security problem? Write to hello@suffect.com.