Proofet Atlas 0.1.0 is a release-scoped vocabulary for describing digital identity credential artifacts without conflating their format, declared capabilities, or evaluated assurance. It was published on 25 August 2026 with a known-value cutoff of 24 August 2026.
The release is complete for its declared scope: every characteristic has a stable identifier and a complete value model, and every closed value set is enumerated. It is not a claim that every private, experimental, historical, or future credential technology is known.
Why a faceted taxonomy
A credential is not adequately described by one format label. A W3C Verifiable Credential can use different serializations and securing mechanisms, participate in different exchange protocols, and provide different disclosure or binding capabilities. None of those declarations establishes that a verifier has checked its signature, status, issuer authority, or suitability for a use.
Atlas therefore separates three groups:
| Group | Question | Boundary |
|---|---|---|
| A: Intrinsic classification | What is the artifact and how is it represented? | Observation does not establish authenticity or conformance. |
| B: Declared mechanisms and context | What capabilities or protocol context are visible? | Presence does not prove correct construction or achievement. |
| C: Evaluated assurance | What did an analyzer actually check? | Every result names its scope, evidence, status, and limitations. |
Characteristic map
| ID | Stable identifier | Characteristic |
|---|---|---|
| A1 | atlas.artifact.kind |
Artifact kind |
| A2 | atlas.credential.family |
Credential family |
| A3 | atlas.credential.model_and_profile |
Model version and credential profiles |
| A4 | atlas.representation.serialization |
Serialization |
| A5 | atlas.representation.security_envelope |
Security envelope and representation |
| A6 | atlas.claims.topology |
Subject and claim topology |
| A7 | atlas.credential.lifecycle |
Lifecycle and external dependencies |
| A8 | atlas.semantics.definition |
Schema and semantic definition |
| A9 | atlas.credential.domain |
Credential domain and intended purpose |
| B1 | atlas.mechanism.cryptography |
Cryptographic mechanism |
| B2 | atlas.mechanism.selective_disclosure |
Selective disclosure |
| B3 | atlas.mechanism.key_discovery |
Key discovery and resolution |
| B4 | atlas.mechanism.holder_binding |
Holder and presentation binding |
| B5 | atlas.mechanism.credential_status |
Status and revocation mechanism |
| B6 | atlas.context.exchange_protocol |
Issuance and presentation protocol |
| C1 | atlas.assurance.decoding |
Detection and decoding |
| C2 | atlas.assurance.structure |
Structural analysis |
| C3 | atlas.assurance.conformance |
Semantic and profile conformance |
| C4 | atlas.assurance.cryptography |
Cryptographic verification |
| C5 | atlas.assurance.status |
Credential status and currency |
| C6 | atlas.assurance.trust |
Issuer authority and trust |
| C7 | atlas.assurance.binding |
Holder and session binding verification |
| C8 | atlas.assurance.privacy |
Privacy and disclosure analysis |
| C9 | atlas.assurance.fitness_for_purpose |
Fitness for purpose |
Four value models
Atlas uses the value model appropriate to each characteristic:
- Closed characteristics enumerate every permitted Atlas value.
- Registered characteristics list known entries while preserving unmatched external identifiers literally.
- Structured characteristics report topology, lifecycle, binding, or other observations as typed fields rather than flattening them into labels.
- Evaluated characteristics record checks that were actually performed.
There is no generic other value. unknown means classification was not
possible, while none_detected means a supported inspection completed and found
no mechanism. Versions remain separate from identifiers, and published codes
never change meaning.
Dimension reference
The tables below are the human-readable reference for this release. Closed sets list every permitted Atlas value. Registered sets list the values known at the release cutoff while allowing exact external identifiers to be retained. Structured dimensions list their fields and controlled sub-values. The registry remains the canonical machine-oriented definition.
A1. Artifact kind
Model: closed · Cardinality: one
| Value | Meaning |
|---|---|
credential |
Claims issued about one or more subjects. |
presentation |
Credentials or derived claims assembled for a verifier. |
disclosure |
Data revealing a selectively disclosable element. |
binding_proof |
Proof binding a holder, presenter, or transaction. |
certificate |
A public-key and identity binding certificate. |
unknown |
No in-scope artifact kind could be established. |
Protocol messages are context for B6, not A1 artifact values.
A2. Credential family
Model: closed · Cardinality: zero or one
| Value | Meaning |
|---|---|
w3c_vc |
W3C Verifiable Credentials Data Model credential. |
sd_jwt_vc |
IETF SD-JWT-based Verifiable Credential. |
iso_mdoc |
ISO/IEC 18013-5 or ISO/IEC 23220 mobile document. |
anoncreds |
Hyperledger AnonCreds credential or proof family. |
x509 |
ITU-T X.509 and IETF PKIX certificate. |
unknown |
No registered family was established; literal identifiers are retained. |
Profiles, products, protocols, and ecosystem names are not credential families.
A3. Model version and credential profiles
Model: structured and registered · Cardinality: one model and zero or more profiles
The model records family, literal version, evidence, and one status:
| Model status | Meaning |
|---|---|
declared |
The artifact states the version directly. |
inferred |
The version follows from recognized format evidence. |
conflicting |
Available declarations identify incompatible versions. |
unknown |
No model version was established. |
Each profile retains its exact identifier and uses these controlled fields:
| Field | Values and meaning |
|---|---|
identifier_kind |
vct, doctype, type, context, schema, credential_definition, certificate_policy, or unknown: where the identifier was observed. |
registry_status |
registered: a versioned recognition rule matched; unregistered: no rule matched; ambiguous: evidence matched more than one rule. |
registry_key |
Stable Atlas profile code, or null when unregistered. |
authority |
Canonical authority responsible for the profile. |
Known profile keys at the cutoff are:
| Registry key | Meaning |
|---|---|
atlas.credential.profile.eudi_pid |
European Digital Identity Person Identification Data. |
atlas.credential.profile.iso_mdl |
ISO mobile driving licence. |
atlas.credential.profile.iso_photo_id |
ISO photo identification document. |
atlas.credential.profile.openbadges |
1EdTech Open Badges 3.0. |
atlas.credential.profile.learner_credential |
1EdTech Comprehensive Learner Record. |
atlas.credential.profile.ebsi_vc |
EBSI Verifiable Credential profile. |
atlas.credential.profile.icao_dtc |
ICAO Digital Travel Credential. |
Recognition is classification; C3 separately records profile conformance.
A4. Serialization
Model: closed · Cardinality: one or more layers, outermost to innermost
| Value | Meaning |
|---|---|
json |
JSON without established JSON-LD processing. |
json_ld |
JSON using the JSON-LD processing model. |
cbor |
Concise Binary Object Representation. |
anoncreds_json |
AnonCreds-specific JSON structure. |
asn1_der |
ASN.1 Distinguished Encoding Rules. |
unknown |
Serialization could not be established. |
Base64url and PEM are transfer encodings recorded as evidence. JWS and COSE are security envelopes under A5.
A5. Security envelope and representation
Model: structured and closed · Cardinality: one or more layers
Each layer records a kind, variant, literal media_type, evidence, and a
payload relationship: detached (payload external), embedded (payload inside
the envelope), enveloping (artifact wraps another artifact), derived
(presentation derived from an issued credential), zero_knowledge (proof hides
input data), none (no envelope), or unknown.
| Kind | Variants | Meaning |
|---|---|---|
unsecured |
plain_object |
No securing envelope was detected. |
embedded_proof |
data_integrity, legacy_linked_data_proof, proof_set, proof_chain |
Proof material is embedded in the credential object. |
jws |
compact, json, legacy_nested_vc_jwt, direct_payload_vc_jwt, sd_jwt, sd_jwt_kb |
JOSE signs or carries the payload. |
cose |
sign1, sign, mac0, mac, encrypt0, encrypt, mdoc_issuer_auth, mdoc_device_auth |
COSE signs, authenticates, or encrypts the payload. |
derived_proof |
bbs_derived, ecdsa_sd_derived |
Proof was derived for selective disclosure. |
zk_credential_proof |
anoncreds_proof, cl_signature_proof |
Zero-knowledge credential proof. |
unknown |
literal type or media type retained | No registered envelope kind was established. |
A6. Subject and claim topology
Model: structured · Cardinality: one
| Field | Controlled values and meaning |
|---|---|
subject_count_status |
exact: complete count; lower_bound: at least this many; indeterminate: count cannot be established. |
subject_identifier_presence |
all, some, none, or indeterminate: how completely subjects carry identifiers. |
holder_subject_relationship |
same, different, mixed, not_declared, or indeterminate. |
bearer_orientation |
bearer, holder_bound, claims_bound, mixed, or indeterminate. |
claim location |
credential, presentation, disclosure, binding_proof, certificate, or unknown. |
claim value_type |
null, boolean, integer, number, string, binary, object, array, or unknown. |
claim cardinality |
one, zero_or_one, one_or_more, zero_or_more, or unknown. |
The structure also records every observed subject identifier, claim path and name, disclosure state, subject relationships, measured depth, and whether the measurement is partial.
A7. Lifecycle and external dependencies
Model: structured · Cardinality: one
Declared start and end times remain available literally and in normalized form.
| Window state | Meaning |
|---|---|
within_declared_time_window |
Evaluation time is within the declared interval. |
before_declared_start |
Evaluation precedes the declared start. |
after_declared_end |
Evaluation follows the declared end. |
indeterminate |
Available dates do not establish a state. |
not_declared |
No usable time window was declared. |
Each dependency retains its identifier and uses:
| Field | Values |
|---|---|
kind |
status, schema, evidence, terms_of_use, refresh_service, context, verification_method, related_resource, issuer_metadata, trust_registry, unknown |
availability |
embedded, supplied, resolved, not_resolved, resolution_failed, not_applicable |
integrity |
verified, failed, declared_not_checked, not_declared, not_applicable |
Availability says whether data was obtained; integrity says whether its authenticity or digest was checked. They are independent.
A8. Schema and semantic definition
Model: structured and closed · Cardinality: zero or more
| Value | Meaning |
|---|---|
json_ld_context |
JSON-LD context defines term semantics. |
json_schema |
JSON Schema constrains shape or values. |
anoncreds_schema |
AnonCreds schema defines credential attributes. |
iso_namespace |
ISO namespace and document type define mdoc elements. |
credential_metadata |
Issuer or credential configuration metadata supplies definitions. |
profile |
A recognized or literal A3 profile supplies constraints. |
proprietary |
A private identifier or authority supplies definitions. |
none_detected |
Supported inspection found no definition mechanism. |
unknown |
A declaration was observed but not recognized. |
Processing history uses declared, resolved, integrity_checked, applied,
failed, and not_checked; observing a definition never implies it was applied.
A9. Credential domain and intended purpose
Model: structured and closed · Cardinality: zero or more
| Value | Meaning |
|---|---|
identity |
General identity or identifying attributes. |
education |
Education, qualification, or learning achievement. |
employment |
Employment status, role, or work history. |
professional_licensing |
Regulated professional licence or entitlement. |
authorization |
Permission, delegation, access, or capability. |
health |
Health status, care, or clinical information. |
finance |
Financial identity, account, transaction, or eligibility. |
membership |
Membership or affiliation. |
compliance |
Regulatory, audit, or policy compliance. |
device |
Device identity, state, or attestation. |
supply_chain |
Product provenance or supply-chain state. |
travel |
Travel document or border-crossing use. |
residency |
Residence, address, or residency status. |
age |
Age or age-threshold assertion. |
unknown |
Domain was not established. |
Each observation reports basis (declared, context_supplied, inferred, or
unknown), confidence, evidence, and optional literal purpose. Domain does not
establish C9 fitness for purpose.
B1. Cryptographic mechanism
Model: structured and registered · Cardinality: zero or more
| Field | Values and meaning |
|---|---|
operation |
signature, mac, commitment, zero_knowledge_proof, key_agreement, encryption, digest, or unknown: the cryptographic operation represented. |
container |
data_integrity, jws, cose, x509, anoncreds, mdoc, or unknown: where the mechanism is carried. |
registry_status |
registered: recognized value; unregistered: literal not registered; ambiguous: evidence does not select one value. |
Items also retain literal proof type, algorithm, cryptosuite, verification
method, transformation, and digest identifiers. Registered Data Integrity
cryptosuites are eddsa-rdfc-2022, eddsa-jcs-2022, ecdsa-rdfc-2019,
ecdsa-jcs-2019, ecdsa-sd-2023, and bbs-2023. Registered proof types include
DataIntegrityProof and Ed25519Signature2020. JOSE, COSE, and X.509 values
remain exact external identifiers rather than copied closed enums.
B2. Selective disclosure
Model: structured and closed · Cardinality: one
| Field | Values and meaning |
|---|---|
capability |
present, absent, indeterminate, not_applicable. |
granularity |
claim, nested_claim, object, array_element, namespace, predicate, or unknown: smallest selectable unit. |
current_disclosure |
full, selective, none, indeterminate, or not_applicable: what this artifact reveals. |
commitments |
present, absent, indeterminate, or not_applicable: whether hidden values remain committed. |
unlinkability |
claimed, not_claimed, conditional, indeterminate, or not_applicable. |
| Mechanism | Meaning |
|---|---|
sd_jwt_salted_hash |
Salted-hash SD-JWT disclosures. |
data_integrity_bbs_derived |
BBS-derived Data Integrity proof. |
data_integrity_ecdsa_sd_derived |
ECDSA-SD-derived Data Integrity proof. |
mdoc_issuer_signed_item |
Selection of issuer-signed mdoc elements. |
anoncreds_attribute_reveal |
Selective reveal of AnonCreds attributes. |
anoncreds_predicate_proof |
AnonCreds predicate proved without revealing its input. |
atomic_credential |
Whole credential is the minimum disclosure unit. |
unknown |
Mechanism could not be classified; literal evidence is retained. |
Disclosed paths and measurable undisclosed counts are recorded separately.
B3. Key discovery and resolution
Model: structured and registered · Cardinality: zero or more
| Method | Meaning |
|---|---|
did_url |
Verification method identified by a DID URL. |
controlled_identifier_document |
Controlled Identifier Document supplies material. |
jwk |
JSON Web Key embedded or supplied directly. |
jwks |
JSON Web Key Set lookup. |
x509_embedded |
Certificate embedded in the artifact. |
x509_url |
Certificate retrieved from a URL. |
x509_pki |
PKIX path-building or trust-store discovery. |
cose_key |
COSE key material. |
anoncreds_credential_definition |
AnonCreds credential definition. |
trusted_registry |
Configured trusted registry lookup. |
local_key |
Locally configured verification material. |
unknown |
Discovery method was not classified. |
Material format is jwk, multikey, cose_key, x509,
anoncreds_credential_definition, or unknown. Resolution status is
not_attempted, resolved, not_found, failed, blocked, or
not_applicable. Resolution locates candidate material; it does not establish
authorization or trust.
B4. Holder and presentation binding
Model: structured and closed · Cardinality: one
Every binding property independently reports declared, not_declared,
indeterminate, or not_applicable.
| Property | Registered mechanisms |
|---|---|
| Credential binding | confirmation_key, subject_key, device_key, link_secret, claims_binding, biometric_binding, bearer, unknown |
| Proof of possession | kb_jwt, vp_data_integrity_proof, vp_jws, mdoc_device_auth, anoncreds_proof, issuance_key_proof, unknown |
| Presentation binding | credential_digest, disclosure_digest, derived_proof, session_transcript, presentation_proof, unknown |
| Audience binding | aud_claim, domain, client_id, origin, session_transcript, unknown |
| Challenge binding | nonce_claim, challenge, session_transcript, unknown |
| Freshness | issued_at, not_before, expiration, nonce, one_time_use, transaction_state, unknown |
The property names state what is bound; the mechanism states how. Detection is not C7 verification.
B5. Status and revocation
Model: structured and registered · Cardinality: zero or more
| Value | Meaning |
|---|---|
bitstring_status_list |
W3C Bitstring Status List. |
status_list_2021 |
W3C StatusList2021. |
token_status_list |
IETF Token Status List. |
anoncreds_revocation_registry |
AnonCreds accumulator revocation registry. |
x509_crl |
X.509 Certificate Revocation List. |
x509_ocsp |
Online Certificate Status Protocol. |
online_issuer_check |
Issuer-specific online status endpoint. |
short_lived_only |
Profile relies explicitly on short credential lifetime. |
none_detected |
Supported inspection found no mechanism. |
unknown |
Status declaration was not recognized. |
Purpose is revocation, suspension, message, unknown, or a retained
literal extension. Evaluation status is not_checked, good, revoked,
suspended, invalid, indeterminate, or not_applicable.
B6. Issuance and presentation protocol context
Model: structured and registered · Cardinality: zero or more
| Value | Meaning and known stages |
|---|---|
openid4vci |
OpenID4VCI: offer, authorization, token, credential request/response, deferred, notification. |
openid4vp |
OpenID4VP: authorization request, presentation request/response, Digital Credentials API. |
presentation_exchange |
DIF presentation definition or submission. |
didcomm_aries |
DIDComm/Aries issue-credential or present-proof exchange. |
iso_mdoc_proximity |
Device retrieval, engagement, or proximity session. |
iso_mdoc_online |
Server retrieval, OpenID4VP, or Digital Credentials API. |
chapi |
Credential Handler API store or get operation. |
digital_credentials_api |
Browser Digital Credentials API get or create operation. |
proprietary |
Non-standard protocol; literal identifier is required. |
unknown |
Protocol was not classified; literal evidence is retained. |
Basis is enclosing_message, endpoint, caller_supplied, or inferred.
A bare credential does not establish exchange history.
Assurance value model
All C dimensions use the same evaluated contract. They do not contain static classification values; they contain results from checks that actually ran.
| Status | Meaning |
|---|---|
pass |
The precisely scoped check ran and passed. |
fail |
The check ran and its rejection condition was met. |
warning |
The check ran and found a bounded concern that is not a definitive failure. |
not_checked |
The operation was not performed. |
not_applicable |
The operation does not apply to this artifact or decision. |
Every result also includes a stable check id, characteristic, precise scope,
versioned ruleset or null, evidence, detail, limitations, and evaluation
time. The registered subjects below describe what a check can evaluate; they do
not imply that a particular analyzer implements every subject.
C1. Detection and decoding
artifact_detection identifies the artifact; serialization_decoding parses
its encoding; envelope_decoding opens its security container;
payload_extraction obtains the protected content; and disclosure_decoding
reconstructs disclosed elements.
C2. Structural analysis
required_fields checks presence; value_shapes checks data forms;
cardinality checks counts; date_syntax and date_ordering check temporal
structure; envelope_payload_consistency compares wrapper and payload; and
extension_shape checks extension structures.
C3. Semantic and profile conformance
Check subjects are data_model, context, vocabulary, schema,
credential_profile, media_type, algorithm_constraints, and
normative_rules. A result must identify the exact specification and version
used as its ruleset.
C4. Cryptographic verification
Check subjects are signature, mac, disclosure_digest, derived_proof,
zero_knowledge_proof, key_authorization, and certificate_path. Recognizing
an algorithm under B1 is not a C4 result.
C5. Credential status and currency
Check subjects are time_window, revocation, suspension,
status_integrity, status_freshness, certificate_status, and
lifecycle_policy. A time-window pass does not imply a revocation pass.
C6. Issuer authority and trust
Check subjects are issuer_identity, issuer_authority, trust_anchor,
trust_registry, governance, accreditation, and authorization_chain.
Signature validity alone does not establish issuer authority.
C7. Holder and session binding verification
Check subjects are credential_binding, proof_of_possession,
presentation_binding, audience, challenge, freshness, and
replay_protection. Declared B4 mechanisms remain unverified until these checks
run.
C8. Privacy and disclosure analysis
Check subjects are sensitive_claims, stable_identifiers,
disclosure_minimization, correlation, external_tracking, policy_excess,
and unlinkability. Privacy findings are scoped to the supplied artifact,
policy, and observation context.
C9. Fitness for purpose
C9 applies a named, versioned verifier policy. Its decision outcome is
acceptable, rejected, or indeterminate. Outcome is separate from execution
status: a correctly executed policy can have status: pass and
outcome: rejected. Results also record purpose, jurisdiction, required and
missing evidence, and decision rationale.
Classification is not assurance
An algorithm declaration belongs to B1. It does not produce a C4 cryptographic verification result. A status-list reference belongs to B5. It does not show that C5 retrieved, authenticated, and evaluated the current status. Likewise, recognizing a credential profile under A3 does not establish C3 conformance.
This boundary is the central compatibility rule of Atlas: evidence supports only the observation or check that cites it.
Release artifacts
The immutable package contains the conceptual taxonomy, complete registry, release notes, a digest manifest, and JSON Schema Draft 2020-12 contracts for registry entries, classification assertions, assurance results, and release manifests.
- Release notes
- Conceptual taxonomy
- Taxonomy registry
- Release manifest
- Classification assertion schema
- Assurance result schema
The manifest records SHA-256 digests for every payload file. The intended Git
tag is atlas-v0.1.0.
Implementation status
Atlas 0.1.0 defines the target information model independently of the current Proofet API. The API currently implements a bounded subset and does not yet emit all 24 characteristics. An API response should claim Atlas 0.1.0 compatibility only after its response contract and behavior have been validated against this release.
Future compatible corrections will use patch releases. Before 1.0.0, minor releases may add, deprecate, or refine characteristics and structured contracts; deprecated codes will not be reused.