Skip to main content

Attestix - Attestation Infrastructure for AI Agents. DID-based agent identity, W3C Verifiable Credentials, EU AI Act compliance, delegation chains, and reputation scoring. 47 MCP tools across 9 modules.

Project description

Attestix

Attestation Infrastructure for AI Agents

The compliance identity layer for the EU AI Act era. Attestix gives every AI agent a verifiable identity, proves its regulatory compliance, tracks its provenance, and scores its trustworthiness. All locally, vendor-neutrally, and natively within MCP.


Why This Exists

On August 2, 2026, the EU AI Act's transparency enforcement begins. Fines reach up to EUR 35M or 7% of global revenue. Every high-risk AI system deployed in EU markets must demonstrate compliance with Articles 10-12 (data governance, technical documentation, record-keeping), undergo conformity assessments (Article 43), and produce Annex V declarations of conformity.

The existing compliance tools (Credo AI, Holistic AI, Vanta, IBM OpenPages) all operate as organizational dashboards. They help a company document compliance internally. But none of them produce a machine-readable, cryptographically verifiable proof that an AI agent can present to another agent, regulator, or system.

Meanwhile, agent identity is fragmenting across walled gardens:

  • Microsoft Entra Agent ID - Azure-locked
  • AWS Bedrock AgentCore - AWS-locked
  • Google A2A - communication protocol, not identity/compliance
  • ERC-8004 - requires Ethereum blockchain

No single tool combines agent identity + EU AI Act compliance + verifiable credentials in one protocol. Attestix fills this gap.


What Attestix Does

Attestix is an MCP server providing 47 tools across 9 modules:

Identity & Trust (21 tools)

Module Tools Purpose
Identity 8 Unified Agent Identity Tokens (UAITs) bridging MCP OAuth, A2A, DIDs, and API keys. Includes GDPR Article 17 erasure
Agent Cards 3 Parse, generate, and discover Google A2A-compatible agent cards
DID 3 Create and resolve W3C Decentralized Identifiers (did:key, did:web)
Delegation 4 UCAN-style capability delegation with EdDSA-signed JWT tokens, revocation
Reputation 3 Recency-weighted trust scoring (0.0-1.0) with category breakdown

EU AI Act Compliance (20 tools)

Module Tools Purpose
Compliance 7 Risk categorization, conformity assessments (Article 43), Annex V declarations, profile updates
Credentials 8 W3C Verifiable Credentials (VC Data Model 1.1) with Ed25519Signature2020 proofs, external verification, Verifiable Presentations
Provenance 5 Training data provenance (Article 10), model lineage (Article 11), hash-chained audit trail (Article 12)

Blockchain Anchoring (6 tools)

Module Tools Purpose
Blockchain 6 Anchor artifact hashes to Base L2 via Ethereum Attestation Service (EAS), Merkle batch anchoring, cost estimation

The Problem No One Else Solves

                Compliance Dashboards          Agent Identity Platforms
                (Credo AI, Vanta, etc.)        (Entra, AWS, Okta)
                         |                              |
                    Org-level only                  Vendor-locked
                    No machine proofs               No compliance
                    No agent identity               No VCs
                         |                              |
                         +--------- GAP ----------------+
                                     |
                              Attestix
                         Agent-level compliance
                       Cryptographic VC proofs
                        Vendor-neutral DIDs
                     Works locally, no cloud dependency

Competitive Gap Map

Capability Credo AI Vanta Okta Entra AWS A2A ERC-8004 Dock.io Attestix
Agent Identity (DID) - - - - - - On-chain Yes Yes
EU AI Act Compliance Yes Yes - - - - - - Yes
W3C Verifiable Credentials - - - - - - - Yes Yes
Compliance-as-a-VC - - - - - - - - Only Attestix
Reputation Scoring - - - - - - On-chain - Yes
Delegation Chains - - OAuth OAuth IAM - - - UCAN
Training Data Provenance - - - - - - - - Yes
Model Lineage - - - - - - - - Yes
Vendor Neutral - - - - - Yes Yes Partial Yes
Works Offline - - - - - - - - Yes
MCP Native - - - - - - - - Yes

Architecture

