Roadmap

This repository is the public adapter-contract starting point for Zero Trust V2.

Product thesis: ZT-Infra should own the agent-action adapter contract, not every security primitive around it. The contract defines how agent frameworks ask for authorization, fail closed, hand approved work to brokers, and emit audit evidence. Identity can come from SPIFFE/SPIRE or NANDA-style patterns, policy can come from OPA/Cedar and CSA ATF-aligned governance, execution containment can come from nono or microVM/container sandboxes, and observability can come from SIEM/runtime telemetry.

Contributor vision: this project is for people who want to define the portable authorization contract for agent actions. The goal is intentionally narrow and defensible: one adapter shape, one audit envelope, one conformance suite, many identity/policy/sandbox backends.

Phase 1: Hello World Adapter

Status: current

ItemStatusNotes
Local mock Zero Trust control planeDonenpm run zt:mock and Docker Compose path.
Agent registrationDonePOST /agents in the mock control plane.
Deny-before-execute demoDonenpm run demo:deny and /demo/deny.
Allow-before-execute demoDonenpm run demo:allow after policy allow.
Tiny JavaScript client SDKDoneZeroTrustClient with guardedCall.
Docker Compose quickstartDonedocker compose up runs mock control plane and web adapter.
Docker Local Execution BrokerDoneFirst public broker example under brokers/docker-local.
Audit verification CLIDonezt-audit verify audit.json.
Public Authorization Gateway IaC skeletonDoneIAM-authorized Lambda Function URL Terraform example.
CodeQL, Dependabot, dependency reviewDoneGitHub workflows and repository settings.
Good First Issue backlogDoneThree labeled onboarding issues.
GitHub Project boardPlannedManaged outside the public adapter source tree.
Community feedback pathDoneModerated community channel and GitHub issue path documented.
DAAL public testnet proofMVP Evidence PublishedVerification criteria are documented. Production reconciliation, alerting, and verifier automation remain planned.
Production identity bindingIn ProgressPhase 2 extends service identity with mTLS/SPIFFE consumption and actor binding; zt-infra is not replacing SPIFFE/SPIRE.
Phase 1 ready criteriaDonePHASE1_READY.md defines current, experimental, and non-claimable capabilities.
Risk registerDoneRISK_REGISTER.md tracks launch and architecture risks.
Incident response playbookDoneINCIDENT_RESPONSE.md defines freeze and recovery steps.
SBOM and secret-scan CIDoneCI runs local secret scan and uploads a CycloneDX SBOM artifact.

Adapter Roadmap Status

WorkstreamDoneIn ProgressNext
Developer onboardingREADME quickstart, Docker Compose, docs site, Good First IssuesImprove CLI help and fixtures through public issuesAdd SDK API reference
Adapter contract/actions, deny/allow demos, guarded SDK call, audit envelopeVersioned request/response schemaConformance suite across adapter surfaces
Policy engine integrationMock policy evaluatorOPA/Cedar policy templatesEngine-agnostic PDP adapters
ExecutionDocker Local Broker, Nono CLI BrokerCloud broker designAWS Lambda and Kubernetes Job brokers
EvidenceAudit-shaped responses and hash verifier CLIKMS signature verification docs, DAAL source-to-contract mapping, reconciliation alertsDAAL verifier integration and reconciliation docs
InfrastructurePublic IAM-authorized gateway skeletonFull one-command gateway + brokerHardened production modules
GovernanceSECURITY, CONTRIBUTING, branch protection, CodeQL, DependabotProject board pending auth scopeContributor milestones and release cadence

Phase 2: Workload Identity Extensions

Planned:

Why it matters:

Adapters should not rely only on bearer tokens or network location. Workload identity lets the adapter contract bind actor to a real workload identity. ZT-Infra should consume those identities, not replace the system that issues them.

Next requirements:

Exit criteria:

Phase 3: Agent Attestation

Planned:

Why it matters:

SPIFFE identifies workloads. The adapter contract also needs explainable runtime context: which model, which tool manifest, which sandbox, which broker, which policy, and which code produced the action.

Next requirements:

Exit criteria:

Phase 4: Trust Bundles And Federation

Planned:

Why it matters:

The SPIFFE analogy only becomes real when identities can cross boundaries safely. Agents will call tools across teams, vendors, SaaS providers, and customer environments.

Next requirements:

Exit criteria:

Phase 5: Execution Brokers

Planned:

Execution Brokers are responsible for running approved actions after policy allows execution.

Phase 6: Policy And Conformance

Planned:

Why it matters:

OCI succeeded because container behavior became portable across runtimes. This project needs the same kind of portability for agent policy decisions and audit evidence.

Next requirements:

Exit criteria:

Phase 7: Evidence Integrations

Planned:

Non-Goals

Nono Status

Nono is part of the public adapter MVP as an optional Execution Broker and the flagship local containment example.

Earlier planning used "Nono" as a possible narrative or assistant persona. The current role is now concrete: the public repository includes a Nono CLI broker that converts approved Zero Trust actions into least-privilege nono run capability flags. ZT-Infra answers "should this run?" and nono answers "what will the kernel permit if it does run?" Contributors should keep the integration focused on policy-before-execution, sandbox spawn safety, capability mapping, and audit evidence.