Policy-enforced memory management for AI
Store, access, and manage user memories with built-in privacy controls. Perfect for building personalized AI assistants that respect user preferences and constraints.
Use with your stack
We offer client and server libraries in everything from Python and JavaScript to Go and Ruby.
See libraries →Policy enforcement
Built-in policy matrix ensures memories are only accessed for allowed purposes. Fail-closed by default.
View docs →Deterministic merging
Automatically merge multiple memories with deterministic results and confidence scores.
Learn more →Revocation tokens
Every read operation returns a revocation token. Users can revoke access at any time.
Explore →Store user preferences
Save user likes and dislikes with automatic normalization and deduplication.
The Memory Scope API makes it easy to store and organize user preferences across different domains. When you create a memory, the API automatically normalizes and deduplicates values, ensuring consistency across your application. Each memory is scoped to a specific purpose and can have a configurable time-to-live.
Read with policy enforcement
Access memories with purpose-based access control. Policy violations are automatically blocked.
Every read operation requires a purpose, and the API enforces a policy matrix to ensure memories are only accessed for allowed purposes. The policy system is fail-closed by default, meaning any purpose not explicitly allowed is automatically denied. This ensures your users' data is protected even if you make a mistake in your code.
Policy denial example
See how the API blocks unauthorized access attempts. Fail-closed by default.
When a read operation requests access for a purpose that's not allowed by the policy matrix, the API immediately returns a 403 Forbidden response. This fail-closed approach ensures that user data is protected by default, even if your application code has bugs or security vulnerabilities. The error response includes clear details about why the access was denied.
Revoke access
Users can revoke access at any time using the revocation token from a read operation.
Every read operation returns a revocation token that can be used to immediately revoke access to the data that was read. This gives users complete control over their data and allows them to withdraw consent at any time. Once revoked, subsequent read operations for the same scope and domain will return empty results until new memories are created.
POST /memory
{
"user_id": "user123",
"scope": "preferences",
"domain": "food",
"source": "explicit_user_input",
"ttl_days": 30,
"value_json": {
"likes": ["pizza", "sushi"],
"dislikes": ["broccoli"]
}
}Use Cases
Power your AI applications with secure memory management