JACS: JSON Agent Communication Standard
Cryptographic identity, signing, and verification for AI agents.
Documentation | Quick Start | API Reference
What it does
| Capability | Description |
|---|---|
| Agent Identity | Generate a cryptographic keypair. Post-quantum (ML-DSA-87) or Ed25519 for new agents; RSA-PSS remains verification-only for legacy artifacts. |
| Data Provenance | Sign any JSON document or file with tamper-evident signatures. |
| Agent Trust | Verify identities, manage trust stores, enforce trust policies across agents. |
Quick start (Rust)
use ;
load?;
let signed = sign_message?;
let result = verify?;
assert!;
CLI
What's new in 0.10.0
Why this matters: shared markdown reviewed by multiple agents and signed images for AI-era provenance now have first-class support — the signature lives inside the artifact, the file renders normally, and downstream consumers verify identity + claimed timestamp via the same JACS trust model they already use for JSON documents.
use ;
use ;
// Inline text — signature appended in a YAML-bodied block at end of file
sign_text_file?;
let report = verify_text_file?;
println!; // Signed { signers } | MissingSignature | Malformed
// Strict mode rejects missing signatures with ErrorKind::MissingSignature
let strict = verify_text_file;
// Images — signature embedded in PNG iTXt / JPEG APP11 / WebP XMP
sign_image?;
let result = verify_image?;
A JACS inline signature proves "agent X signed these canonical bytes at their claimed time." It does not prove first creation or legal ownership.
Security
- Password entropy validation for key encryption
- Private key zeroization on drop
- Algorithm identification embedded in signatures with downgrade prevention
- DNSSEC-validated identity verification
- MCP server uses stdio only — no network exposure
- 260+ automated tests covering cryptographic operations and attack scenarios
Report vulnerabilities to security@hai.ai.
Links
Version: 0.10.0 | HAI.AI