Skip to content

KineGrant Protocol v0.1.1

Latest

Choose a tag to compare

@zoahdev zoahdev released this 10 Aug 15:39
2f0fc37

KineGrant Protocol reference implementation v0.1.1

This security-hardening release implements KGP-001 Experimental Open Draft 0.1. It remains experimental and must not be used as the sole safety control for real machinery.

Security hardening

  • Trust no policy issuer by default; untrusted rules cannot grant permission.
  • Fail closed on unknown or incomplete ODRL/MyTerms authorization semantics.
  • Evaluate request freshness and policy validity against trusted local time.
  • Bind capabilities to a digest of the complete normalized policy snapshot.
  • Enforce strict capability fields, version, time ordering, 300-second maximum TTL, nonce, digest, and request binding.
  • Atomically consume capabilities once, with persistent SQLite replay protection across restarts.
  • Require gate-verified capabilities for receipt creation and enforce trusted executors and one terminal receipt per capability.
  • Protect adapter-owned context and validate runtime models strictly.
  • Publish five Draft 2020-12 JSON Schemas and expanded threat-model and implementation guidance.

Validation

  • 33 unit, schema, adapter, replay, capability, policy-trust, and receipt-trust tests passed.
  • Python 3.11, 3.12, and 3.13 GitHub Actions passed.
  • Demo smoke test passed.
  • Wheel and sdist builds passed.

Compatibility and boundaries

The protocol wire format remains 0.1; only the Python reference implementation version changes to 0.1.1. Existing permissive integrations may need explicit trusted issuers, supported authorization constraints, durable replay storage, and trusted executor configuration.

License: Apache-2.0. Verify downloadable assets with SHA256SUMS.txt.