Skip to main content
ID Wispera uses a passport/visa metaphor to model credential governance. This document explains the core concepts.

Overview

Just as a physical passport establishes identity and visas grant permission to enter countries, ID Wispera passports establish credential identity and visas define what operations are authorized.

Passport

A passport is a governed credential wrapper that provides:

Identity

  • Name: Human-readable identifier
  • Agent ID: Optional machine identifier
  • Credential Type: What kind of secret this is
  • Credential Value: The actual secret (encrypted at rest)

Authorization (Visa)

  • Visa Type: Category of authorization
  • Issuing Authority: Who issued this credential
  • Scope: What operations are permitted
  • Platforms: Where this credential is valid

Lifecycle

  • Status: active, expiring, expired, revoked, suspended
  • Validity Period: When the credential is usable
  • Revocation Info: Why and by whom it was revoked

Delegation

  • Delegation Chain: How the credential flowed from human to agent(s)
  • Human Owner: The ultimately accountable person

Metadata

  • Tags: For organization and filtering
  • Notes: Free-form documentation
  • Timestamps: Creation and modification times

Passport States

    ┌──────────┐
    │ Created  │
    └────┬─────┘


    ┌──────────┐     ┌──────────┐
    │  Active  │────▶│ Expiring │
    └────┬─────┘     └────┬─────┘
         │                │
         │                ▼
         │          ┌──────────┐
         │          │ Expired  │
         │          └──────────┘


    ┌──────────┐
    │ Revoked  │
    └──────────┘
  • Active: Credential is valid and usable
  • Expiring: Less than 14 days until expiration
  • Expired: Past validity period
  • Revoked: Permanently disabled
  • Suspended: Temporarily disabled
A credential in the Expiring state still functions normally but serves as a warning to rotate before it becomes Expired.

Visa Types

See Visa Types for detailed descriptions.
TypeDescription
accessBasic platform access
privilegeElevated permissions
dataData access rights
complianceRegulatory scope
ecosystemCross-platform access

Credential Types

TypeDescriptionExample
api-keyAPI authentication keysk-..., AKIA...
oauth-tokenOAuth access/refresh tokenya29.a0...
jwtJSON Web TokeneyJhbG...
secretGeneric secretpasswords, passphrases
certificateX.509 certificatePEM/DER encoded certs
private-keyPrivate key materialRSA, EC private keys
connection-stringDatabase connectionmongodb://...
mcp-credentialMCP-specific credentialMCP auth tokens
customOther credential typesAny other secret

Delegation Chain

The delegation chain tracks how a credential flows from human to agent(s):
Human Owner → Agent A → Agent B → Agent C
Each hop records:
  • Who delegated
  • Who received
  • When it was granted
  • What scope was delegated
  • When it expires
Scope can only narrow at each delegation hop — an agent cannot grant broader permissions than it was given.

Example

delegationChain: [
  {
    from: "[email protected]",
    to: "orchestrator-agent",
    grantedAt: "2024-01-15T10:00:00Z",
    scope: ["read", "write"],
  },
  {
    from: "orchestrator-agent",
    to: "api-calling-agent",
    grantedAt: "2024-01-15T10:05:00Z",
    scope: ["read"],  // Scope can only narrow
  },
]

Best Practices

Following these practices helps maintain a strong security posture and clear accountability across your credential lifecycle.
  1. Always set a human owner for accountability
  2. Use expiration dates to ensure rotation
  3. Limit scope to the minimum required
  4. Add meaningful tags for organization
  5. Document in notes why the credential exists
  6. Monitor delegation depth to prevent long chains
  7. Review audit logs regularly