Credentials 101
What is a Verifiable Credential?
A Verifiable Credential (VC) is a tamper-evident credential that can be cryptographically verified. Think of it like a digital version of a physical credential (driver’s license, diploma, business license) but with these advantages:- Cryptographically signed - You can verify who issued it
- Tamper-evident - Any modification breaks the signature
- Machine-readable - Software can automatically verify it
- Portable - Works across different platforms and systems
- Revocable - Issuer can invalidate it if needed
DeveloperCredential vs AgentCredential
DeveloperCredential represents a verified person or organization:- Contains identity information (name, entity type, jurisdiction)
- Includes KYC/KYB verification results
- Tracks compliance certifications (HIPAA, SOC2, etc.)
- Has risk assessment data (sanctions screening, PEP checks)
- Organized by KYB tiers (tier 1, 2, or 3)
- Links to a DeveloperCredential (who built it)
- Contains technical profile (model, architecture, deployment)
- Lists tool capabilities and risk levels
- Includes safety scores (harm refusal, prompt injection, PII leakage)
- Tracks data handling policies and compliance
Trust Chain Concept
A trust chain connects an agent back to a verified developer: When a platform verifies an agent:- Check the AgentCredential signature
- Verify the linked DeveloperCredential
- Check if both credentials are still valid (not expired/revoked)
- Apply policy checks (KYB tier, safety scores, data categories)
Cryptographic Identity
DIDs Explained
A DID (Decentralized Identifier) is a globally unique identifier that doesn’t depend on any central authority. Think of it like an email address, but you own and control it completely. DID format:did:method:identifier
Examples:
did:web:example.com- Controlled via your websitedid:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK- Cryptographic key-baseddid:ion:EiDahaOGH-liLLdDtTxEAdc8i-cfCz-WUcQdRJheMVNn3A- Decentralized network-based
subjectDid- The entity the credential is about (developer or agent)issuerDid- The entity that issued the credential (Beltic or another issuer)
Signing vs Verification
Signing is creating a cryptographic proof that you issued a credential:- You have a private key (keep secret!)
- You create a credential (JSON document)
- You sign it with your private key
- The result is a JWS token (JSON Web Signature)
- Someone gives you a JWS token
- You extract the public key (from the issuer’s DID)
- You verify the signature matches
- You check the credential hasn’t been tampered with
Supported Algorithms
FACT supports two signature algorithms:| Algorithm | Description | Use Case |
|---|---|---|
| EdDSA | Ed25519 signatures | Fast, modern, recommended for most use cases |
| ES256 | ECDSA with P-256 curve | NIST compliance, enterprise requirements |
Lifecycle
Issuance
How credentials are created and signed:- Manifest submission - Developer provides information (name, entity type, etc.)
- Verification - Issuer performs KYC/KYB checks
- Signing - Issuer signs the credential with their private key
- Delivery - Developer receives a JWS token
Verification
How credentials are checked by platforms: 7-step verification process:- Parse - Decode the JWS token
- Key Resolution - Find the issuer’s public key
- Signature - Verify the cryptographic signature
- Claims - Check JWT claims (issuer, expiration, etc.)
- Schema - Validate against JSON schema
- Status - Check if revoked or suspended
- Policy - Apply local policies (KYB tier, safety scores)
Revocation (High-Level)
Credentials can be revoked or suspended:- Revoked - Permanently invalid (agent compromised, developer violated terms)
- Suspended - Temporarily invalid (pending investigation, payment issue)
Key Terms Glossary
Issuer
The entity that creates and signs credentials. In FACT, this is typically Beltic or another trusted credential issuer.Subject
The entity the credential is about. For DeveloperCredential, this is the developer. For AgentCredential, this is the agent.Verifier
The platform or application that checks credentials before granting access or trust. Also called a “relying party.”Fingerprint
A SHA256 hash of an agent’s codebase that provides a unique identifier for that specific version. If the code changes, the fingerprint changes. Example:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Manifest
A structured document that developers submit to request a credential. It contains all the information needed to issue a DeveloperCredential or AgentCredential. Location: Created locally using the Beltic CLIinit command or manually from templates.
KYB Tier
The level of identity verification for a developer:- Tier 1 (Basic) - Legal name, entity type, basic info
- Tier 2 (Standard) - Enhanced verification with screening checks
- Tier 3 (Enhanced) - Full due diligence for high-risk use cases
Assurance Level
How a field’s value was verified:self_attested- Developer provided, not independently verifiedbeltic_verified- Beltic performed verificationthird_party_verified- External verifier (e.g., credit bureau, tax authority)
JWT (JSON Web Token)
A compact, URL-safe format for transmitting JSON data. FACT credentials are delivered as JWTs with an additional signature (JWS). Structure:header.payload.signature
Example:
Status List 2021
A W3C standard for tracking credential revocation status using compressed bitstrings. Each credential has an index in the list; if the bit is set, the credential is revoked.Trust Policy
Rules that verifiers apply when checking credentials. Examples:- Minimum KYB tier (e.g., require tier 2 for financial agents)
- Minimum safety scores (e.g., require 80+ for prompt injection)
- Prohibited data categories (e.g., reject agents that process PHI)
Visual: Complete Flow
Next Steps
Now that you understand the core concepts, you’re ready to dive deeper:Quickstart
Issue and verify your first credential
DeveloperCredential
Complete field-by-field reference
AgentCredential
Technical profile and safety metrics
Trust Chains
Deep dive into trust chain verification