Areev Documentation
What is Areev?
Areev is a knowledge database that gives AI agents long-term, structured memory. It stores every piece of knowledge as an immutable, content-addressed grain in the .mg binary format.
Areev encrypts every grain at rest with AES-256-GCM, chains them into a tamper-evident audit trail, and verifies the database against 88 baseline compliance checks (up to 92 with distributed and auth features enabled) spanning 7 regulations (GDPR, HIPAA, EU AI Act, CCPA, LGPD, PIPL, SOX). Each grain carries its own type, provenance, confidence score, and policy metadata.
Areev implements the Open Memory Specification (OMS) 1.2, which defines 10 grain types for classifying memories. The engine combines Fjall LSM storage, Tantivy BM25 full-text search, HNSW vector similarity, and a hexastore for graph traversal — fused into a single query path via Reciprocal Rank Fusion (RRF).
| Capability | Details |
|---|---|
| 10 grain types | Belief, Event, State, Workflow, Action, Observation, Goal, Reasoning, Consensus, Consent |
| 5 protocol interfaces | HTTP (~200 endpoints), gRPC (48 methods on areev.v1.AreevService), MCP (12 tools + 3 resources), A2A (15 skills), CLI (69 commands) |
| 88+ compliance checks | 88 baseline, up to 92 with distributed and auth features enabled — GDPR, HIPAA, EU AI Act, CCPA, LGPD, PIPL, SOX |
| Encryption | AES-256-GCM per-user DEK, HKDF-SHA256 key derivation, HMAC blind indexes |
| Search | BM25 full-text + HNSW vector + hexastore graph + RRF hybrid fusion |
How do I create a memory database?
Sign in to your Areev cloud organization, then create a memory with your chosen compliance policy against your org subdomain:
# Create a memory with GDPR policy
curl -X POST https://acme.areev.ai/api/memories \
-H "Authorization: Bearer $AREEV_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "my-db", "policy": "gdpr"}'
The policy (gdpr, ccpa, hipaa, lgpd, pipl, sox, eu_ai_act, ephemeral, default) determines which compliance checks run on every read and write. Once created, the memory is ready to accept grains from any SDK or protocol.
How do I store and recall memories?
Connect to the memory and use remember to store natural language, recall to retrieve:
Python:
from areev import Areev
mem = Areev("https://acme.areev.ai", memory_id="my-db", api_key="ar_...")
result = mem.remember("John likes coffee", user_id="u1")
# result.source_hash, result.mode == "async", result.marker_status == "pending"
TypeScript:
const result = await mem.remember("John likes coffee", { user_id: "u1" });
Rust:
let result = mem.remember(RememberRequest {
text: "John likes coffee".into(),
user_id: Some("u1".into()),
..Default::default()
}).await?;
Recall uses hybrid search (BM25 + vector + graph) with Reciprocal Rank Fusion:
Python:
results = mem.recall("what does John like?", limit=5)
for hit in results:
print(hit.grain_type, hit.fields, hit.score)
HTTP:
POST /api/memories/my-db/recall
Authorization: Bearer ar_...
Content-Type: application/json
{"query": "what does John like?", "limit": 5}
How do I get started?
Follow the Quickstart to sign up, install the SDK, and store your first grain.
Related
- Quickstart: Sign up, install the SDK, and store your first grain
- Grain Types: The 10 OMS 1.2 memory types and when to use each
- HTTP / REST API: Complete reference for the ~200 HTTP endpoints
- Authentication: API keys and SSO