
Governing the Agentic SDLC Through Continuous Policy Enforcement
JFrog proposes the Agentic Process Evidence Protocol, an open spec that records coding-agent sessions (harness and agent version, model ID, tool and MCP calls, prompts, owner, human reviewer) as signed in-toto/DSSE attestations bound to a git commit, artifact or release. Policy-as-code release gates can then check for approved LLMs and MCP tools, an accountable human and adherence to guidelines, and the logs allow post-release audit. The post gives mock session-log and evidence JSON, ties the approach to EU AI Act Articles 12 and 14, OWASP AISVS and SLSA, and points to a GitHub reference repo, with JFrog AppTrust as the commercial implementation.
What it claims
JFrog proposes the Agentic Process Evidence Protocol as an open, vendor-neutral evidence layer. Any harness (Cursor, OpenCode, Claude Code or custom workers are named as integration targets) would emit a signed attestation per agentic process, and SDLC gates would consume it. The spec lives at https://github.com/jfrog/agentic-process-evidence. The post presents it as a call for contributors, not a finished standard. No version, maturity level or existing third-party implementation is stated. The only shipping implementation named is JFrog AppTrust's "Prompt to Release Traceability".
How it works
The design depends on separating a session (one agent run or conversation) from a process (a goal achieved with one or more agents, such as agentic development or agentic PR review). Evidence is issued per process, and it references the session logs rather than embedding them.
- Capture. A runtime hook records prompts, thinking tokens, file edits and tool calls. For interactive dev work this happens live. For processes like PR review it happens when the process completes. Logs are uploaded to persistent storage.
- Attest. An in-toto Statement v1 is signed with DSSE. Its subject is the commit, artifact or release.
- Gate. Policy-as-code evaluates the evidence alongside the usual scans, build provenance, approvals and tests.
- Audit. If a tool is later found to be malicious, you search for the sessions that used it, then follow them to the commits and releases built with it.
flowchart LR
H[Harness hook] --> L[Session log in storage]
L -->|uri + sha256| E[Signed evidence on commit]
E --> G{Release gate}
S[Scans, provenance, tests] --> G
G -->|pass| R[Promote]
G -->|fail| B[Block]
R -.tool flagged later.-> LSession log shape (mock). The header carries:
sessionIdandparentSessionIdaffectedEntities(e.g.gitCommit)provider.harness,provider.agentandlanguageModels, where each model records bothinferenceProviderand aresolveddated model ID
The timeline uses hook events beforeSubmitPrompt, preToolUse, postToolUse, afterAgentResponse and sessionEnd. Write tools record path_hashes before and after the write, which ties file content to the session.
Evidence predicate fields (mock):
providerstraceId(a process ID or CI job URI)sessionsLogs[{uri, digest.sha256}]tools[{name, version}]contextArtifacts: taggedpolicyorguideline, each with a digest and optional inlinedatacustom.baseCommitandcustom.requirements(Jira issue)result,intents,processSummary,owner,reviewers, start and end timestamps
Limits
- Placeholder predicate type. The
predicateTypeishttps://my-organization.com/evidence/<agentic-code-review|agentic-dev-process>/v1. No canonical predicate URI is published in the post, so interoperability depends on what the repo defines. - Unexplained policy checks. Gate checks such as "aligned on the requested task" or "followed corporate guidelines" are listed, but the post gives no mechanism for evaluating them. Only checks on concrete fields (approved model IDs, tool list, owner and reviewer present) are evident from the schema.
reviewersis self-reported. In the example the owner and reviewer are the same person (me@octocat.com), and nothing shown verifies that a review happened.- Broken sample JSON. The session-log sample has a duplicated, unterminated
preToolUseevent and an invalid UUID. Don't copy it as a fixture. - Personal data. The logs capture prompts, paths and emails, and JFrog itself recommends keeping personal data out.
- Weak regulatory fit. By the post's own admission, EU AI Act Articles 12, 14 and 19 bind providers and deployers of high-risk AI systems, and Article 14 concerns oversight while a system is in use, not after-the-fact logging. The regulatory mapping is directional, not a compliance requirement for coding agents.
- No evidence. The post reports no deployments, performance overhead or storage costs.
Organisations named here
- JFrog
- OpenSSF
- OWASP
- European Union
- Anthropic
- Cursor
- Agentic Process Evidence
- EU Cyber Resilience Act
- FedRAMP
- OWASP AISVS
Technologies named here
- Jira
- Claude Opus 4.8
- Agentic Process Evidence Protocol
- JFrog AppTrust
- Cursor
- OpenCode
- Claude Code
- Model Context Protocol
- SLSA
- in-toto
- Dead Simple Signing Envelope
- Software Bills of Materials
- Git
- GitHub
- DSSE
Standards and laws named here
- ISO/IEC 42001
- EU AI Act
Techniques named here
- Agentic process evidence attestation
- Policy-as-code release gating for agents
- Session-log based incident tracing
Also named here
- SBOM
Related in ai-policy


Future of Life Institute AI Safety Index — Summer 2026

Lessons from the hacks
