VeriTrust Trust Policy

This page defines the governance, cryptography, issuance, accreditation, revocation, and privacy requirements VeriTrust applies when operating as a trust anchor for issuers (e.g., Neksus AI) and their agents. It is intended for security reviewers, relying parties, wallet implementers, and auditors.

Last updated: 2025-08-27. Version: 1.0.0

1. Trust Model & Roles

Roles

  • Trust Anchor: VeriTrust (issues accreditation VCs to issuers).
  • Issuer: e.g., Neksus AI (issues Agent VCs).
  • Holder / Agent: software agents with did:key identifiers.
  • Verifier: relying parties validating VCs and status.

Identifiers

  • VeriTrust DID: did:web:veritrust.vc
  • Issuer DIDs: did:web:<issuer-domain>
  • Agents: did:key:<multibase> (self-certifying)

2. Discovery & Endpoints

ArtifactURLNotes
DID Document (VeriTrust)/.well-known/did.jsonContains verification methods and services.
JWKS/.well-known/jwks.jsonPublic JWKs; kid matches DID vm id.
OID4VCI Issuer Metadata/.well-known/openid-credential-issuerWallet discovery for issuance.
Issuer Landing/issuerHuman entry point & service directory.
OAuth2 Token/oauth2/tokenSupports pre-authorized_code; authorization_code optional.
Credential Issuance/oidc/credentialIssues jwt_vc credentials (ES256K).
Status Lists/status/Publishes StatusList2021 credentials and bitstrings.
Policy (this page)/trust/policyHuman-readable governance & requirements.

3. Cryptography & Keys

Key suites
Primary: secp256k1 (JWK, JsonWebKey2020); Optional: Ed25519 for specific ecosystems.
JWT alg
ES256K for jwt_vc.
KIDs
JWT kid MUST equal DID verificationMethod.id (e.g., did:web:veritrust.vc#keys-1).
JWKS
Public keys mirrored at /.well-known/jwks.json.
Rotation
Planned rotation ≤ 12 months; emergency rollover immediate with overlap period where old and new keys are both published.
Verifiers MAY prefer DID resolution over JWKS; both SHOULD be consistent.

4. Accreditation of Issuers

VeriTrust issues Accreditation Credentials to issuers (e.g., Neksus AI) asserting eligibility to issue specific credential types.

{
  "type": ["VerifiableCredential","AccreditationCredential"],
  "issuer": "did:web:veritrust.vc",
  "credentialSubject": {
    "id": "did:web:neksus.ai",
    "accredited": true,
    "scope": ["AgentOwnershipCredential"]
  }
}

5. Issuance Policy (OID4VCI)

6. Revocation & Status

VeriTrust and accredited issuers publish StatusList2021 credentials and bitstrings. Marked bits indicate revoked/suspended entries. Relying parties MUST check status for credentials with a credentialStatus field.

{
  "credentialStatus": {
    "id": "https://veritrust.vc/status/agents-2025#12345",
    "type": "StatusList2021Entry",
    "statusListIndex": "12345",
    "statusListCredential": "https://veritrust.vc/status/agents-2025/status_vc.json"
  }
}
Status artifacts are cacheable; clients SHOULD honor cache headers and refresh periodically.

7. Verification Expectations

  1. Resolve issuer DID → obtain public key (DID vm or JWKS).
  2. Verify VC signature (ES256K) and check nbf/exp if present.
  3. Verify accreditation chain: VeriTrust → Issuer.
  4. Verify subject binding (holder proof and/or VC subject DID).
  5. Check credentialStatus if provided.
  6. Apply relying-party policy (scope, purpose, freshness).

8. Privacy & Data Protection

9. Security, KMS & Rotation

10. Interoperability

11. Changes & Contact

Material changes to this policy will update the version and "Last updated" date. Breaking cryptographic changes will be announced with at least 14-day overlap where possible.