AgentCredential
Complete field-by-field reference for AgentCredential v1 including technical profile, safety metrics, and operational parameters.
The AgentCredential certifies a specific AI agent's identity, capabilities, safety characteristics, and operational parameters. AgentCredentials are always linked to a DeveloperCredential, creating a verifiable chain of accountability.
Version: 1.0
Schema: agent-credential-v1.schema.json
Media Type: application/beltic-agent+jwt
Purpose
AgentCredentials provide:
- Technical profile of the agent (model, architecture, deployment)
- Safety and robustness metrics from standardized evaluations
- Tool capabilities with risk classifications
- Data handling and privacy practices
- Operational parameters and lifecycle management
- Link to verified developer identity
Field Categories
Fields are organized into 8 categories with 71 total fields:
- Agent Identity & Provenance (8 fields)
- Technical Profile (11 fields)
- Tools & Actions (2 fields + tool list)
- Data Handling & Privacy (9 fields)
- Safety & Robustness Metrics (20 fields - 4 metrics × 5 metadata each)
- Operations & Lifecycle (8 fields)
- Risk Summary & Assurance (8 fields)
- Cryptographic Identity (6 fields)
Developer Credential Linkage
Every AgentCredential must reference a DeveloperCredential:
{
"developerCredentialId": "d7aa92c7-8b07-4f35-8c9b-a2d02e26f012",
"developerCredentialVerified": true
}This creates the trust chain: Agent → Developer → Issuer
1. Agent Identity & Provenance
agentId
Type: string (UUID v4)
Required: Yes
Sensitivity: Public
Globally unique, stable identifier for this agent. Remains constant across versions.
Example: "3c9f4e9b-1a2b-4c9d-8f34-7e5c80f3d412"
agentName
Type: string
Required: Yes
Sensitivity: Public
Human-readable name for the agent.
Constraints:
- Min 2, max 200 characters
- Should be unique within developer's portfolio
- May not contain offensive or misleading terms
Example: "Aurora Refund Guide"
agentVersion
Type: string (semantic version)
Required: Yes
Sensitivity: Public
Semantic version identifier (major.minor.patch).
Constraints: Must follow x.y.z format
Example: "2.3.0"
agentDescription
Type: string
Required: Yes
Sensitivity: Public
Clear description of agent's purpose and capabilities.
Constraints:
- Min 50, max 1000 characters
- Should describe intended use, not make exaggerated claims
Example: "Conversational assistant that helps e-commerce merchants process refunds, check policy eligibility, and generate customer communications."
firstReleaseDate
Type: string (ISO 8601 date)
Required: Yes
Sensitivity: Public
When the agent was first released to production.
Example: "2022-03-10"
currentStatus
Type: enum
Required: Yes
Sensitivity: Public
Current operational status.
Allowed Values:
production- Production-ready and actively supportedbeta- Beta testing with limited availabilityalpha- Early alpha, expect instabilityinternal- Internal use onlydeprecated- Deprecated, users should migrateretired- Retired and no longer operational
Example: "production"
developerCredentialId
Type: string (UUID v4)
Required: Yes
Sensitivity: Public
ID of the linked DeveloperCredential.
Example: "d7aa92c7-8b07-4f35-8c9b-a2d02e26f012"
developerCredentialVerified
Type: boolean
Required: Yes
Sensitivity: Public
Whether the linked DeveloperCredential has been verified.
Example: true
2. Technical Profile
primaryModelProvider
Type: string
Required: Yes
Sensitivity: Public
Provider of the primary LLM.
Examples: "Anthropic", "OpenAI", "Self-hosted"
primaryModelFamily
Type: string
Required: Yes
Sensitivity: Public
Model family or version.
Example: "Claude-3 Opus"
modelContextWindow
Type: number
Required: Yes
Sensitivity: Public
Maximum context window size in tokens.
Example: 200000
modalitySupport
Type: array of enum
Required: Yes
Sensitivity: Public
Input/output modalities supported.
Allowed Values: text, image, audio, video, structured_data
Example: ["text", "structured_data"]
languageCapabilities
Type: array of string (ISO 639-1)
Required: Yes
Sensitivity: Public
Natural languages supported.
Example: ["en", "es", "fr"]
architectureType
Type: enum
Required: Yes
Sensitivity: Public
Agent architecture pattern.
Allowed Values:
rag- Retrieval-Augmented Generationreact- ReAct (Reasoning + Acting)chain_of_thought- Chain-of-Thought promptingmulti_agent- Multi-agent coordinationtool_using- Tool-using agentfine_tuned- Fine-tuned modelprompt_only- Prompt engineering onlyother- Other architecture
Example: "rag"
systemConfigFingerprint
Type: string (SHA256 hash)
Required: Optional
Sensitivity: Restricted
SHA256 fingerprint of the agent's system configuration/code.
Example: "sha256:f6d2..."
Assurance: Beltic-verified
systemConfigLastUpdated
Type: string (ISO 8601 date)
Required: Optional
Sensitivity: Public
When the system config was last updated.
Example: "2025-10-30"
deploymentEnvironment
Type: string
Required: Optional
Sensitivity: Public
Description of where the agent runs.
Example: "AWS us-west-2, isolated VPC"
complianceCertifications
Type: array of enum
Required: Optional
Sensitivity: Public
Compliance certifications obtained.
Allowed Values: hipaa, soc2_type1, soc2_type2, iso27001, gdpr_compliant, ccpa_compliant, pci_dss, fedramp
Example: ["soc2_type2", "iso27001"]
dataLocationProfile
Type: object
Required: Optional
Sensitivity: Public
Geographic locations for data storage and processing.
Structure:
{
"storage": ["US"],
"processing": ["US"],
"backup": ["US", "CA"],
"notes": "US primary, CA disaster recovery"
}3. Tools & Actions
toolsList
Type: array of object
Required: Optional (Required if agent uses tools)
Sensitivity: Public
List of all tools/actions the agent can invoke.
Tool Object Structure:
{
"toolName": "issue_refund",
"toolDescription": "Processes refund for customer order",
"riskCategory": "financial",
"riskSubcategory": "financial_payment_initiation",
"requiresAuth": true,
"requiresHumanApproval": true
}Risk Categories:
data- Data operations (read_internal, read_external, write_internal, write_external, delete)compute- Compute operations (code_execution, model_inference, infrastructure_modification)financial- Financial operations (payment_initiation, account_modification, transaction_query)external- External communication (email, sms, api_call, webhook)
Example:
[
{
"toolName": "refund_db_lookup",
"riskCategory": "data",
"riskSubcategory": "data_read_internal",
"requiresAuth": true,
"requiresHumanApproval": false
},
{
"toolName": "issue_refund",
"riskCategory": "financial",
"riskSubcategory": "financial_payment_initiation",
"requiresAuth": true,
"requiresHumanApproval": true
}
]toolsLastAudited
Type: string (ISO 8601 date)
Required: Optional (Required if toolsList provided)
Sensitivity: Public
When tools were last security-audited.
Example: "2025-09-15"
4. Data Handling & Privacy
dataCategoriesProcessed
Type: array of enum
Required: Yes
Sensitivity: Public
Categories of data the agent processes.
Allowed Values: pii, financial, health_phi, biometric, location, communications, credentials, behavioral, demographic, device_identifiers
Example: ["pii", "financial"]
dataRetentionMaxPeriod
Type: string (ISO 8601 duration)
Required: Yes
Sensitivity: Public
Maximum data retention period.
Format: ISO 8601 duration (e.g., "P30D" = 30 days, "P1Y" = 1 year)
Example: "P30D"
dataRetentionByCategory
Type: object
Required: Optional
Sensitivity: Public
Retention periods per data category.
Example:
{
"pii": "P30D",
"financial": "P90D"
}trainingDataUsage
Type: enum
Required: Yes
Sensitivity: Public
How user data is used for training.
Allowed Values:
no_training- Never used for trainingwith_explicit_consent- Only with explicit user consentaggregated_anonymous- Aggregated and anonymized onlyopt_out_available- Default yes, but opt-out availablenot_applicable- API-based model, no training data access
Example: "with_explicit_consent"
piiDetectionEnabled
Type: boolean
Required: Yes
Sensitivity: Public
Whether PII detection is enabled.
Example: true
piiRedactionCapability
Type: enum
Required: Optional
Sensitivity: Public
Level of PII redaction capability.
Allowed Values: none, basic, advanced, custom
Example: "advanced"
piiRedactionPipeline
Type: string
Required: Optional
Sensitivity: Public
Description of how PII is detected and redacted.
Example: "Detects PII pre-inference and scrubs logs before storage."
dataEncryptionStandards
Type: array of string
Required: Optional
Sensitivity: Public
Encryption standards used.
Example: ["AES-256-at-rest", "TLS 1.3 in transit"]
5. Safety & Robustness Metrics
The agent's safety is measured across 4 core dimensions. Each metric includes 5 metadata fields:
- Score (0-100, higher is better)
- Benchmark Name (test suite used)
- Benchmark Version (test suite version)
- Evaluation Date (when evaluated)
- Assurance Source (who evaluated)
Metric 1: Harmful Content Refusal
Measures the agent's ability to refuse harmful requests.
Fields:
harmfulContentRefusalScore(number, 0-100)harmfulContentBenchmarkName(string)harmfulContentBenchmarkVersion(string)harmfulContentEvaluationDate(ISO 8601 date)harmfulContentAssuranceSource(enum:self_attested,beltic,third_party)
Example:
{
"harmfulContentRefusalScore": 96,
"harmfulContentBenchmarkName": "Beltic Harmful Content Suite",
"harmfulContentBenchmarkVersion": "2.1",
"harmfulContentEvaluationDate": "2025-11-05",
"harmfulContentAssuranceSource": "beltic"
}Metric 2: Prompt Injection Robustness
Resistance to jailbreaks and prompt injection attacks.
Fields:
promptInjectionRobustnessScore(number, 0-100)promptInjectionBenchmarkName(string)promptInjectionBenchmarkVersion(string)promptInjectionEvaluationDate(ISO 8601 date)promptInjectionAssuranceSource(enum)
Example:
{
"promptInjectionRobustnessScore": 92,
"promptInjectionBenchmarkName": "Beltic Prompt Injection Suite",
"promptInjectionBenchmarkVersion": "1.4",
"promptInjectionEvaluationDate": "2025-11-06",
"promptInjectionAssuranceSource": "beltic"
}Metric 3: Tool Abuse Robustness
Resistance to unsafe or unauthorized tool usage.
Fields:
toolAbuseRobustnessScore(number, 0-100)toolAbuseBenchmarkName(string)toolAbuseBenchmarkVersion(string)toolAbuseEvaluationDate(ISO 8601 date)toolAbuseAssuranceSource(enum)
Example:
{
"toolAbuseRobustnessScore": 88,
"toolAbuseBenchmarkName": "Beltic Tool Safety Suite",
"toolAbuseVersion": "1.2",
"toolAbuseEvaluationDate": "2025-11-06",
"toolAbuseAssuranceSource": "beltic"
}Metric 4: PII Leakage Robustness
Resistance to PII leakage and privacy violations.
Fields:
piiLeakageRobustnessScore(number, 0-100)piiLeakageBenchmarkName(string)piiLeakageBenchmarkVersion(string)piiLeakageEvaluationDate(ISO 8601 date)piiLeakageAssuranceSource(enum)
Example:
{
"piiLeakageRobustnessScore": 94,
"piiLeakageBenchmarkName": "Beltic Privacy Leakage Suite",
"piiLeakageBenchmarkVersion": "1.3",
"piiLeakageEvaluationDate": "2025-11-05",
"piiLeakageAssuranceSource": "beltic"
}Score Interpretation:
- 90-100: Excellent - Very low risk
- 80-89: Good - Low risk
- 70-79: Moderate - Some risk, review use cases
- 60-69: Fair - Moderate risk, restrict capabilities
- 0-59: Poor - High risk, not recommended for production
6. Operations & Lifecycle
incidentResponseContact
Type: string (email)
Required: Yes
Sensitivity: Public
Contact for security incidents.
Example: "security@auroralabs.ai"
incidentResponseSLO
Type: string (ISO 8601 duration)
Required: Optional
Sensitivity: Public
Service level objective for incident response.
Example: "PT4H" (4 hours)
deprecationPolicy
Type: string
Required: Optional
Sensitivity: Public
How agent deprecation is handled.
Example: "90-day notice, automatic migration script for merchants"
updateCadence
Type: enum
Required: Optional
Sensitivity: Public
How frequently the agent is updated.
Allowed Values: daily, weekly, biweekly, monthly, quarterly, as_needed
Example: "biweekly"
humanOversightMode
Type: enum
Required: Optional
Sensitivity: Public
Level of human oversight.
Allowed Values:
none- Fully autonomoushuman_review_post_action- Review after actionhuman_review_pre_action- Approval before actionhuman_in_loop- Human in decision loophuman_on_loop- Human monitors
Example: "human_review_pre_action"
failSafeBehavior
Type: string
Required: Optional
Sensitivity: Public
Description of fail-safe mechanisms.
Example: "Refuses requests exceeding $500 and escalates to finance queue"
monitoringCoverage
Type: string
Required: Optional
Sensitivity: Public
Monitoring and observability details.
Example: "PII detector alerts to SOC channel; monthly human log reviews"
credentialIssuanceDate
Type: string (ISO 8601 timestamp)
Required: Yes
Sensitivity: Public
When this credential was issued.
Example: "2025-11-08T12:00:00Z"
credentialExpirationDate
Type: string (ISO 8601 timestamp)
Required: Yes
Sensitivity: Public
When this credential expires.
Example: "2026-05-08T12:00:00Z"
7. Risk Summary & Assurance
overallSafetyRating
Type: enum
Required: Yes
Sensitivity: Public
Composite safety rating.
Allowed Values: low_risk, moderate_risk, high_risk, critical_risk
Example: "low_risk"
approvedUseCases
Type: array of string
Required: Optional
Sensitivity: Public
Explicitly approved use cases.
Example: ["E-commerce refund triage", "Customer refund status inquiries"]
prohibitedUseCases
Type: array of string
Required: Optional
Sensitivity: Public
Explicitly prohibited use cases.
Example: ["Financial investment advice", "Medical triage"]
ageRestrictions
Type: string
Required: Optional
Sensitivity: Public
Minimum age for users.
Example: "16+" or "18+" or "none"
regulatoryApprovals
Type: array of string
Required: Optional
Sensitivity: Public
Regulatory approvals obtained.
Example: ["SOC 2 Type II infrastructure alignment"]
kybTierRequired
Type: enum
Required: Optional
Sensitivity: Public
Minimum developer KYB tier required for this agent.
Allowed Values: tier_1, tier_2, tier_3
Example: "tier_2"
verificationLevel
Type: enum
Required: Yes
Sensitivity: Public
Overall verification level.
Allowed Values: self_attested, beltic_verified, third_party_verified
Example: "beltic_verified"
8. Cryptographic Identity
credentialId
Type: string (UUID v4)
Required: Yes
Sensitivity: Public
Unique identifier for this credential.
Example: "a2a1f6a0-7f4f-4aa1-8f6b-5c33c6f9f7e2"
issuerDid
Type: string (DID)
Required: Yes
Sensitivity: Public
DID of the issuer.
Example: "did:web:beltic.com"
verificationMethod
Type: string (DID URL)
Required: Yes
Sensitivity: Public
Key used to sign this credential.
Example: "did:web:beltic.com#key-1"
credentialStatus
Type: enum
Required: Yes
Sensitivity: Public
Current status.
Allowed Values: active, suspended, revoked
Example: "active"
revocationListUrl
Type: string (URL)
Required: Optional
Sensitivity: Public
URL to Status List 2021 bitstring.
Example: "https://beltic.com/status/agent-credentials.json"
proof
Type: object
Required: Yes
Sensitivity: Public
Cryptographic signature from issuer.
Complete Example: Aurora Refund Guide
Customer service agent for e-commerce refund processing:
{
"agentId": "3c9f4e9b-1a2b-4c9d-8f34-7e5c80f3d412",
"agentName": "Aurora Refund Guide",
"agentVersion": "2.3.0",
"agentDescription": "Conversational assistant that helps e-commerce merchants process refunds...",
"firstReleaseDate": "2022-03-10",
"currentStatus": "production",
"developerCredentialId": "d7aa92c7-8b07-4f35-8c9b-a2d02e26f012",
"developerCredentialVerified": true,
"primaryModelProvider": "Anthropic",
"primaryModelFamily": "Claude-3 Opus",
"modelContextWindow": 200000,
"modalitySupport": ["text", "structured_data"],
"languageCapabilities": ["en", "es", "fr"],
"architectureType": "rag",
"deploymentEnvironment": "AWS us-west-2, isolated VPC",
"complianceCertifications": ["soc2_type2", "iso27001"],
"toolsList": [
{
"toolName": "issue_refund",
"riskCategory": "financial",
"riskSubcategory": "financial_payment_initiation",
"requiresAuth": true,
"requiresHumanApproval": true
}
],
"dataCategoriesProcessed": ["pii", "financial"],
"dataRetentionMaxPeriod": "P30D",
"trainingDataUsage": "with_explicit_consent",
"piiDetectionEnabled": true,
"piiRedactionCapability": "advanced",
"harmfulContentRefusalScore": 96,
"promptInjectionRobustnessScore": 92,
"toolAbuseRobustnessScore": 88,
"piiLeakageRobustnessScore": 94,
"incidentResponseContact": "security@auroralabs.ai",
"humanOversightMode": "human_review_pre_action",
"overallSafetyRating": "low_risk",
"kybTierRequired": "tier_2",
"verificationLevel": "beltic_verified"
}