Policy
The client asks for the type and a minimum level; the policy resolves level, steps and sources,
and the version applied goes in the receipt.
The policy turns what the client asks into steps a person completes. One global, versioned policy, which each client hardens in the dashboard; never below what the global one requires.
The policy is the rule that decides which steps each request requires; the level says how much certainty the request wants, and the steps are what the person completes on their phone.
Every policy change creates a new version, and the receipt carries the version applied: the auditor knows which steps were required that day. The policy never reads the content of the act context; it only compares values the client marked as comparable, and the receipt records which keys were read.
Levels
Description
The client asks for a minimum level; the policy resolves the effective level. Never below the requested minimum, never below the type default without an explicit, recorded override. The receipt carries the level reached, not the one requested.
0.0Level 0 · no new humanavailable
Verification of a valid mandate or of strong possession. No new presence: the proof is the mandate, not the person.
Minimum steps: mandate verification, result. It is the level of the delegated act, which resolves on the spot.
Delegated act1.0Level 1 · strong possessionavailable
Passkey, with consent: the short step-up, when the policy reuses a recent proof. Device attestation stays target architecture.
Minimum steps: context transparency, general consent, passkey, result.
2.0Level 2 · live presence and same personavailable
A living person, now, and the same one as the reference the client gave. Native presence and match, with consent per step.
Steps: context transparency, general consent, biometric consent, live presence with match, result. It is the policy in production.
Recurring presence3.0Level 3 · presence and civil identitytarget architecture
Level 2 plus civil identity through a plugged source: Serpro Datavalid, in accreditation; or a gold gov.br account plus Serpro.
Steps: those of level 2 plus the identity lookup. It is the level of onboarding, of grants and of signatures.
SourcesSteps
Description
Every step has a fixed id, which the journey renders and the receipt records with result and timestamp. The five in production do not change; new ones are born in the catalogue and only get a screen when the act type that uses them exists.
1.0Context transparencyavailable
The person sees what they are authorizing: the context the client sent, in the clear only for them. The receipt gets the hash and the list of declared keys.
2.0General consentavailable
Versioned text, accepted with a timestamp; the hash of the text and the version go in the receipt.
3.0Biometric consentavailable
Separate from the general one, before any capture. Without it, the result is not released.
4.0Live presence and matchavailable
Active challenge by a certified third-party component, and comparison with the client's reference, kept encrypted only while the act is open. Image and template are discarded; the result and the hash of the reference remain.
5.0Resultavailable
Positive, negative or inconclusive. Inconclusive is never terminal: it comes out of human review, and deciding requires presence proven on the spot by the person deciding.
The review follows a versioned protocol, served by the same server that applies it, with a closed justification vocabulary that cannot contradict the verdict. The third verdict, "insufficient", returns the act for a new attempt instead of concluding it.
6.0Civil identityin accreditation
Plugged source, labelled in the receipt. Serpro Datavalid in accreditation; the response is minimized, the raw data never leaves.
7.0Passkeyavailable
Possession of the device over WebAuthn, with user verification on it; nothing biometric reaches Hummand. Registered only after an approved presence.
8.0Federated account and attestationtarget architecture
gov.br over OIDC; device attestation. Adapters with mock and real contract, no screen yet.
9.0Scopeavailable
The scope of the mandate, shown and consented: actions, limits, validity, revocable. It is a step of the agent mandate and of the person mandate.
10.0Attached document and grantee's presenceavailable
The document by hash, sent at creation; the presence of the person receiving the mandate, as a second presence, when the client asks for it. Available since 0.28.0, in the person mandate.
11.0Mandate verificationavailable
The mandate verification of the delegated act, which resolves immediately.
12.0Legal signaturetarget architecture
ICP-Brasil, gov.br or the receipt as an advanced signature.
The policy today
Description
One global, versioned policy, which each client hardens in the dashboard, per act type. A client rule only hardens: never below what the global one requires.
1.0Global, hardened per clientavailable
The dashboard and the API read the effective policy: per type, the level, the steps, the deadline, the label and whether it is executable today, with the missing steps when it is not.
The Administrator turns types on or off, raises the minimum level and shortens the deadline; every edit is a new version, and the receipt carries the one that applied.
See Docs2.0Overrides by contextavailable
Conditions only over declared context keys, of primitive types: above a value, raise the level or require the enrolment photo. The rule never goes below the level of the type.
Hummand never reads the content of the context; it only compares values the client marked as comparable.
3.0Reuse of a recent actavailable
A window of up to 15 minutes: with a recent positive proof from the same person and an active passkey of theirs, the act is born at level 1 and asks only for the passkey. It applies to the transaction step-up and the operator's; recurring presence never reuses.
Without the passkey at hand, the person goes back to live presence in the same act and is never left without a way out.
4.0Attempts in the same actavailable
Attempts in the same act (up to 3) and the detour when they run out, to negative or human review.
5.0Exception escalationtarget architecture
Per-client exception-proof escalation stays target architecture, like the type.
What we don't doVerify a receipt
Paste the JSON and the public key. No account, nothing sent: it runs in your browser.
Open the verifier