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, ornode scripts/gen-owner-key.mjs <name>inside the jiaozi_app repo). - Demo / smoke-test only: pass
--demo-owner-keyto 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_localsection 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| jiaozi_validator-0.3.2.tar.gz | 14.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.