Okta and Entra already offer passkeys. These are the differences that matter.
∅
No credential database to breach
The sign-in service holds nothing that proves who someone is. A stolen database or server can’t produce a login that a self-checking app will accept.
Postgres holds protocol state only: clients, codes, refresh families, SCIM cursors. Losing it logs people out; it doesn’t lose who works there.
⛓
A directory that can’t be quietly edited
Every hire, role change, and departure is a signed entry that needs several admins to approve. Auditors read the log instead of trusting screenshots.
Membership, roles, and device approvals live in the org provenance log. An m-of-n lock script enforces the admin quorum, so a compromised host cannot add itself an admin.
⚡
Leavers lose access in seconds
When HR marks someone as gone, every app hears about it within seconds and sessions end. Certificates are short-lived, so there’s nothing left to chase.
The org node streams new log heads to validators; the host revokes refresh tokens, sends CAEP session-revoked, and deprovisions through SCIM out.
☎
No more “reset my password”
There’s no password, so there’s no reset, and no help-desk call for an attacker to talk their way through. A lost phone is handled by identity proofing and admin approval.
Recovery is an org-quorum key rotation on the employee’s work VLAD after policy-selected identity proofing. It is a signed, visible log entry.
◇
One identity for every door
The same work identity signs people into web apps, servers, VPN and Wi-Fi, and lets services prove who they are to each other.
One work VLAD drives OIDC/SAML SSO, OpenSSH user certs, EAP-TLS, PKINIT, and SPIFFE SVIDs from vlad-ca.
⇋
Partner access without federation projects
A partner’s staff prove who they are with their own company’s log. You decide which roles you accept; there’s no per-partner setup project.
/partners/<org-vlad> in your org log replaces per-pair SAML federation; partner membership is checked against their org log.
⌂
You run it, and it outlives us
The service and the network it depends on run in your environment. Sign-in keeps working if the internet’s public network, or Cryptid, is down.
The org node pins your org and employee logs, optionally on a private network. Logs verify without any Cryptid service.
↔
Built for the stack you have
Your team customizes it in the language they already use, and the security-critical code is written once and shared by all of them.
Go, Java (Keycloak + Spring), C#/.NET (OpenIddict + Entra), and Python editions over one Rust core, gated by a shared conformance suite.