Skip to content
Menu

Security

Don't trust our claims. Inspect the design.

A new identity system has to earn trust. Everything below is either enforced by code you can read or listed honestly as a risk we still carry.

What holds, and where in the code

Each row of the threat model names the function that enforces it.

What we do not claim

The risks we still carry

The index operator is trusted for routing
The operator can send a challenge for any site to any device, and could mint a token for a site that does not verify the double-signed assertion. The person still has to approve on the phone with the match code shown. If that trust is unacceptable, run the index yourself; it is the same code.
Hardware-isolated keys are planned, not shipped
Keys sit behind the platform keychain or keystore and the device biometric. Secure Enclave and StrongBox wrapping is on the roadmap. Until it ships the app never claims a hardware-isolated key: the amr claim reports only what verified the person.
No external audit yet
The threat model is public and every line of code is open, but nobody outside the project has reviewed it. An independent review is planned before 1.0. Until then, read the code rather than our claims.
The recovery phrase is the only recovery
Lose the phone and the 24 words and the identity is gone. That is deliberate: nothing at Identizen can vouch for a person, so nothing at Identizen can be tricked into handing an identity over.

Found something?

Report it privately. We acknowledge within two business days and publish a fix plan within ten for anything affecting the hosted index, the apps, or the protocol. Credit is yours if you want it.

/.well-known/security.txt · SECURITY.md · GitHub private advisories

Report a vulnerability