NTI-1 Verified Badge
A federated, post-quantum-signed compliance certificate system for AI agent repositories.
What This Is
The NTI-1 Badge is not a badge. It is a protocol. It gives every AI agent repository a portable, cryptographically signed compliance certificate that any third party can verify offline. No subscription. No data lock-in. No central authority.
Live Service
The live service is deployed at: https://nti-badge-svs1.vercel.app
- Live Service: https://nti-badge-svs1.vercel.app
- Public Registry: https://nti-badge-svs1.vercel.app/api/registry
- Leaderboard: https://nti-badge-svs1.vercel.app/api/leaderboard
Installation
Install nti-badge from PyPI:
pip install nti-badge
Python API Usage
Embed badge generation and certificate verification in your Python code:
import nti_badge
# Render an SVG badge
svg_content = nti_badge.render_badge_svg(
label="NTI-1",
value="95/100 Platinum",
color="#e5e4e2",
tier_emoji="🏆"
)
# Parse and validate an NTI-Cert/1 certificate
cert = nti_badge.parse_certificate(cert_json_dict)
# Verify signature and cryptographic hash integrity offline
is_valid_sig = nti_badge.is_valid_signature(cert)
is_valid_hash = nti_badge.verify_cert_integrity(cert)
What Makes It Different
| Traditional badge | NTI-1 Verified Badge |
|---|---|
| Self-reported score | OIDC + Dilithium5 signed |
| Vendor holds your data | Your repo holds the cert |
| GitHub only | GitHub, GitLab, Azure, Google, custom |
| Cannot verify offline | Verify with one command, no network |
| Centralized | Federated — anyone can mirror |
| Marketing PDF | Cryptographic proof |
Your Certificate, Your Data
Every scan produces a nti-certificate.json file that lives in your repository — not on our servers. It is Dilithium5-signed, tied to a specific commit, and verifiable offline with a single command. This is why NTI is a neutral, federated standard: you own your compliance history forever. We only index a cryptographic hash so the world can see it. If NTI disappears tomorrow, your proof survives.
Install in 2 Steps
1. Add the workflow
name: NTI Verify
on: [push, pull_request]
permissions:
id-token: write
contents: read
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: abisheakp197/nti-badge@v1
- name: Commit certificate
run: |
git config user.name "nti-bot"
git config user.email "bot@nti.local"
git add nti-certificate.json
git commit -m "chore: NTI certificate [skip ci]" || true
git push || true
2. Add the badge to your README
[](https://nti-badge-svs1.vercel.app/repo.html?repo=your-org/your-repo)
Verify Offline
Using nti-scanner:
pip install nti-scanner
nti-scanner verify ./nti-certificate.json
No network. No NTI servers. Just math.
Federation
Any organization can run a mirror node. Read /api/federation for the manifest. Deploy this repo to Vercel, attach a KV store, announce your mirror.
Endpoints
POST /api/verify— submit cert for indexingGET /api/badge?repo=owner/repo— SVG badgeGET /api/certificate?repo=owner/repo— index entry + historyGET /api/registry— full indexGET /api/leaderboard— top 50GET /api/transparency— append-only public logGET /api/org?name=<org>— org aggregateGET /api/federation— federation manifest
The Certificate Spec
License
Apache License 2.0. See LICENSE.
Links
- PyPI Package: https://pypi.org/project/nti-badge/
- Live Service: https://nti-badge-svs1.vercel.app
- Public Registry: https://nti-badge-svs1.vercel.app/api/registry
- NTI-1 Spec: https://abisheakp197.github.io/nti-spec/
- nti-scanner: https://pypi.org/project/nti-scanner/
- ube-foundation: https://pypi.org/project/ube-foundation/
Metadata
Release files for nti-badge 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nti_badge-0.1.0.tar.gz | 15.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nti_badge-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.5 kB
Release files / nti_badge-0.1.0.tar.gz
| Download URL | nti_badge-0.1.0.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
99dad39f68b0921a5171fba6d9ee7f758c18687b06db1e8f2f03fe9d7a8e763e
|
|
BLAKE2b-256 checksum How to use checksums |
f8c6ade277eca048aecf9d85f8e4f36e3cd48e52a1b0fde8c4142c5326e5aa4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / nti_badge-0.1.0-py3-none-any.whl
| Download URL | nti_badge-0.1.0-py3-none-any.whl |
|---|---|
| Size | 13.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e51af686ce9c168089413af413ed32075c99153f32da5a62e9154ff82789b867
|
|
BLAKE2b-256 checksum How to use checksums |
bff4135cb598ee0dbae8fcca3be410d0af3db1ff3a763cd68bf50abd87d74dde
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency log