DeveloperCredential
Complete field-by-field reference for DeveloperCredential v1 including KYB tiers, validation rules, and examples.
The DeveloperCredential establishes the identity and legitimacy of organizations or individuals developing AI agents. It serves as the root of trust for all AgentCredentials issued to agents developed by this entity.
Version: 1.0
Schema: developer-credential-v1.schema.json
Media Type: application/beltic-developer+jwt
Purpose
DeveloperCredentials provide:
- Verified identity for agent developers
- KYC/KYB compliance verification
- Risk assessment and screening results
- Foundation for trust chains linking agents to developers
Field Categories
Fields are organized into 7 categories with 35+ total fields:
- Core Identity Information (6 fields)
- Contact Information (5 fields)
- Tax and Registration (4 fields)
- Risk and Compliance (6 fields)
- Ownership and Control (3 fields)
- Verification Metadata (8 fields)
- Cryptographic Identity (3 fields)
1. Core Identity Information
legalName
Type: string
Required: Yes
Sensitivity: Public
The full legal name of the organization or individual as registered with the relevant government authority.
Constraints:
- Minimum length: 2 characters
- Maximum length: 500 characters
- Must match official registration documents
Assurance:
- Self-attested: Allowed for development/testing
- Beltic-verified: Required for production use
- Third-party-verified: Allowed for regulated industries
Example: "Aurora Labs Inc."
entityType
Type: enum
Required: Yes
Sensitivity: Public
Categorizes whether the credential holder is a corporation, individual, partnership, or other legal entity type.
Allowed Values:
corporation- Incorporated company (Inc, Corp, Ltd)limited_liability_company- LLC or equivalentpartnership- General or limited partnershipsole_proprietorship- Individual doing businessindividual- Personal developer accountnonprofit_organization- Registered nonprofit/NGOgovernment_entity- Government agency or departmentother- Other legal structures
Example: "corporation"
incorporationJurisdiction
Type: object
Required: Yes
Sensitivity: Public
The country (and optionally state/province) where the entity is legally registered or incorporated.
Structure:
{
"country": "US", // ISO 3166-1 alpha-2 (required)
"region": "CA" // ISO 3166-2 subdivision (optional)
}Constraints:
- Country must be valid ISO 3166-1 alpha-2 code
- Region should use ISO 3166-2 subdivision codes where applicable
Example: {"country": "US", "region": "CA"}
incorporationDate
Type: string (ISO 8601 date: YYYY-MM-DD)
Required: Yes (for organizations), Optional (for individuals)
Sensitivity: Public
The date when the entity was officially registered or incorporated.
Constraints:
- Must be a valid date in the past
- Cannot be more than 200 years in the past
- Cannot be in the future
Privacy Note: For individuals, day-level precision is reserved for internal logs; public presentations surface only year-month to avoid exposing personal birthdates.
Example: "2019-06-15"
businessRegistrationNumber
Type: string (tokenized hash)
Required: Optional
Sensitivity: Restricted
Official business registration or incorporation number.
Format: Stored as a tokenized hash for privacy: "hash_9f4a..."
Assurance: Third-party-verified against official registries
businessRegistrationStatus
Type: enum
Required: Optional
Sensitivity: Public
Current standing of the business registration.
Allowed Values:
active_good_standingactive_with_conditionssuspendeddissolvedpending
Example: "active_good_standing"
2. Contact Information
website
Type: string (URL)
Required: Optional
Sensitivity: Public
Primary website or online presence.
Constraints: Must be valid HTTPS URL
Example: "https://auroralabs.ai"
registeredAddress
Type: object
Required: Optional
Sensitivity: Restricted
Legal registered address of the entity.
Structure:
{
"street": "500 Market St, Suite 1200",
"city": "San Francisco",
"state": "CA",
"postalCode": "94105",
"country": "US"
}businessEmail
Type: string (email)
Required: Yes
Sensitivity: Public
Primary business contact email address.
Constraints: Must be valid email format
Assurance: Beltic-verified via email verification
Example: "ops@auroralabs.ai"
businessPhone
Type: string (E.164 format)
Required: Optional
Sensitivity: Restricted
Primary business phone number.
Format: E.164 international format (e.g., "+1-415-555-1200")
securityEmail
Type: string (email)
Required: Optional
Sensitivity: Public
Dedicated security contact email for vulnerability reports.
Example: "security@auroralabs.ai"
3. Tax and Registration
taxIdExists
Type: boolean
Required: Yes
Sensitivity: Public
Indicates whether the entity has a tax identification number.
Example: true
taxIdVerified
Type: enum
Required: Yes (if taxIdExists is true)
Sensitivity: Public
Verification status of the tax ID.
Allowed Values:
not_verifiedverifiedverification_failed
Assurance: Third-party-verified via tax authority or verification service
Example: "verified"
taxIdJurisdiction
Type: object
Required: Yes (if taxIdExists is true)
Sensitivity: Public
Jurisdiction that issued the tax ID.
Structure: Same as incorporationJurisdiction
Example: {"country": "US"}
taxIdLastVerifiedDate
Type: string (ISO 8601 date)
Required: Yes (if taxIdVerified is "verified")
Sensitivity: Public
Date of the most recent tax ID verification.
Example: "2025-05-01"
Note: The actual tax ID number is never included in the credential. Only verification status and metadata are shared.
4. Risk and Compliance
kybTier
Type: enum
Required: Yes
Sensitivity: Public
Level of Know Your Business verification completed.
Allowed Values:
tier_0_none- No verificationtier_1_basic- Basic identity verificationtier_2_standard- Enhanced verification with screeningtier_3_enhanced- Full due diligencetier_4_ongoing- Continuous monitoring
Tier Requirements:
| Tier | Requirements | Use Cases |
|---|---|---|
| Tier 1 | Legal name, entity type, basic info | Open-source agents, development |
| Tier 2 | + Tax verification, screening checks, freshness | Production agents, commerce |
| Tier 3 | + Enhanced due diligence, UBO verification | Financial services, regulated industries |
Example: "tier_2_standard"
sanctionsScreeningStatus
Type: enum
Required: Yes (Tier 2+)
Sensitivity: Public
Result of sanctions list screening.
Allowed Values:
not_screenedclearpotential_matchconfirmed_match
Assurance: Third-party-verified via sanctions screening service
Example: "clear"
sanctionsScreeningLastChecked
Type: string (ISO 8601 timestamp)
Required: Yes (if screening performed)
Sensitivity: Public
When sanctions screening was last performed.
Example: "2025-10-05"
pepRiskLevel
Type: enum
Required: Optional
Sensitivity: Restricted
Politically Exposed Person (PEP) risk assessment.
Allowed Values:
nonelowmediumhigh
Example: "low"
adverseMediaRiskLevel
Type: enum
Required: Optional
Sensitivity: Restricted
Risk level based on adverse media screening.
Allowed Values:
nonelowmediumhigh
Example: "low"
overallRiskRating
Type: enum
Required: Yes
Sensitivity: Public
Composite risk assessment across all factors.
Allowed Values:
lowmediumhighprohibited
Example: "low"
5. Ownership and Control
beneficialOwnersKycStatus
Type: enum
Required: Optional
Sensitivity: Restricted
KYC completion status for beneficial owners.
Allowed Values:
not_applicable- Individual entityall_identified_and_kycd- All UBOs verifiedpartially_identified- Some UBOs unverifiednone_identified- No UBO verification
Example: "all_identified_and_kycd"
beneficialOwnersCount
Type: number
Required: Optional
Sensitivity: Restricted
Number of beneficial owners with 25%+ ownership.
Example: 3
controlStructureComplexity
Type: enum
Required: Optional
Sensitivity: Restricted
Assessment of ownership structure complexity.
Allowed Values:
simple- Direct ownershipmoderate- Holding company structurecomplex- Multi-tier or international structure
Example: "moderate"
6. Verification Metadata
credentialId
Type: string (UUID v4)
Required: Yes
Sensitivity: Public
Unique identifier for this credential instance.
Example: "d7aa92c7-8b07-4f35-8c9b-a2d02e26f012"
issuanceDate
Type: string (ISO 8601 timestamp)
Required: Yes
Sensitivity: Public
When the credential was issued.
Example: "2025-11-10T18:22:00Z"
expirationDate
Type: string (ISO 8601 timestamp)
Required: Yes
Sensitivity: Public
When the credential expires.
Constraints: Must be after issuanceDate
Example: "2026-05-10T18:22:00Z"
issuerDid
Type: string (DID)
Required: Yes
Sensitivity: Public
DID of the credential issuer.
Example: "did:web:beltic.com"
verificationMethod
Type: string (DID URL)
Required: Yes
Sensitivity: Public
Specific key used to sign this credential.
Example: "did:web:beltic.com#key-1"
credentialStatus
Type: enum
Required: Yes
Sensitivity: Public
Current status of the credential.
Allowed Values:
activesuspendedrevoked
Example: "active"
revocationListUrl
Type: string (URL)
Required: Optional
Sensitivity: Public
URL to the Status List 2021 bitstring for revocation checking.
Example: "https://beltic.com/status/dev-credentials.json"
lastUpdatedDate
Type: string (ISO 8601 timestamp)
Required: Yes
Sensitivity: Public
When the credential was last modified.
Example: "2025-11-10T18:22:00Z"
7. Cryptographic Identity
subjectDid
Type: string (DID)
Required: Yes
Sensitivity: Public
DID of the credential subject (the developer).
Example: "did:web:auroralabs.ai"
publicKey
Type: object
Required: Optional
Sensitivity: Public
Public key reference for the subject's cryptographic identity.
proof
Type: object
Required: Yes
Sensitivity: Public
Cryptographic proof/signature from the issuer.
Structure:
{
"type": "Ed25519Signature2020",
"created": "2025-11-10T18:22:00Z",
"verificationMethod": "did:web:beltic.com#key-1",
"proofPurpose": "assertionMethod",
"proofValue": "z5vkY..."
}Validation Rules
DeveloperCredential has 27 conditional validation rules across 2 tiers:
Tier 1 (Critical) - 9 Rules
- Entity-type consistency: If
entityTypeis"individual",incorporationDatemust be optional - Sanctions violation: If
sanctionsScreeningStatusis"confirmed_match",overallRiskRatingmust be"prohibited" - Active with sanctions: If
sanctionsScreeningStatusis"confirmed_match",credentialStatuscannot be"active" - Tax ID required for orgs: If
entityTypeis not"individual",taxIdExistsmust betrue - Verification consistency: If
taxIdVerifiedis"verified",taxIdLastVerifiedDateis required - Jurisdiction match:
taxIdJurisdictionshould matchincorporationJurisdictionin most cases - Registration status:
businessRegistrationStatuscannot be"dissolved"ifcredentialStatusis"active" - Risk rating consistency: If
pepRiskLeveloradverseMediaRiskLevelis"high",overallRiskRatingcannot be"low" - Date ordering:
issuanceDatemust be beforeexpirationDate
Tier 2 (High) - 18 Rules
Includes freshness requirements, screening completeness for tier 2+, date consistency across all metadata fields, and UBO requirements for tier 3.
See Validation Guide for complete rule documentation.
Complete Example: Aurora Labs Inc.
This example shows a tier 2 verified corporation:
{
"credentialId": "d7aa92c7-8b07-4f35-8c9b-a2d02e26f012",
"legalName": "Aurora Labs Inc.",
"entityType": "corporation",
"incorporationJurisdiction": {
"country": "US",
"region": "CA"
},
"incorporationDate": "2019-06-15",
"businessRegistrationNumber": "hash_9f4a...",
"businessRegistrationStatus": "active_good_standing",
"website": "https://auroralabs.ai",
"registeredAddress": {
"street": "500 Market St, Suite 1200",
"city": "San Francisco",
"state": "CA",
"postalCode": "94105",
"country": "US"
},
"businessEmail": "ops@auroralabs.ai",
"businessPhone": "+1-415-555-1200",
"securityEmail": "security@auroralabs.ai",
"taxIdExists": true,
"taxIdVerified": "verified",
"taxIdJurisdiction": {
"country": "US"
},
"taxIdLastVerifiedDate": "2025-05-01",
"kybTier": "tier_2_standard",
"sanctionsScreeningStatus": "clear",
"sanctionsScreeningLastChecked": "2025-10-05",
"pepRiskLevel": "low",
"pepRiskLastAssessed": "2025-09-30",
"adverseMediaRiskLevel": "low",
"adverseMediaLastAssessed": "2025-09-30",
"overallRiskRating": "low",
"beneficialOwnersKycStatus": "all_identified_and_kycd",
"beneficialOwnersCount": 3,
"controlStructureComplexity": "moderate",
"issuanceDate": "2025-11-10T18:22:00Z",
"expirationDate": "2026-05-10T18:22:00Z",
"issuerDid": "did:web:beltic.com",
"verificationMethod": "did:web:beltic.com#key-1",
"credentialStatus": "active",
"revocationListUrl": "https://beltic.com/status/dev-credentials.json",
"lastUpdatedDate": "2025-11-10T18:22:00Z",
"subjectDid": "did:web:auroralabs.ai",
"proof": {
"type": "Ed25519Signature2020",
"created": "2025-11-10T18:22:00Z",
"verificationMethod": "did:web:beltic.com#key-1",
"proofPurpose": "assertionMethod",
"proofValue": "z5vkY..."
}
}KYB Tier Use Cases
Tier 1: Basic Verification
Requirements: Legal name, entity type, jurisdiction Use Cases:
- Open-source agent development
- Personal projects
- Early-stage prototypes
- Non-commercial agents
Example: Solo developer building a personal assistant
Tier 2: Standard Verification
Requirements: + Tax verification, sanctions/PEP screening, freshness (90 days) Use Cases:
- Production agents
- E-commerce and payment integration
- Customer support agents
- Multi-platform deployment
Example: Aurora Labs Inc. building commercial refund agents
Tier 3: Enhanced Due Diligence
Requirements: + UBO verification, enhanced screening, complex ownership analysis Use Cases:
- Financial services agents
- Healthcare/HIPAA-regulated agents
- High-value transactions
- Cross-border operations
Example: FinTech startup building payment automation agents