ComputeID SDK
Cryptographic identity for AI compute infrastructure and agentic AI systems.
Every GPU needs a passport. Every AI agent needs an identity.
What is ComputeID?
ComputeID provides two things:
- DeviceID — Cryptographic passports for GPUs, servers, and compute hardware
- AgentID — Cryptographic passports for AI agents and autonomous systems
Think of it as a passport system for AI infrastructure. Every device and every agent gets a unique cryptographic identity, a certificate of what it is allowed to do, and an immutable audit trail of everything it has done.
Installation
pip install computeid-sdk
Quick Start
v2.0.0 is a genuine, server-backed HTTP client — every call below is a real
request to the ComputeID API. (Earlier versions were a local-only
simulation; see CHANGELOG.md if you're upgrading from 1.x.)
from computeid import ComputeIDClient
client = ComputeIDClient(api_key="your-api-key")
GPU / Device Identity
device = client.register_device(
name="NVIDIA A100 #1",
device_category="gpu",
)
print(device["passport_id"], device["status"]) # real, server-issued
v = client.verify_device(device["passport_id"])
print(v["signature_valid"], v["pq_signature_valid"]) # real ML-DSA-87 verification
AI Agent Identity
from computeid import AgentPassport
# Issue a real passport for your AI agent
passport = AgentPassport.issue(
client, "ResearchAgent",
organization="Acme Corp",
capabilities=["read", "web_browse", "api_call"],
)
# Check if trusted before giving access — a real GET .../verify, every call
if passport.is_trusted():
run_your_agent(passport=passport)
# Log every action the agent takes (persisted server-side)
passport.log_action("web_search", details={"query": "market research"}, outcome="success")
# Revoke instantly if needed — a real DELETE .../revoke
passport.revoke(reason="Unexpected behaviour detected")
Capabilities and Trust Score
There's no separate client-side "trust level" concept — an agent's real
authorization is its capabilities list (plain strings you define, e.g.
"read", "web_browse", "invoke:llm", "write:payments"), checked
server-side via check_agent_capability().
Whether to actually trust an action right now is answered by Trust Score — a contextual, per-action score (not a static per-identity number) combining identity verification, whether the exact capability is granted, whether the passport is still active, its audit-log continuity, and (if it has one) borrowed credit from a well-established owner/delegator:
score = client.get_trust_score(passport_id, "write:payments")
print(score["trust_score"], "/", score["max_score"], score["decision"])
# decision is one of ALLOW / CONDITIONAL_ALLOW / DENY
Full Example — Agentic AI with PassportOffice, Trust Score, and Trust Graph
from computeid import ComputeIDClient, AgentPassport, PassportOffice
client = ComputeIDClient(api_key="your-api-key")
# 1. Issue a real passport, with a real capability list
passport = AgentPassport.issue(
client, "DataAnalysisAgent",
organization="Acme Corp",
capabilities=["read", "web_browse", "api_call"],
)
# 2. Gate a function on a real capability check
def search_web(query: str, passport: AgentPassport):
check = passport.check_capability("web_browse")
if not check["granted"]:
raise PermissionError(f"passport lacks web_browse: {check['reason']}")
return do_search(query)
results = search_web("GPU rental prices", passport=passport)
# 3. Real, contextual Trust Score before a sensitive action
score = passport.get_trust_score("api_call")
if score["decision"] != "ALLOW":
raise RuntimeError(f"blocked: {score['decision']}")
# 4. Multi-agent trust chain — real Trust Graph relationship, not local metadata
orchestrator = AgentPassport.issue(client, "OrchestratorAgent", organization="Acme Corp",
capabilities=["read", "spawn_agents"])
child_agent = AgentPassport.issue(client, "SubAgent-1", organization="Acme Corp",
capabilities=["read", "web_browse"])
client.create_relationship(orchestrator.passport_id, child_agent.passport_id, "delegates_to")
# child_agent's relationship_trust dimension now reflects real borrowed
# credit from orchestrator, IF orchestrator is itself well-established —
# see docs/design-trust-graph.md in computeid-backend for exactly how.
child_score = child_agent.get_trust_score("web_browse")
print(child_score["dimensions"]["relationship_trust"])
# 5. See exactly what revoking the orchestrator would affect, before doing it
impact = client.get_revocation_impact(orchestrator.passport_id)
for related in impact["revocation_impact"]["related_passports"]:
print(related["name"], "delta if revoked:", related["relationship_trust_delta"])
# 6. Organisation-wide tracking — real, live verification, not a cache
office = PassportOffice(client, org_name="Acme Corp")
office.track(orchestrator.passport_id)
office.track(child_agent.passport_id)
if office.is_trusted(child_agent.passport_id):
print("Agent is trusted (verified live, just now)")
print(f"Active agents right now: {len(office.get_active_agents())}")
Why Agent Passports Matter
The rise of agentic AI creates a new security challenge:
- Who built this agent? — No way to verify
- What is it allowed to do? — No standard capability model
- What has it done? — No audit trail
- Can we stop it? — No revocation mechanism
- Which agents trust each other? — No trust chain
ComputeID AgentID solves all of these with cryptographic guarantees.
Free Tier
| Feature | Free | Growth ($499/mo) | Enterprise ($1,999/mo) |
|---|---|---|---|
| Device passports | 3 devices | 50 devices | Unlimited |
| Agent passports | 5 agents | 100 agents | Unlimited |
| Audit log retention | 7 days | 90 days | 1 year |
| Quantum-safe certs | ❌ | ✅ | ✅ |
| Custom CA | ❌ | ❌ | ✅ |
| API access | ✅ | ✅ | ✅ |
Get started free at compute-id.com
Regulatory Compliance
ComputeID helps you meet:
- EU AI Act — requires audit trails for high-risk AI systems
- NIST AI RMF — AI risk management framework
- SOC2 Type II — compute infrastructure audit logs
- NSA CNSA 2.0 — post-quantum cryptography by 2030
Contributing
ComputeID SDK is open source under the MIT license.
We welcome contributions — especially:
- Client libraries for other languages (Go, Rust, Java)
- Integration examples with popular AI frameworks
- Protocol specification improvements
git clone https://github.com/trustedaicompute-ops/computeid-sdk
cd computeid-sdk
pip install -e ".[dev]"
Links
- Website: compute-id.com
- Dashboard: aicomputeid.com
- GitHub: github.com/trustedaicompute-ops
- Email: hello@compute-id.com
License
MIT License — free to use, modify and distribute.
Copyright 2026 ComputeID / TrustedAI Compute
Metadata
Release files for computeid-sdk 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| computeid_sdk-2.0.0.tar.gz | 12.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| computeid_sdk-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.8 kB
Release files / computeid_sdk-2.0.0.tar.gz
| Download URL | computeid_sdk-2.0.0.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fe91d2b60f720b353d968492cded79e20c9ce353f480cad3f9dc6dc9839deccb
|
|
BLAKE2b-256 checksum How to use checksums |
b6228cc777aa9a1f9cd904971b01d2823e196c3994c921f5b94fc5e44096f2ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.7
|
Release files / computeid_sdk-2.0.0-py3-none-any.whl
| Download URL | computeid_sdk-2.0.0-py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2cae307660785518527e48f4b46d6bc30db506cf7826c5520ddc85c72dacf2da
|
|
BLAKE2b-256 checksum How to use checksums |
407cc906acb868a8a484e956c4cb17a2c5f3a8da6fbb8cb756fe9782217a3977
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.7
|