attestix/
  auth/
    crypto.py          # Ed25519 signing, did:key creation, signature verification
    ssrf.py            # SSRF protection for URL fetching (private IP blocking)
    token_parser.py    # Auto-detect JWT, DID, API key, URL tokens
  blockchain/
    merkle.py          # Merkle tree construction for batch anchoring
  services/
    identity_service.py    # UAIT lifecycle (create, verify, translate, revoke, purge)
    agent_card_service.py  # A2A Agent Card operations
    did_service.py         # DID resolution (did:key, did:web, Universal Resolver)
    delegation_service.py  # UCAN delegation token management
    reputation_service.py  # Recency-weighted trust scoring
    compliance_service.py  # EU AI Act profiles, assessments, Annex V declarations
    credential_service.py  # W3C VC issuance, verification, presentations
    provenance_service.py  # Training data, model lineage, hash-chained audit trail
    blockchain_service.py  # Base L2 anchoring via Ethereum Attestation Service
    cache.py               # Service instance cache with TTL
  tools/
    identity_tools.py      # 8 MCP tools (includes GDPR erasure)
    agent_card_tools.py    # 3 MCP tools
    did_tools.py           # 3 MCP tools
    delegation_tools.py    # 4 MCP tools
    reputation_tools.py    # 3 MCP tools
    compliance_tools.py    # 7 MCP tools
    credential_tools.py    # 8 MCP tools (includes external verification)
    provenance_tools.py    # 5 MCP tools
    blockchain_tools.py    # 6 MCP tools
  config.py       # Storage paths, environment, defaults
  errors.py       # Centralized error handling with JSON logging
  main.py         # FastMCP server entry point

Key Design Decisions

  • Ed25519 cryptography - Same algorithm used by Solana, Cosmos, SSH. Auto-generated keypair stored in .signing_key.json
  • JSON file storage - No database dependency. Files created lazily on first use
  • Hash-chained audit trail - SHA-256 chain hashes on every audit entry for tamper-evident logging
  • SSRF protection - Private IP blocking on all URL-fetching operations (DID resolution, agent discovery)
  • Lazy service initialization - Services instantiated on first tool call, cached with TTL
  • stderr-safe - All print() redirected to stderr to protect MCP JSON-RPC on stdout
  • Modular registration - Each tool module exposes a register(mcp) function

Quick Start

Install from PyPI

pip install attestix

Or install from source:

git clone https://github.com/VibeTensor/attestix.git
cd attestix
pip install -r requirements.txt

Run Standalone

python main.py

Configure as MCP Server

Add to your Claude Code config (~/.claude.json):

{
  "mcpServers": {
    "attestix": {
      "type": "stdio",
      "command": "python",
      "args": ["/path/to/attestix/main.py"]
    }
  }
}

Restart Claude Code. You now have 47 Attestix tools available.

Run Examples

python examples/01_basic_identity.py        # Create and verify an agent identity
python examples/02_full_compliance.py        # Full EU AI Act compliance workflow
python examples/03_delegation_chain.py       # UCAN-style capability delegation
python examples/04_verifiable_credentials.py # W3C VC issuance and verification
python examples/05_audit_trail.py            # Article 12 audit logging

End-to-End Example: EU AI Act Compliance

This walkthrough takes a high-risk medical AI agent from zero to fully compliant.

1. Create Agent Identity

create_agent_identity(
  display_name="MedAssist-AI",
  capabilities="medical_diagnosis,patient_triage",
  description="AI-assisted medical diagnosis for clinical decision support",
  issuer_name="VibeTensor Inc."
)
--> agent_id: attestix:f9bdb7a94ccb40f1
--> eu_compliance: null

2. Record Training Data Provenance (Article 10)

record_training_data(
  agent_id="attestix:f9bdb7a94ccb40f1",
  dataset_name="PubMed Central Open Access",
  license="CC-BY-4.0",
  contains_personal_data=false,
  data_governance_measures="Peer-reviewed only, quality-checked"
)

3. Record Model Lineage (Article 11)

record_model_lineage(
  agent_id="attestix:f9bdb7a94ccb40f1",
  base_model="claude-opus-4-6",
  base_model_provider="Anthropic",
  fine_tuning_method="LoRA + RLHF with physician feedback",
  evaluation_metrics_json='{"diagnostic_accuracy": 0.94}'
)

4. Create Compliance Profile

