Freshness
Link every copy of a fragment across your systems, rebuild its version history from those copies, and withhold superseded versions.
Freshness, provenance, and policy, checked down to the sentence before agents see it.
Caber provides active, inline data use control, sub-document mutation, and fragment-level provenance for Generative AI, Retrieval-Augmented Generation (RAG), and autonomous agentic workflows.
Three facts about enterprise data explain why controlling how AI uses data is hard—and why file-level permissions and prompt-only scanners fall short. For the underlying studies, definitions, and a worked example, see Technical Insights.
On corporate file servers, 15% to 44% of the bytes in user-authored data are duplicates across 64 KB segments, while whole-file matching finds only 2% to 16%. People copy the same paragraphs, tables, and boilerplate into files that otherwise differ, so controls that track whole files miss most of the copies.
Some data identifies itself: a payment card number has a fixed format and a check digit, so a pattern match finds it in any file. Most business data carries no such marker. Take a sentence from a board memo. Whether it is fresh (the current version), stale (because a newer document replaced it), or a trade secret (valuable because its owner keeps it secret) depends on facts outside the sentence. A classifier that reads only the text cannot tell these cases apart.
A sentence is a fixed, finite string of bytes, but the context that governs how it may be used—where each copy came from, who owns it, who may read it, which version is current, and which policies apply—keeps growing with every new copy, reader, version, and policy. Content copies freely, while context stays behind: a sentence pasted into an email loses the permissions of the folder it came from. Because the same sentence means different things in different places, handing raw text to an agent strips the rules that control its use.
Caber solves these three problems by identifying content down to the sentence, gathering context from every copy across your systems, and enforcing policy in process at inference time. The Technical Insights page covers each step in detail.
Caber instruments existing Python applications without code changes. Set the connection to your Caber deployment, then run your application under caber-run:
export CSI_API_KEY="your-api-key"
export CSI_CABER_HOST="https://your-caber-instance.example.com"
caber-run python app.py
caber-run uvicorn myapp:app --host 0.0.0.0Or enable it in code, before any HTTP or agent framework library is imported:
import pycaber.auto # must come before HTTP and agent framework imports
import requests
from langgraph.prebuilt import create_react_agent
# Tool calls, retrievals, and API responses are now captured and checked against policypycaber patches 15 transports, including requests, httpx, aiohttp, and urllib3; WSGI and ASGI servers; WebSocket clients; and gRPC clients and servers. It captures tool, retriever, and memory calls in LangChain, LangGraph, CrewAI, LlamaIndex, and AutoGen without changes to agent logic. For custom functions exposed to agents, the @pycaber.tool decorator attaches policy metadata. Policies are authored and deployed in caber-core, not in application code.
| Property | Value | Status |
|---|---|---|
| Fragment Granularity | 64-byte minimum, about 187 bytes typical, about 820-byte maximum | Implemented (content-defined fragmentation) |
| Policy Evaluation Path | Compiled Wasm in process; no network or database call | Implemented |
| Policy Evaluation Latency | P95 under 2.5 ms | Design target |
| Mediated Retrieval Latency | Under 35 ms | Design target |
| Freshest-Version Accuracy | 88% freshest match; Kendall tau 0.974 | Measured on a git-history benchmark (beta) |
Design targets are engineering goals, not measured results.
Caber connects across your existing AI and infrastructure stacks:
| Agent Frameworks | Models & Vector Stores | Protocols & Identity | Data Sources (Connectors) |
|---|---|---|---|
| • LangGraph • LangChain • LlamaIndex • CrewAI • AutoGen | Calls detected and typed (beta): • OpenAI, Anthropic • AWS Bedrock • Google (incl. Vertex AI) • Cohere, Mistral • Groq, Together, Fireworks, DeepSeek, Perplexity • Self-hosted endpoints (e.g., vLLM, by configuration) • Pinecone, Weaviate, Chroma | • Model Context Protocol (MCP) • A2A (beta) • gRPC / protobuf, WebSocket • OIDC / JWT identity providers • AWS SigV4, SPIFFE, mTLS | • AWS S3 / MinIO • Google Cloud Storage • Azure Blob • PostgreSQL, MySQL, SQLite • File systems • CloudTrail, Kafka, API polling |
Caber is self-hosted with Docker Compose, including a single-host trial mode. Internally, caber-core uses RocksDB with Roaring bitmaps for the fingerprint index, OpenSearch for events and content, and Neo4j for the context graph.