Lifecycle Stages
1. Creation
Manifest Submission
Developers create an agent manifest containing all required fields: For DeveloperCredential:- CLI:
beltic init(generates manifest interactively) - Web form: Upload manifest or fill in UI
- API: POST to credential issuance endpoint
Initial Validation
The manifest undergoes initial validation:- Schema validation - Check against JSON Schema
- Required fields - Ensure all required fields present
- Format validation - Verify dates, UUIDs, DIDs, etc.
- Consistency checks - Cross-field validation rules
2. Verification & Evaluation
DeveloperCredential Verification
Tier 1 (Basic):- Verify legal name matches business registration
- Confirm entity type
- Verify email and website ownership
- All Tier 1 checks
- Tax ID verification with tax authority
- Sanctions screening (OFAC, UN, EU lists)
- PEP (Politically Exposed Person) screening
- Adverse media screening
- Freshness: Last verified within 90 days
- All Tier 2 checks
- Ultimate Beneficial Owner (UBO) identification
- UBO KYC for all beneficial owners with 25%+ ownership
- Enhanced due diligence for high-risk jurisdictions
- Ongoing monitoring
- Tier 1: 1-2 business days
- Tier 2: 3-5 business days
- Tier 3: 1-2 weeks
AgentCredential Evaluation
Safety Testing: Beltic runs 4 core evaluations:- Harmful Content Refusal - Test with harmful prompts (self-harm, hate, violence)
- Prompt Injection Robustness - Test jailbreak resistance
- Tool Abuse Robustness - Test unauthorized tool usage
- PII Leakage Robustness - Test privacy protection
- Attack Success Rate (ASR): % of successful attacks
- Robustness Score: 100 - ASR
- Benchmark metadata: Name, version, date, assurance source
- Code fingerprint generation (SHA256 hash)
- Tool capability audit
- Data location verification
- Compliance certification validation
3. Signing & Issuance
Credential Signing
Once verified, the issuer signs the credential: JWT Structure:- Algorithm: EdDSA (Ed25519) or ES256 (P-256)
- Private key: Issuer’s signing key
- Verification: Public key from issuer DID document
Credential Delivery
Signed credentials are delivered to the developer: Delivery methods:- Download JWS token file
- API response with token
- Email with secure download link
- JWS token (the signed credential)
- Public credential ID
- Expiration date
- Revocation check URL
4. Verification
7-Step Verification Process
When a platform receives a credential, it performs 7 verification steps:Step 1: Parse
Decode the JWS token into header, payload, and signature:Step 2: Key Resolution
Resolve the issuer’s public key from their DID:Step 3: Signature Verification
Verify the cryptographic signature:Step 4: Claims Validation
Check JWT claims:Step 5: Schema Validation
Validate the credential object against JSON Schema:Step 6: Status Check
Check if the credential has been revoked: Using Status List 2021:Step 7: Policy Enforcement
Apply local policies: For DeveloperCredentials:Verification Result
If all 7 steps pass:5. Updates & Rotation
When to Update
Credentials should be updated when: DeveloperCredential:- KYB information changes (legal name, jurisdiction, entity type)
- Contact information updates
- KYB tier upgrade
- Annual refresh for tier 2+ (freshness requirement)
- Compliance certification obtained
- Agent version update (major/minor/patch)
- Safety evaluation refresh
- Tools added/removed
- Model or architecture changes
- Data handling policy changes
Update Process
- Submit updated manifest with changed fields
- Differential verification - Only verify changed fields
- Issue new credential with new
credentialIdandissuanceDate - Gradual rollout - Old credential remains valid during transition period
- Deprecate old credential - Mark old credential as
suspendedor allow expiration
Key Rotation
If signing keys are compromised:- Issuer rotates keys - Generate new key pair, update DID document
- Re-sign active credentials - All active credentials re-signed with new key
- Update DID document - New key becomes primary, old key kept for verification
- Grace period - Both old and new signatures valid during transition
- Revoke old key - After grace period, remove old key from DID document
6. Suspension
Reasons for Suspension
Credentials can be temporarily suspended: DeveloperCredential:- Pending investigation of policy violation
- Payment or billing issue
- Verification data expiration (tier 2+ freshness)
- Requested by developer (security concern)
- Developer credential suspended (cascading)
- Safety issue reported, under investigation
- Compliance violation investigation
- Temporary deployment issue
Suspension Process
- Issuer updates status list - Set bit at credential’s index
- Status propagates - Verifiers check status before accepting
- Developer notified - Email with reason and remediation steps
- Grace period - Existing sessions may complete (configurable)
- Access blocked - New requests rejected by verifiers
7. Revocation
Reasons for Revocation
Permanent revocation occurs when: DeveloperCredential:- Terms of service violation
- Fraudulent information discovered
- Security breach or key compromise
- Sanctions match or prohibited status
- Developer requests closure
- Developer credential revoked (cascading)
- Critical safety failure in production
- Agent misused for prohibited purposes
- Code fingerprint mismatch (tampering)
- Agent retired by developer
Revocation Process
- Issuer sets revocation bit in Status List 2021
- Verifiers reject credential - All subsequent verification attempts fail
- Developer notified - Reason for revocation provided
- Cascading revocation - If developer revoked, all their agent credentials revoked
- Permanent record - Revocation logged for audit trail
Status List 2021 Mechanism
Bitstring encoding:- Bit = 0: Active
- Bit = 1: Revoked or Suspended
8. Expiration
Expiration Handling
All credentials have an expiration date (expirationDate or JWT exp claim):
Typical validity periods:
- DeveloperCredential Tier 1: 1 year
- DeveloperCredential Tier 2: 6 months
- DeveloperCredential Tier 3: 3 months (with continuous monitoring)
- AgentCredential: 6 months
- 30 days: Email reminder to renew
- 14 days: Second reminder
- 7 days: Final warning
- Expiration: Credential no longer valid
- Verifiers reject credential (JWT
expcheck fails) - Developer must submit new manifest for renewal
- No automatic renewal (requires fresh verification)
Best Practices
For Developers
- Monitor expiration dates - Set calendar reminders 30+ days before expiration
- Test updates in staging - Verify new credentials work before production rollout
- Maintain backup credentials - Have overlapping validity periods during transitions
- Respond to suspension quickly - Address issues immediately to restore access
- Keep contact info current - Ensure you receive notifications
For Verifiers
- Always check status - Don’t skip revocation checking for performance
- Cache status lists - Use short TTL (5-15 minutes) to balance freshness and performance
- Implement graceful degradation - If status service is down, apply risk-based policy
- Log all verifications - Maintain audit trail of accepted/rejected credentials
- Define clear policies - Document minimum KYB tiers, safety scores, and data categories
For Issuers
- Minimize credential lifetime - Shorter validity = less revocation burden
- Automate renewal reminders - Email developers well in advance
- Publish SLOs - Set expectations for verification and issuance timelines
- Monitor status list size - Optimize bitstring compression as list grows
- Provide clear revocation reasons - Help developers understand and remediate
Next Steps
DeveloperCredential
Field-by-field reference
AgentCredential
Technical profile and safety metrics
Trust Chains
Deep dive into verification with policies
Status Lists
Revocation mechanism details