Skip to content

Quickstart

The 60-second test: install the SDK in your language of choice, run the conformance suite, see the 59 canonical fixtures pass. If they pass on your machine, you’ve proven byte-for-byte interop with every other Ratify implementation.

Terminal window
# Install as a module in your project
go get github.com/identities-ai/ratify-protocol@v1.0.0-alpha.6
# Or clone and run the full conformance suite
git clone https://github.com/identities-ai/ratify-protocol
cd ratify-protocol
go test ./...
# → ok github.com/identities-ai/ratify-protocol 0.5s

Full Go quickstart →

Every Ratify SDK ships a test that loads testvectors/v1/*.json — 59 fixtures generated deterministically by the Go reference implementation — and verifies each one. The fixtures cover:

  • Valid delegations of various scopes, durations, and chain depths
  • Tampered delegations (modified scope, modified expiry, modified subject)
  • Expired certs (clock-skew scenarios)
  • Out-of-scope requests (requested scope not granted by chain)
  • Revoked certs (against signed revocation lists)
  • Hybrid signature edge cases (Ed25519 valid + ML-DSA-65 invalid, both invalid, etc.)
  • Sub-delegation chains (Alice → Agent-A → Agent-B)
  • Constraint enforcement (geo, time, version)

If all 59 pass in your SDK, your SDK produces and verifies the same bytes as every other Ratify SDK on the planet. That is the interoperability contract.

The conformance suite proves the bytes are correct. The demos prove the protocol does what it claims. Each runs nine scenarios — five positive (authorized → verified), four negative (tampered / out-of-scope / expired / revoked) — and prints what happened and why.

Go

Terminal window
cd ratify-protocol
go run ./demos/go

Python

Terminal window
cd sdks/python && pip install -e . && cd ../..
python demos/python/demo.py

TypeScript

Terminal window
cd sdks/typescript && npm install && npm run build && cd ../..
cd demos/typescript && npm install && npm run demo

Rust

Terminal window
cargo run --manifest-path demos/rust/Cargo.toml

The demos are a single repository directory with an identical script structure per language. Reading one demo and watching it run is the fastest way to understand what the protocol does.