Metadata-Version: 2.4
Name: computeid-sdk
Version: 2.0.0
Summary: Real, server-backed HTTP client for the ComputeID API (cryptographic identity for AI agents, devices, and workloads)
Home-page: https://github.com/trustedaicompute-ops/computeid-sdk
Author: ComputeID
Author-email: hello@compute-id.com
Keywords: gpu identity certificates quantum-safe ai agents security cryptography
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security :: Cryptography
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# ComputeID SDK

**Cryptographic identity for AI compute infrastructure and agentic AI systems.**

> Every GPU needs a passport. Every AI agent needs an identity.

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![PyPI version](https://img.shields.io/badge/pypi-v2.0.0-blue)](https://pypi.org/project/computeid-sdk/)
[![compute-id.com](https://img.shields.io/badge/docs-compute--id.com-00b4ff)](https://compute-id.com)

---

## What is ComputeID?

ComputeID provides two things:

1. **DeviceID** — Cryptographic passports for GPUs, servers, and compute hardware
2. **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

```bash
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.)

```python
from computeid import ComputeIDClient

client = ComputeIDClient(api_key="your-api-key")
```

### GPU / Device Identity

```python
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

```python
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:

```python
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

```python
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](https://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

```bash
git clone https://github.com/trustedaicompute-ops/computeid-sdk
cd computeid-sdk
pip install -e ".[dev]"
```

---

## Links

- **Website:** [compute-id.com](https://compute-id.com)
- **Dashboard:** [aicomputeid.com](https://aicomputeid.com)
- **GitHub:** [github.com/trustedaicompute-ops](https://github.com/trustedaicompute-ops)
- **Email:** hello@compute-id.com

---

## License

MIT License — free to use, modify and distribute.

Copyright 2026 ComputeID / TrustedAI Compute
