Security and assurance
What has been audited, and by whom.
Scopes are stated exactly. A firm is never named against work it did not do, and where a scope excludes something we say so.
Independent audits
Reports are available on request from [email protected]. The one report published in full today is the zk-ID audit.
- NethermindNM-0756May 2026
Shield and Aztec bridge contracts, on Ethereum L1 and Aztec L2 Noir. All issues resolved.
- Hexens2024
Clean Hands zero-knowledge circuits.
- Halborn2024
Human Network MPC threshold cryptography. Not the bridge contracts, and not the zero-knowledge circuits.
Available on request
- Cure53, Hexens, Least Authority, Halborn
Wallet Protocol code audits, covering two-party computation signing, the policy engine, the SDK and the CLI. Published as a set: the source does not record which firm covered which component.
- Anderson Software, Distrust
Additional Wallet Protocol security engagements. These were engagements rather than code audits, and we keep that distinction.
The source of record is docs.human.tech/security-and-audits. For a report not published above, write to [email protected].
Who holds the keys.
A sovereign deployment signs with its own keys
The issuing authority holds the signing keys. We never hold the authority to issue on a state’s behalf.
The registry stays the system of record
Credentials are held by the person on their own device. There is no central directory of documents to query.
Wallet signing takes two parties in Squid Mode
In the human.tech Wallet Protocol’s Squid Mode, a signature needs our enclave and the Ika validator network together, so no single party can produce one. Standard accounts sign inside a single enclave, which removes the seed phrase but is not the same guarantee. See protected self-custody.
What we do not have yet.
Stated because a reviewer who finds no mention assumes it is being hidden.
- SOC 2 or ISO 27001
- We hold neither today. If your procurement requires one, tell us and we will say where we are rather than guess at a date.
- A public bug bounty
- Not running one yet. Reports still reach the same people, at the address below.
- Severity counts
- We do not publish them. A count without the report behind it invites a comparison that means nothing.
Data, disclosure and availability.
The questions a privacy function asks first. Three have answers and three do not yet, and the ones that do not are named rather than left for you to find.
- What is actually stored
- Encrypted ciphertext, held so a disclosure rule can be executed later. We do not say nothing is stored, because that would be false: the point is that it is unreadable without the disclosure path below, not that it does not exist.
- What is written to a ledger
- Proofs and revocation state. No personal data, in plaintext or as a hash — a hash of a known value is not anonymised, and a ledger does not forget. The credential itself stays on the holder’s device.
- Erasure against ledger permanence
- A deletion request destroys the ciphertext and the key material that would decrypt it, which makes the retained proof unlinkable to a person. What cannot be deleted is the proof’s existence on-chain, which is why no personal data goes there in the first place.
- Who can compel a disclosure
- Today, a single allowlisted decryptor, under a rule written before the fact rather than at the moment it is invoked. Distributing that authority across independent parties is roadmap, not shipped, and a reviewer should treat it as such. It is not a backdoor and we will not defend it as one: the limit is that a state which can compel the decryptor can compel the disclosure.
- Data residency, and a legal opinion
- We do not have a published residency statement or a named legal opinion to point you at yet. If your review needs either, ask and we will tell you what exists rather than describe something that does not. The contracting entity is Holonym Foundation, a Delaware public benefit corporation.
- Availability, not just compromise
- Two required signers means two liveness dependencies. If our enclave or the Ika validator network is unreachable, a Squid Mode signature does not complete — it fails rather than falling back to one party, which is the safe direction but is still downtime. We publish no SLA today.
Found something? Tell us directly.
Reports go to the people who maintain the code, not to a ticket queue.