create_compliance_profile(
  agent_id="attestix:f9bdb7a94ccb40f1",
  risk_category="high",
  provider_name="VibeTensor Inc.",
  intended_purpose="Medical diagnosis assistance",
  transparency_obligations="Discloses AI-generated content, provides confidence scores",
  human_oversight_measures="Physician approval required for all treatment recommendations"
)
--> 12 required obligations listed for high-risk

5. Check Compliance Status (Gap Analysis)

get_compliance_status(agent_id="attestix:f9bdb7a94ccb40f1")
--> completion_pct: 75.0%
--> missing: ["conformity_assessment_passed", "declaration_of_conformity_issued"]

6. Record Conformity Assessment (Article 43)

High-risk systems require third-party assessment. Self-assessment is blocked:

record_conformity_assessment(
  agent_id="attestix:f9bdb7a94ccb40f1",
  assessment_type="self", ...
)
--> ERROR: "High-risk AI systems require third_party conformity assessment (Article 43)."

record_conformity_assessment(
  agent_id="attestix:f9bdb7a94ccb40f1",
  assessment_type="third_party",
  assessor_name="TUV Rheinland AG",
  result="pass",
  ce_marking_eligible=true
)
--> PASS

7. Generate Declaration of Conformity (Annex V)

generate_declaration_of_conformity(agent_id="attestix:f9bdb7a94ccb40f1")
--> Annex V declaration with 10 required fields
--> Auto-issues EUAIActComplianceCredential (W3C Verifiable Credential)

8. Verify Full Compliance

get_compliance_status(agent_id="attestix:f9bdb7a94ccb40f1")
--> compliant: true
--> completion_pct: 100.0%
--> eu_compliance: "comp:14f05fb98b20" (linked on UAIT)

9. Present Compliance to a Verifier

create_verifiable_presentation(
  agent_id="attestix:f9bdb7a94ccb40f1",
  credential_ids="urn:uuid:7161cb5e-...",
  audience_did="did:web:eu-regulator.europa.eu"
)
--> Signed VP with embedded VCs, ready for cryptographic verification

All 47 Tools Reference

Identity (8 tools)
Tool Description
create_agent_identity Create a UAIT from any identity source
resolve_identity Auto-detect token type and register
verify_identity Check existence, revocation, expiry, signature
translate_identity Convert to A2A, DID Document, OAuth, or summary
list_identities List UAITs with protocol/revocation filters
get_identity Get full UAIT details
revoke_identity Mark a UAIT as revoked
purge_agent_data GDPR Article 17 right to erasure across all stores
Agent Cards (3 tools)
Tool Description
parse_agent_card Parse an A2A Agent Card JSON
generate_agent_card Generate agent.json for hosting
discover_agent Fetch /.well-known/agent.json from a URL
DID (3 tools)
Tool Description
create_did_key Generate ephemeral did:key with Ed25519 keypair
create_did_web Generate did:web DID Document for self-hosting
resolve_did Resolve any DID to its DID Document
Delegation (4 tools)
Tool Description
create_delegation UCAN-style capability delegation token
verify_delegation Verify JWT signature, expiry, structure
list_delegations List delegations by agent and role
revoke_delegation Revoke a delegation token
Reputation (3 tools)
Tool Description
record_interaction Record outcome and update trust score
get_reputation Get score with category breakdown
query_reputation Search agents by reputation criteria
Compliance (7 tools)
Tool Description
create_compliance_profile Create EU AI Act profile with risk categorization
get_compliance_profile Retrieve full compliance profile
update_compliance_profile Update an existing compliance profile
get_compliance_status Gap analysis: completed vs missing requirements
record_conformity_assessment Record self or third-party assessment (Article 43)
generate_declaration_of_conformity Generate Annex V declaration + auto-issue VC
list_compliance_profiles Filter by risk category and compliance status
Credentials (8 tools)
Tool Description
issue_credential Issue W3C VC with Ed25519Signature2020 proof
verify_credential Check signature, expiry, revocation (local credentials)
verify_credential_external Verify any VC JSON from an external source
revoke_credential Revoke a Verifiable Credential
get_credential Get full VC details
list_credentials Filter by agent, type, validity
create_verifiable_presentation Bundle VCs into a signed VP for a verifier
verify_presentation Verify a VP with embedded credentials
Provenance (5 tools)
Tool Description
record_training_data Record training data source (Article 10)
record_model_lineage Record model chain and evaluation metrics (Article 11)
log_action Log agent action with hash-chained audit trail (Article 12)
get_provenance Get full provenance record
get_audit_trail Query audit log with filters
Blockchain (6 tools)
Tool Description
anchor_identity Anchor identity hash to Base L2 via EAS
anchor_credential Anchor credential hash to Base L2 via EAS
anchor_audit_batch Merkle batch anchor of audit log entries
verify_anchor Verify an on-chain anchor against local data
get_anchor_status Get anchoring status for an artifact
estimate_anchor_cost Estimate gas cost for anchoring

