psd

A self-hostable AAuth Person Server — which agents may act for you, at which resources, and on what terms.

sandboxIdentity & securityMIT
v0.1.0
released, multi-arch image
1
static binary, SQLite
0
external JS, no SPA
draft-11
AAuth spec tracked

psd implements the Person Server role of the AAuth protocol family (IETF drafts): it represents a person to AI agents. Where apd answers "what is this agent?" by issuing its cryptographic identity, psd answers "whose is it, and what may it do?" — it issues person tokens and auth tokens, runs consent with passkeys, and records the terms under which an agent may act at a given resource. Both are needed for an agent to act on someone's behalf; neither replaces the other.

Consent is the product. A person approves an agent for a mission, scopes it to resources, and can withdraw it; the tokens that result carry that decision to relying parties, which verify it statelessly. Missions and four-party federation let the same model span operators, so a person's grants follow them across services rather than being re-negotiated per silo.

It ships the way the rest of the stack does: one Rust binary, distroless image, SQLite by default, no SPA and no external JavaScript — the consent UI is plain server-rendered HTML that a passkey can sign. v0.1.0 is released as a multi-arch image and an OCI Helm chart, and it is labeled a sandbox project for the same honest reason apd is: the draft it tracks is still moving.

In the stack, psd is the governance half of the identity layer — the piece that keeps a human in the loop.

Related projects