Form memory deliberately
Extract bounded candidates, preserve exact source evidence, process PII first, and separate proposals from committed writes.
Enterprise AI agent memory evaluation guide
A practical security, architecture, and procurement checklist for teams moving voice, support, and workflow agents from pilot to production.
Updated August 19, 2026 · 18 minute read
Executive answer
Evaluate the whole path from untrusted conversation to persistent memory to tool execution. The system should prove who owns the memory, where it came from, whether it is current, whether the agent may act on it, and what the host reports afterward.
user partition + source + confidence + validity + policy version + action decision + evidence IDs + request ID + execution receipt
Contents
1. Buying trigger
A support chatbot remembering a preferred language is one problem. An agent using remembered details to refund a payment, book a service, alter a plan, dispatch a worker, or update an account is a different problem.
2. Reference architecture
The model interprets language. The memory layer stores durable context and evaluates whether it may support an action. The host enforces the result. The CRM, booking system, payment system, or operational database remains authoritative.
Extract bounded candidates, preserve exact source evidence, process PII first, and separate proposals from committed writes.
Broad recall can make a conversation natural. Consequential tools should use a stricter action gate.
The host executes only after an allowed decision, then reports succeeded, failed, or skipped with an idempotent receipt.
3. Threat model
Persistent memory changes the time horizon of an attack. A bad write can influence an unrelated session days later, when the original malicious input is no longer visible in the active prompt.
Failure: an observed memory ID or user identifier retrieves another customer or project.
Test: replay real identifiers with a different project key and user partition. Expect 404, never an empty-but-successful cross-scope response.
Failure: attacker-controlled or weakly sourced content becomes durable trusted context.
Test: inject an instruction through a transcript, third-party source, or tool result. Inspect whether it is rejected, marked suspect, or held for confirmation.
Failure: user-stated, agent-inferred, and imported data become indistinguishable after extraction.
Test: submit the same claim through three source types and compare confidence, confirmation, and action eligibility.
Failure: an old preference or superseded instruction continues to drive actions.
Test: write a conflicting fact to the same stable slot. Verify which generation is current and whether the conflict blocks action.
Failure: the model or host ignores the gate and calls a consequential tool anyway.
Test: force an ask or abstain result, simulate execution, and verify the receipt is retained as a policy violation.
Failure: a network timeout creates duplicate memories, confirmations, or downstream actions.
Test: repeat each mutation with the same idempotency key and payload, then with the same key and a changed payload.
OWASP identifies Memory and Context Poisoning as ASI06 in its Top 10 for Agentic Applications 2026. Use that framework alongside your existing application and identity threat models.
4. Control checklist
| Area | Question | Evidence to request |
|---|---|---|
| Tenancy | Is organization and project scope derived from the server credential? | Cross-org and cross-project replay tests. |
| User partition | Can a caller override or wildcard another customer's partition? | Identifier validation and cross-user 404 tests. |
| Credentials | Are API keys shown once, hashed at rest, scoped, and revocable? | Key lifecycle API and revocation test. |
| PII | Does detection and encryption happen before embeddings or model formation calls? | Data-flow diagram and stored annotation inspection. |
| Provenance | Does every fact preserve source type, confidence, and evidence? | Memory schema and conflicting-source test. |
| Formation | Can extraction propose candidates without committing them? | Propose/commit modes and bounded provider failures. |
| Action policy | Can conversational context be excluded from consequential tool decisions? | Separate recall and pre-action gate APIs. |
| Confirmation | Is human attestation scoped to the exact memory and customer? | Pending queue, confirm API, actor record, and foreign-ID tests. |
| Execution | Can the host report what it actually attempted? | Decision ID, terminal receipt, idempotency, and policy-alignment field. |
| Audit | Can an authorized customer independently verify an export? | Real entries, hash chain, asymmetric signature, published public key. |
| Logging | Are memory content, queries, credentials, and webhook URLs excluded? | Forbidden-field tests and sample structured logs. |
| Failure posture | What happens when metadata, memory, encryption, or audit storage is unavailable? | Fail-closed tests and readiness behavior. |
| Deletion | Can the vendor prove scoped deletion and retention behavior? | Deletion API, verification job, retention policy, and current limitations. |
| Identity | Does the service support your IdP, service identity, and provisioning model? | SSO, SCIM, workload identity, and roadmap status. |
| Encryption keys | Who controls the master key and its rotation? | KMS architecture, per-project data keys, BYOK policy, and revocation test. |
| Operations | What availability, backup, recovery, and data-location commitments exist? | Published commitments, status history, backup tests, and contract language. |
5. Evaluation plan
Pick one workflow with an observable action. Do not start with a broad “remember everything” requirement.
act.6. ContextDB mapping
ContextDB has no compliance certifications or uptime commitments today. See the security page and current control table before beginning an evaluation.
Sources
Bring the architecture, action, data boundaries, and controls your review requires.