Documentation

Docs

Ensan ID protocol documentation

Ensan ID is a stateless public identity passport and proof resolver for human-controlled digital identity declarations.

The system is built around a simple separation:

  • The holder owns a private `.ensan` capsule.
  • The public resolver exposes only selected public data.
  • Verified bindings prove account or domain control at a specific time.
  • Verifiers and crawlers read structured resolver data instead of guessing from scattered profiles.

Core objects

Private capsule

The private `.ensan` capsule is generated and protected by the holder. It is not the public identity. It is the private proof root from which public commitments, proof packages, and selective disclosures can be derived.

Public resolver

The resolver is the public passport surface. It contains public commitments, selected claims, trust status, verified binding receipts, and machine-readable JSON.

Verified binding

A binding connects the resolver to an external public signal such as GitHub, ORCID, DNS, or a reciprocal link. The binding is tied to the resolver commitment and recorded as public evidence.

Proof package

A proof package lets a holder or verifier check consistency between a statement, public commitment, resolver hash, and controller key.

Stateless model

Stateless means Ensan ID does not need to store the private identity capsule. The service stores public resolver data and operational verification records, but the hidden identity bundle remains with the holder.

Zero-knowledge model

Zero-knowledge means the holder should be able to prove useful public facts without revealing unnecessary private data. V3 uses public commitments, selected declarations, hashed provider identifiers, and binding receipts to create a zero-knowledge proof posture. The architecture is designed for deeper formal zero-knowledge proofs and selective-disclosure credentials as the protocol evolves.

Verification model

Ensan ID verifies public bindings, not legal identity.

The current production binding classes are:

  • GitHub OAuth account-control binding.
  • ORCID OAuth authenticated identifier binding.
  • DNS TXT domain-control binding.
  • Reciprocal-link public profile binding.

Resolver JSON

Verifiers and crawlers should prefer `/p/{ensan_hash}.json` and `/p/{ensan_hash}/bindings.json` over scraping visual pages.

Resolver JSON separates:

  • `verified_bindings`
  • `self_asserted_claims`
  • `issuer_signed_claims`
  • `dispute_status`
  • `not_legal_identity`

Security boundary

Ensan ID does not prove legal identity, government identity, biological personhood, global uniqueness, or the truth of credentials unless those credentials are signed by trusted issuers and verified through a supported path.