Security you can read
How you get in, what a credential reaches, what gets written down, and where the keys live — each one a mechanism you can point at in the source. Ask for the detail your review needs and we will send it.
What you can read, and what you can ask for
The two documents a review opens first are published — read them now, no email. The other four we send on request: the questionnaire, the review session and the control detail come back the same week.
Where we stand today
We run the controls those audits examine, and this page is the evidence — every mechanism below was read in the source before it was written here. Bring your questionnaire and we will answer it against the code rather than against a summary of it.
On the frameworks themselves, plainly, because a security reviewer establishes this in one email and it should not cost you the email: Hanzo does not hold SOC 2, ISO 27001, or FedRAMP today. Formal certification is scoped per enterprise engagement — tell us which framework your process runs on and what your reviewer needs to see, and we will scope it with you.
If a control you need is not on this page, ask. Where we have it we will show you the code, and where we do not you will get a straight answer the same day.
Getting in
One service issues every credential. Hanzo IAM is the only thing that holds a password or runs a login, and nothing else in the stack has its own.
What a credential reaches
Naming a resource and authorizing it are separate questions. Containment names; grants authorize.
Keeping organizations apart
A tenancy boundary that only exists in a WHERE clause is one bug from being nothing.
What gets written down
An audit trail is the one control a reviewer can test rather than take on faith, so it is worth saying exactly what is in it.
Keys
Where a key comes from, and who is able to hold one.
Status, stated plainly
So your reviewer can establish this here rather than by asking, and so nothing on this page can be relied on that should not be.
Frameworks. We do not hold SOC 2, ISO 27001, FedRAMP, PCI DSS, or HITRUST today, and this page mirrors no audit platform. Certification is scoped per engagement — the fourth card above is how that conversation starts.
FIPS: our code implements published standards, ML-KEM and ML-DSA among them, but implementing a standard is not the same as holding a validation, and a 140-3 validation belongs to the vendor of a module rather than to us. Nor do we run one today: signing happens in our own process, not inside an external module. If your deployment requires validated hardware custody, tell us and we will scope it with you rather than imply you already have it.
Passkeys. Passkey credentials can be stored and managed, but a passkey cannot complete a sign-in — the assertion ceremony is not in the build running today, so the login screen does not offer it, which is the only honest thing a login screen can do about a method the server cannot yet perform. Second factors that do work: an authenticator app, SMS, and email, with recovery codes.
Availability. An uptime number is a contractual commitment, so ours lives in the agreement where it has consequences rather than on a marketing page where it does not. Ask for the number your agreement would carry and we will put it in writing.
Found something
Send it to [email protected]. The same address is published at /.well-known/security.txt under RFC 9116, so a scanner finds it without reading this page. Tell us what you did and what came back; we do not need a proof-of-concept exploit to take a report seriously, and we will not threaten anyone who sends one in good faith.
For the mechanisms in more detail — encryption, infrastructure, what an enterprise agreement adds — see the security page.
Bring us the hard questions
Your questionnaire, your architecture review, your framework. We answer against the code, we move at the speed of your review, and you will always know which of those two you are getting.