Skip to main content

jiaozi-validator

Local health-check CLI for AI agents. Scans your agent directory, computes a software gene hash, and produces a jiaozi.attest.v1 summary — optionally submitting it to JIAOZI for credential issuance.

Your code never leaves your machine: only hashes and check results are submitted.

pip install jiaozi-validator

# 1) Generate your owner key pair (once). The credential binds to this key —
#    it is what proves the agent is YOURS. Keep owner.pem safe.
node -e "const c=require('crypto'),f=require('fs');const{publicKey,privateKey}=c.generateKeyPairSync('ed25519');f.writeFileSync('owner.pem',privateKey.export({type:'pkcs8',format:'pem'}),{mode:0o600});const d=publicKey.export({type:'spki',format:'der'});f.writeFileSync('owner.pub','z'+d.subarray(d.length-32).toString('base64url')+'\n');console.log('written: owner.pem (private, keep safe) + owner.pub')"

# 2) Print the attestation summary only (nothing is sent anywhere)
jiaozi-validator --agent-name MyAgent --path ./my-agent \
  --owner-pubkey-file owner.pub --dry-run

# 3) Submit for issuance (requires an API key)
export JIAOZI_API_KEY=your-key
jiaozi-validator --agent-name MyAgent --path ./my-agent \
  --owner-pubkey-file owner.pub \
  --api-url https://www.jiaozi.io/api/verify

China deployment: use --api-url https://www.jiaozi.tech/api/verify.

Owner key is required

Since 0.3.2 the CLI refuses to run without an owner public key. Earlier versions silently fell back to a public demo placeholder key, which meant the issued credential bound its "owner" to a key anyone could claim — ownership proof was void without the user noticing.

  • Normal use: pass --owner-pubkey-file <file> (generate one with the one-liner above, or node scripts/gen-owner-key.mjs <name> inside the jiaozi_app repo).
  • Demo / smoke-test only: pass --demo-owner-key to explicitly opt in to the placeholder key. A loud warning is printed to stderr and the local report gains "_local": { "ownerKeyDemo": true }. The marker stays in the local-only _local section and is never part of the submitted payload; a credential issued this way cannot prove ownership.

What it checks

  • Software gene hash (deterministic digest of your agent's code)
  • Secret-leak scan (common credential patterns)
  • Structure and metadata sanity

The output schema jiaozi.attest.v1 is part of the open protocol (jiaozi-protocol GitHub org); the credential's live revocation status is verifiable by anyone via the jiaozi.status.v1 spec.

Development

cd packages/validator
python3 -m venv .venv && source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -e .
python -m unittest discover -s tests -v

MIT License.

Metadata

Release files for jiaozi-validator 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jiaozi-validator 0.3.2
File Size Uploaded Provenance
jiaozi_validator-0.3.2.tar.gz 14.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for jiaozi-validator 0.3.2
File Interpreter ABI Platform
jiaozi_validator-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 26.2 kB

Release files / jiaozi_validator-0.3.2.tar.gz

Download URL jiaozi_validator-0.3.2.tar.gz
Size 14.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a9ac01ec292bfca5031c3be315254012b94db8d34dcc1892e9bbf1ade88d17d5
BLAKE2b-256 checksum
How to use checksums
b3a8a9c72aa5fecbf0373f2cb806bebba93d2b39a25b546f18408121e7ccf50f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Release files / jiaozi_validator-0.3.2-py3-none-any.whl

Download URL jiaozi_validator-0.3.2-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
224b6f2f9c59098620e92886d70e4eca7ab3cce909848ca596f996801e77535a
BLAKE2b-256 checksum
How to use checksums
c0d90d046a424a404e24ba7ffb7096855fefc7e9b3bad7ab2159c88ede998651
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Security for jiaozi-validator 0.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page