Architecture

Signet has five parts. The person's secret never leaves their device, and each business checks every request on its own server.

The parts

PartRun byWhat it does
DeviceThe personChecks the identity document, holds the person's secret and keys, and makes every proof. The secret exists nowhere else.
RegistrySignetKeeps the list of enrolled people, which holds no name or document data, and publishes signed checkpoints of it.
WitnessesIndependent parties or businessesCheck every change to the registry and co-sign each checkpoint.
AI agentThe person, with Signet AgentActs for the person under a limited, signed permission. Never holds the person's identity.
BusinessThe business, with the Merchant SDKSays which of its actions need Signet, checks each request on its own server and applies its rules per person.

Signet runs the registry only. It is not on the path between an agent and a business.

How they connect

Shared registryThe personThe businessRegistryWitnessesDeviceBusinessAI agent1 Enroll2 Co-sign3 Checkpoints4 Session5 Permission6 Signed requests
  1. Enroll. Once per person, the device proves to the registry, with a zero-knowledge proof, that the person holds a genuine identity document. The registry adds an entry that holds no name or document data.
  2. Co-sign. On a schedule, the registry signs a checkpoint, a snapshot of its entries. The witnesses check every change since the last checkpoint, including the proof behind each new entry, and co-sign it.
  3. Checkpoints. Devices and businesses accept only co-signed checkpoints, so all of them see the same registry.
  4. Session. Once per business, the device proves that the person is in the registry, without showing which entry is theirs. The business receives the person’s private identifier.
  5. Permission. The device signs a short-lived permission for the agent’s own key: which actions it may take, how many times and until when.
  6. Signed requests. The agent signs every request and sends it with its permission. The business checks both on its own server, applies its rules per person and answers ALLOW or DENY.