JACS Rust Crate
Cryptographic identity, signing, and verification for agent systems.
Documentation | Quick Start | API Reference
For the CLI and MCP server:
What it does
| Capability | Rust API |
|---|---|
| Agent identity and signed JSON | jacs::simple |
| Inline Markdown/text signatures | jacs::text |
| PNG/JPEG/WebP provenance | jacs::media |
| RFC 5322 email signatures | jacs::email |
| Agreements, storage, DNS, and trust | Core crate modules |
Quick start
use ;
load?;
let signed = sign_message?;
let result = verify?;
assert!;
Artifact provenance
use ;
use ;
// Markdown/text: append an inline signature block.
sign_text_file?;
let text = verify_text_file?;
// Images: embed a JACS signature in PNG iTXt, JPEG APP11, or WebP XMP.
sign_image?;
let image = verify_image?;
Email signing is Rust-only today:
use ;
let raw_eml = read?;
let signed_eml = sign_email?;
let sender_public_key = agent.get_public_key?;
let result = verify_email?;
assert!;
CLI
Security
- Password entropy validation for key encryption
- Private key zeroization on drop
- Algorithm identification embedded in signatures with downgrade prevention
- DNSSEC-aware identity verification paths
- Stdio-only MCP server; no network listener
pq2025/ ML-DSA-87 is the default for new agents
Report vulnerabilities to security@hai.ai.
Links
Version: 0.10.1 | Apache-2.0