Roadmap

Completed

  • Identity & Trust - 21 tools for agent identity, DID, delegation, reputation, agent cards
  • EU AI Act Compliance - 20 tools for risk profiles, conformity assessments, Annex V declarations, W3C VCs
  • Blockchain Anchoring - 6 tools for Base L2 anchoring via EAS, Merkle batch anchoring
  • GDPR Compliance - Article 17 right to erasure across all data stores
  • External Verification - Third-party VP and credential verification without internal access
  • Hash-Chained Audit Trail - Tamper-evident SHA-256 chain hashes on all audit entries
  • SSRF Protection - Private IP blocking on DID resolution and agent discovery

Next: Ecosystem Bridges

  • ERC-8004 Identity Registry adapter (UAIT <-> ERC-721)
  • A2A Agent Card auto-sync
  • ANS (Agent Name Service) resolution
  • Polygon ID zero-knowledge credential support

Documentation

Document Description
Getting Started Installation and first identity in 5 minutes
EU AI Act Compliance Step-by-step compliance workflow
Risk Classification How to determine your AI system's risk category
Concepts UAIT, DID, VC, VP, UCAN, Ed25519 explained
API Reference All 47 tools with full parameter tables
Integration Guide LangChain, CrewAI, AutoGen, MCP client patterns
FAQ Common questions answered

Important Disclaimer

Attestix generates machine-readable, cryptographically signed compliance documentation for AI agents. It is a documentation and evidence tooling system.

Attestix does not replace legal counsel, notified body assessments, or official regulatory submissions. The declarations and artifacts produced by Attestix are structured evidence to support your compliance process, not legally binding regulatory filings on their own. Always consult qualified legal professionals for compliance decisions.


Security

  • Ed25519 signatures on all UAITs, VCs, assessments, declarations, and audit entries
  • Hash-chained audit trail with SHA-256 chain hashes for tamper-evident logging
  • SSRF protection blocks private IPs, metadata endpoints, and DNS rebinding on all URL operations
  • did:key identifiers derived from server signing key (multicodec 0xed01)
  • Encrypted key storage with AES-256-GCM when ATTESTIX_KEY_PASSWORD is set
  • Private keys never returned in tool responses (stored locally)
  • Signing key stored in .signing_key.json (excluded from git)
  • No external API calls required for core operations
  • All sensitive files excluded via .gitignore: .env, .signing_key.json, .keypairs.json, runtime data files

Contributing

See CONTRIBUTING.md for development setup and guidelines.


License

Apache License 2.0. See LICENSE for details.


Built by VibeTensor

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

attestix-0.2.0.tar.gz (67.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

attestix-0.2.0-py3-none-any.whl (72.5 kB view details)

Uploaded Python 3

File details

Details for the file attestix-0.2.0.tar.gz.

File metadata

  • Download URL: attestix-0.2.0.tar.gz
  • Upload date:
  • Size: 67.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for attestix-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5b1d16c66e609f1dd5de3b0e0d015ac6d522616dd19bebd1491bc062210d4868
MD5 14083bedb04542daf413745a6e14bccb
BLAKE2b-256 9c45cbed1ca8074318c4d1bab51e26059e07a96db710b85040b10132ef9f9129

See more details on using hashes here.

File details

Details for the file attestix-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: attestix-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 72.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for attestix-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6899f9e6a9ed3498cd688ce48f871f42746661df84ca23b512ac3ac9199cffaa
MD5 acc0c668cc240acca676beac7597c545
BLAKE2b-256 b1218de0e1c3e8290f2eaad6be03e01da8fcb3505a6917aa2b6a85487b2fa8e2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page