Mark high-value inputs
File reads, environment values, tool outputs, and generated-code inputs enter the runtime with source labels.
Runtime data lineage for AI agents
AgentLineage tracks sensitive values through agent tools and generated Python code, then checks their provenance before network egress.
Technical preview · Python runtime · syscall-level fallback
source file:/run/secrets/api_key
label SECRET
path read -> strip -> encode -> json
sink POST api.external.dev/upload
BLOCK SecretToNetwork
reason secret-derived payload reached
an unapproved network boundaryEnforcement model
source-awaretransformation-awaresink-enforcedexplainableThe data path is the policy input
Action allowlists answer whether an agent may call a tool. AgentLineage answers whether sensitive data flowed into that call's payload.
File reads, environment values, tool outputs, and generated-code inputs enter the runtime with source labels.
Supported string, byte, container, encoding, and serialization operations preserve origin and transformation history.
Guarded HTTP, tool, subprocess, and code-execution boundaries evaluate the outgoing value before the effect runs.
Structured reports connect source, transformations, sink, policy, code hash, and event sequence.
Layered coverage
Object-level dynamic taint tracking reduces process-wide false positives. Syscall-level process provenance remains the conservative safety net for subprocesses, native code, and unsupported paths.
Explore the architectureFrom the blog
A first public look at the Python taint runtime, generated-code executor, and reproducible secret-leak demo.
Read articleTracking high-value Python objects provides useful dataflow precision without instruction-level instrumentation everywhere.
Read articleTraditional DLP asks what outbound data looks like. Agent lineage adds the question of where that data came from.
Read articlePrivate technical preview
We are working with teams whose agents touch source code, customer data, internal tools, or cloud credentials.