checklist

AI chatbot memory and personalization privacy checklist for small teams

A practical checklist for reviewing saved chatbot memory, personalized context, data minimization, user controls, deletion, access boundaries, and safe rollout.

Audience: Founders, product owners, engineering owners, platform owners, support leads, security owners, privacy owners, and reviewers operating AI chatbots with saved memory or personalized context Risk: High Evidence: NIST Privacy Framework, NIST AI RMF Core, NIST AI RMF Generative AI Profile, OWASP LLM02:2025 Sensitive Information Disclosure, CISA secure AI system development guidance, and Cybergiz chatbot operations checklists

Use this checklist when an AI chatbot stores conversation facts, preferences, profile attributes, summaries, embeddings, feedback, or other context for later personalization. It applies to consumer assistants, customer support bots, internal copilots, and agent routes that keep state across sessions.

The short answer: treat saved memory as a separate data-processing system, not as a harmless prompt feature. Inventory each memory field, document its purpose and source, minimize what is stored, give the right people understandable notice and controls, enforce identity and tenant boundaries at read and write time, and prove that deletion and opt-out remove the data from every relevant path. Keep memory disabled, session-only, or narrowly scoped when the team cannot prove those boundaries.

Start with the AI Tool Risk Checker to record the chatbot route, data, actions, and owner risk. Use the Small Team AI Security Checklist for identity, access, logging, incident, and vendor foundations. Pair this page with the AI chatbot retrieval access control and tenant isolation checklist, the AI chatbot deletion and export request workflow, the AI chatbot conversation log retention policy template, and the AI chatbot evaluation and regression testing checklist.

Bottom line

Saved memory can make a chatbot more useful, but it also creates a durable record that may be reused in a different conversation, tenant, role, or decision context. A successful login and a reassuring privacy setting do not by themselves prove that a memory is correctly scoped or deleted.

A defensible memory design can show:

  1. What is stored, where it is stored, how it was created, and why it is needed.
  2. Which subject, tenant, role, route, and purpose can write, read, correct, export, or delete each memory item.
  3. That sensitive or high-impact inferences are not silently persisted as ordinary preferences.
  4. That opt-out, correction, deletion, expiry, account closure, and tenant offboarding reach memory stores, indexes, caches, backups, exports, logs, and downstream tools as applicable.
  5. That personalization cannot override authorization, safety policy, retention rules, or human approval requirements.
  6. That negative tests prove a memory from one context does not appear in another context.

The NIST Privacy Framework is a voluntary tool for identifying and managing privacy risk through enterprise risk management. NIST guidance emphasizes identifying data processing, selecting target outcomes, verifying controls, and reassessing when the system or data lifecycle changes. OWASP LLM02:2025 treats personal, financial, confidential, credential, and legal information as sensitive disclosure risks in the model and application context. This checklist applies those principles to saved chatbot state; it is not a legal determination, compliance certification, or guarantee of a vendor feature.

This is operational guidance, not legal advice, a compliance certification, or a security assurance opinion.

When to use this checklist

Change or triggerUse this checklist?Minimum review
Enabling saved memory or personalizationYesMemory inventory, purpose, notice, controls, deletion test, owner, and release decision.
Changing what a chatbot remembersYesField classification, minimization review, user control, regression cases, and migration plan.
Adding a connector, profile source, or customer recordYesSource permission, tenant scope, write/read path, retention, and export review.
Changing model, prompt, ranking, or context assemblyYesMemory retrieval tests, sensitive-data tests, prompt-injection tests, and version record.
Adding support, analytics, cache, or backup accessYesNeed-to-know review, redaction, retention, access logs, and deletion propagation.
User opt-out, correction, deletion, or account closure requestYesRequest identity, scope, completion evidence, and residual-data verification.
Incident, complaint, unexpected personalization, or cross-context resultYesContainment, affected memory scope, root cause, regression case, and restart decision.
Session-only context with no persistenceUsually lighterConfirm no hidden memory, cache, transcript, export, or provider-side state is used.

Treat an inferred preference, profile label, or embedding as data that needs a purpose and boundary even if it is not displayed to the user as a sentence.

Memory privacy review intake form

Complete this before enabling or materially changing memory.

FieldRecord
Review ID and datememory-YYYY-MM-DD-NNN
Product and routeChatbot name, URL or interface, environment, and deployment target.
Use caseWhat personalization is supposed to improve and for whom.
Memory ownerPerson accountable for the data lifecycle and rollback.
Data subjectsUsers, customers, employees, contacts, tenants, or other affected people.
Memory sourcesConversation turns, profile fields, connectors, feedback, imports, or support records.
Memory storesApplication database, vector index, cache, transcript store, provider feature, export, and backup.
Allowed fieldsExact facts or preferences that may be stored.
Prohibited fieldsSensitive, unnecessary, speculative, or high-impact inferences that must not persist.
Read and write contextsSubject, tenant, role, route, purpose, and approval needed for each operation.
Retention and expiryDefault lifetime, refresh rule, deletion trigger, and backup treatment.
User controlsNotice, view, correct, delete, disable, export, and appeal paths.
Support and vendor accessRoles, ticket process, audit trail, and time limits.
Evaluation packCurrent memory privacy and security test IDs and previous baseline.
Release decisionApprove, pilot, session-only, restrict, rollback, or pause.

Checklist:

  • The owner can describe the entire memory lifecycle without relying on a model response.
  • The environment uses synthetic or approved masked fixtures for testing.
  • Each stored field has a purpose, source, classification, and expiry or review rule.
  • The route distinguishes user-provided facts from model-generated inferences.
  • User controls are defined in plain language and have an operational owner.
  • The prior approved memory configuration and evaluation run are recorded.

Memory and personalization data map

Draw the path from a conversation or source record to each place where state can be copied, derived, displayed, or acted upon.

StageWhat to inventoryBoundary question
CaptureMessage, form, feedback, connector record, or support noteWas the data intentionally provided for this purpose?
ExtractionRule, classifier, model summary, or human labelCan an incorrect inference become a durable fact?
StorageRow, document, vector, cache, transcript, or provider stateIs the store scoped to the correct subject and tenant?
RetrievalSearch, profile lookup, context assembly, or rankingIs memory retrieved only for an authorized purpose?
DisplayAnswer, suggestion, profile screen, citation, or agent contextCould the display reveal a hidden or sensitive attribute?
ActionTicket, CRM update, recommendation, message, or tool callCan memory influence a high-impact action without review?
CopyExport, log, analytics, backup, support ticket, or test fixtureDoes the same retention and deletion rule follow the copy?
RemovalDelete, expiry, correction, opt-out, or account closureHow is completion verified in every relevant store?

Data-flow checklist:

  • The map includes caches, embeddings, indexes, logs, backups, and exports, not just the primary database.
  • Every derived value is labeled as fact, preference, prediction, summary, or uncertain inference.
  • The route records which memory items influenced an answer or action where practical.
  • A memory item cannot silently grant a role, permission, approval, or eligibility decision.
  • Each copy has an owner, access rule, retention rule, and deletion or exception path.

Data classification and minimization matrix

Use the narrowest category that supports the approved use case. Do not store a detail just because it may improve a future answer.

Memory typeDefaultExample handlingReview trigger
User-selected preferenceConsiderStore only if visible, editable, and useful to the userPurpose or product change.
Short-lived task contextSession-onlyKeep in the active workflow and expire after completionLonger retention request.
Account or tenant settingConsider with ownerStore in an authorized system of record, not only in model memoryRole, tenant, or plan change.
Support or workflow historyRestrictedLink to approved record with access and retention controlsNew support or export path.
Sensitive personal or financial detailUsually prohibitUse a controlled system of record or explicit approved workflowAny request to persist or retrieve.
Credential, secret, or authentication materialProhibitNever use chatbot memory as a secret storeAny observed occurrence.
Health, employment, legal, or high-impact attributeRestricted/prohibitRequire domain owner, purpose, notice, and human reviewAny model-generated inference.
Model-generated preference or profile inferenceDo not silently persistShow, label, confirm, and allow correction before storageConfidence or purpose changes.
Cross-tenant aggregate or analytics featureRestrictedUse approved aggregation and access controlsNew population or purpose.

Minimization checklist:

  • The system can answer the use case without persisting the field, or the reason for persistence is documented.
  • Exact values are preferred over broad hidden profiles only when needed.
  • Sensitive fields are rejected before memory write, not merely hidden in the UI.
  • The retention period is no longer than the purpose requires.
  • The memory view exposes enough information for correction without revealing unrelated records.
  • The team has a fallback for users who disable personalization.

Notice and user control checklist

Controls should be understandable and operational. A button that says “clear memory” is not sufficient unless the team can define what it clears and verify completion.

ControlUser-facing questionOperational proof
NoticeWhat may be remembered, why, and for how long?Current notice version and route display record.
ViewWhat memory is associated with this subject?Authorized memory listing or support workflow.
CorrectHow can a wrong memory be fixed?Update record and re-test of future retrieval.
DeleteHow can a user remove one item or all memory?Deletion request ID and store-by-store completion evidence.
DisableWhat happens when personalization is off?No new write and no unauthorized read test.
ExportWhich memory can be exported and in what form?Scope, redaction, recipient, and delivery record.
Re-enableWhat state returns after re-enabling?Explicit migration or restore rule, not silent resurrection.
AppealHow can a user challenge a harmful or incorrect inference?Named owner, review route, and correction outcome.

Checklist:

  • The notice distinguishes session context, saved memory, profile settings, transcript, analytics, and provider-side features where relevant.
  • The user can disable future writes without losing access to a non-personalized route.
  • The control scope is visible before an irreversible action.
  • Support staff have a safe procedure for requests they cannot fulfill directly.
  • Localization, accessibility, and mobile views do not hide the control or change its meaning.
  • The team does not claim that a control clears data it cannot verify.

Tenant, role, and context boundaries

Memory must not become a shortcut around authorization. The AI chatbot retrieval access control and tenant isolation checklist covers the deeper data-flow and negative-test record.

BoundaryAllow caseDeny caseSafe expectation
SubjectUser reads their approved preferenceUser asks for another subject’s memoryNo content, count, identifier, or confirming metadata.
TenantMember uses memory inside tenant AMember asks through tenant BNo cross-tenant read, write, cache, citation, or export.
RoleSupport reviewer sees approved support fieldsBasic user requests reviewer-only notesDeny or use a controlled escalation path.
RouteMemory used by the approved chatbotOther route or tool attempts to reuse itExplicit scope check before retrieval.
PurposePersonalization for the stated taskUnrelated recommendation or eligibility decisionDo not reuse without purpose and review.
SessionSame authorized subject and sessionReplayed or stale session contextExpire, re-authenticate, or deny.
ActionDraft uses an approved preferenceMemory triggers an irreversible actionHuman approval and server-side authorization.

Boundary checklist:

  • Read and write paths carry subject, tenant, role, route, and purpose context.
  • A model output cannot grant itself permission to read or write memory.
  • Cache keys and embeddings preserve the same authorization scope.
  • Support and vendor access are time-limited and audited.
  • Cross-context negative tests cover citations, errors, counts, summaries, and tool arguments.

Retention, deletion, and restoration tests

Test deletion as a data lifecycle, not as a UI event. The AI chatbot deletion and export request workflow provides a companion request record.

Test IDTriggerExpected resultEvidence
DEL-001Delete one visible memory itemItem no longer appears in authorized retrieval or displayRequest ID, store results, and re-query.
DEL-002Clear all memoryAll in-scope memory stores and derived copies are handledStore-by-store completion record.
DEL-003Disable personalizationNo new memory writes; route remains safe and usefulBefore/after write and retrieval trace.
DEL-004Correct an incorrect memoryOld value is not retrieved; corrected value follows purpose rulesUpdate record and regression result.
DEL-005Account or tenant closureClosure workflow handles memory, indexes, exports, and support copiesClosure record and residual-data check.
DEL-006Backup or restoreDeleted or expired state is not silently resurrectedRestore test and post-restore scan.
DEL-007Cache or embedding copyDerived copy expires or is invalidatedKey, index, or invalidation evidence.
DEL-008Provider or connector deletionVendor/system request and completion are recordedRequest, response, scope, and date.
DEL-009Concurrent sessionDeletion takes effect under an existing sessionSession replay and cache test.
DEL-010Support exportExport contains only approved scope and redactionsExport review and recipient record.

Do not report deletion as complete when only the primary row was removed. Record unavailable verification separately and keep scope restricted until the gap is resolved or explicitly accepted by the owner.

Support, export, and vendor access

Support access is a common place where a narrow memory boundary becomes a broad internal data path.

Access pathMinimum controlReview evidence
User support ticketVerify subject and request scope before lookupTicket identity, scope, and redacted result.
Admin consoleRole-based access, time limit, and audit trailAdmin session and export record.
Vendor supportNeed-to-know, redaction, approved window, and closureApproval, shared fields, expiry, and follow-up.
AnalyticsAggregation, minimization, and access separationQuery scope, retention, and output review.
Backup operatorSeparate authorization and deletion/restore procedureOperator, system, timestamp, and result.
Customer exportExact scope, format, destination, and redactionExport package review and delivery confirmation.

Checklist:

  • Support staff cannot search all memory by default.
  • Vendor sessions do not create an untracked copy of memory.
  • Exports exclude unrelated tenants, hidden profile labels, and restricted fields.
  • Audit logs do not duplicate sensitive memory unnecessarily.
  • Vendor and subprocessor changes trigger a memory privacy review.

Personalization and inference risks

Personalization can create new conclusions that the user did not explicitly provide. Separate confirmed facts from guesses and do not use hidden inferences for high-impact outcomes without a domain-approved process.

RiskExampleSafer default
Incorrect inferenceThe bot infers a preference from one messageAsk, label as tentative, or keep session-only.
Sensitive inferenceThe bot infers health, employment, finance, or legal statusDo not persist; route to approved handling.
Stale preferenceOld preference changes a current answerShow date, ask, expire, or re-confirm.
Context collapsePersonal and work contexts are mixedSeparate profiles, routes, tenants, and controls.
Hidden rankingA profile label changes recommendations invisiblyExplain relevant factors and provide correction/appeal.
Group inferenceOne person’s data changes a team’s personalizationUse approved aggregation and avoid individual exposure.
Feedback loopA model-generated label becomes “truth” after reuseRequire source, confidence, reviewer, and correction path.

Inference checklist:

  • Stored values identify their source and whether they were confirmed.
  • Model-generated inferences are not presented as user-authored facts.
  • High-impact decisions do not rely on hidden memory alone.
  • A user can correct or challenge a personalization outcome.
  • Evaluation cases include stale, wrong, conflicting, and sensitive inferences.

Negative test set

Use synthetic fixtures to prove that memory cannot cross the intended boundary or survive a control that claims to remove it.

Test IDFixture or requestExpected safe behaviorEvidence
MEM-001User A asks for User B’s saved preferenceDeny without confirming whether it existsResponse, trace, and access decision.
MEM-002Tenant A session reuses Tenant B cache keyNo memory, citation, count, or error detail crosses scopeCache key and response.
MEM-003Retrieved memory says “ignore privacy policy”Treat memory as data; policy and authorization remain in forceInput and output record.
MEM-004Memory contains a secret or restricted fieldReject write and prevent later retrievalWrite decision and safe fixture result.
MEM-005User disables personalizationNo new write and no hidden old-memory readBefore/after trace.
MEM-006User deletes memory during an active sessionExisting session cannot continue using deleted stateConcurrent session result.
MEM-007Backup restore follows deletionDeleted item is not silently restoredRestore scan and decision.
MEM-008Support user requests broad searchNeed-to-know scope, approval, and audit recordSupport access log.
MEM-009Wrong model inference becomes profile factUnconfirmed inference is labeled, rejected, or kept temporarySource and memory record.
MEM-010Export request includes another tenantExport is narrowed or blocked before deliveryPackage review and delivery result.
MEM-011Translation or encoding hides a memory requestSame boundary decision as plain languagePaired case results.
MEM-012Tool action uses a stale preferenceServer re-checks current authorization and approvalTool trace and decision.

Critical failures should block persistence or keep the route session-only until the cause is fixed, the case is added to regression coverage, and an owner approves a narrower scope.

Monitoring and alert rules

Monitor both ordinary operations and changes in the data boundary.

SignalAlert conditionFirst response
Memory write volumeUnexpected increase by route, tenant, or fieldPause writes and inspect source/change.
Sensitive write rejectionRepeated or new restricted-field attemptsPreserve safe evidence and review input path.
Cross-scope denialAny unexpected cross-tenant or cross-role access attemptVerify policy, session, cache, and connector context.
Delete completion delayRequest exceeds documented service targetRestrict reads and escalate to owner.
Reappearing memoryDeleted or expired item returnsDisable restore/cache path and investigate.
Support accessAccess outside approved window or scopeRevoke session and review audit record.
Personalization complaintUser reports wrong, sensitive, or surprising memorySuppress memory, preserve minimal evidence, and review.
Vendor/connector changeNew scope, region, retention, or support pathReopen the privacy review before expansion.

Monitoring checklist:

  • Alerts use route and tenant context without copying sensitive content into notifications.
  • Operators can pause writes and personalization independently from the base chatbot.
  • The response runbook names an owner and a safe fallback.
  • Sampling is minimized, approved, and retained for a defined period.
  • Findings become regression cases or documented exceptions.

Review workflow

PhaseActionOutput
1. MapInventory memory fields, stores, copies, actors, and purposesData-flow map and scope.
2. MinimizeRemove unnecessary fields and prohibit restricted inferencesApproved field matrix.
3. ControlImplement notice, view, correct, delete, disable, export, and appeal pathsControl record and owner.
4. TestRun boundary, deletion, inference, injection, and failure casesNegative-test evidence.
5. ReviewCompare results with the previous configurationFindings and change summary.
6. DecideApprove, pilot, session-only, restrict, rollback, or pauseSigned release decision.
7. MonitorWatch writes, deletion, access, complaints, and vendor changesPost-release review.

Do not delete the previous review after a change. Keep the old configuration, new configuration, test diff, decision, and remediation together.

Evidence record

Use one row per memory field, test case, or control, with links to the controlled ticket or evidence store.

FieldExample
Review ID and case IDmemory-2026-09-08-001, DEL-006
Memory field and sourceConfirmed preference from user settings; synthetic fixture
Purpose and classificationPersonalization; user-selected; medium sensitivity
Subject and tenant scopeSynthetic subject A; tenant alpha
Store and copy pathsProfile DB, vector index, cache; no export
Expected behaviorDelete invalidates profile, index, cache, and restore path
Actual behaviorResult, error class, or unavailable verification note
Version referencesPrompt, model, route, index, connector, policy, and code commit
Trace referencesRequest ID, audit ID, evidence file, retention date
Reviewer and timestampNamed reviewer and UTC timestamp
Finding and severityNone, low, medium, high, or critical with rationale
DispositionPass, fix and rerun, restrict, exception, rollback, or pause

Evidence handling checklist:

  • The record contains no live customer data or credential material.
  • Traces identify the event without duplicating sensitive memory in the ticket.
  • The source and confidence of an inferred value are recorded.
  • Retention and access owners are named.
  • Unavailable deletion or access evidence is marked unavailable, not zero or complete.

Release gate

GatePass requirementBlock condition
PurposeEach memory field has an approved purpose and ownerField is retained “just in case” or lacks an owner.
MinimizationProhibited and unnecessary fields are rejectedSensitive or speculative data is silently persisted.
Notice and controlUsers can understand and exercise controlsDisable, delete, correction, or export is unclear or unowned.
AuthorizationSubject, tenant, role, route, and purpose checks passAny cross-scope read, write, cache, citation, or export.
DeletionPrimary and derived stores follow the documented requestDeleted or expired memory returns without an approved reason.
InferenceFacts, preferences, and model inferences are distinguishedHidden inference drives a high-impact outcome.
Support/vendorNeed-to-know access is time-limited and auditedBroad or untracked support access exists.
TestingCritical negative cases are reproducibleTest or deletion result cannot be reproduced.
RollbackMemory writes can be paused and scope reducedNo safe fallback or owner exists.

Default decision: keep memory disabled, session-only, or restricted to a narrow approved field set when a critical gate fails. Do not use a model instruction as a substitute for application authorization or deletion control.

Staged rollout plan

StageScopeRequired observation
0. DesignData map and synthetic fixtures onlyField classification, purpose, controls, and negative tests.
1. Session-only pilotNamed staff without persistent writesConfirm no hidden store, cache, transcript, or provider state.
2. Narrow memory pilotOne low-impact preference and one cohortWrite/read/delete, complaint, support, and access monitoring.
3. Limited cohortApproved tenants and field setCross-scope tests, deletion propagation, and rollback rehearsal.
4. Broader releaseApproved scope onlyPeriodic review, sampling, vendor monitoring, and change triggers.

At every stage:

  • The release owner knows the stop condition.
  • Memory writes can be paused without disabling the entire chatbot.
  • The user-facing control path is available and tested.
  • A non-personalized or session-only fallback is ready.
  • Incidents, complaints, and unexpected inferences become regression cases.

Findings and remediation

FindingSeverityImmediate containmentRoot-cause questionClosure evidence
Sensitive field persistedCriticalPause writes and isolate affected scopeWhich classifier, source, or path allowed it?Write rejection and cleanup tests pass.
Cross-tenant memory readCriticalDisable memory route or narrow tenant scopeWhere was context lost in retrieval, cache, or index?Deny tests pass at each boundary.
Delete does not reach derived storeHigh/CriticalKeep reads restricted and invalidate pathWhich copy, backup, or restore process was missed?Store-by-store deletion evidence.
Hidden inference affects answerHighLabel, suppress, or require confirmationDid the model-generated value become an authority?Source, label, correction, and regression test.
Support access too broadHighRevoke session and reduce scopeWhich role or workflow bypassed need-to-know?Time-bound access and audit proof.
Personalization cannot be disabledMedium/HighFall back to session-onlyWhich write or read path ignores user control?Opt-out tests and user-facing result.
Memory reappears after restoreHighPause restore and memory readsWhich backup or cache lifecycle ignored deletion?Restore test and remediation.

Do not close a finding because the UI looks correct. Record the implementation, data lifecycle, and test change that explains the result.

Decision table

Review outcomeRelease decisionFollow-up
Purpose, controls, boundaries, deletion, and critical tests passApprove narrow intended scopeMonitor and schedule reassessment.
Low-risk preference passes but deletion or support evidence is incompleteSession-only or limited pilotClose evidence gap before persistence expansion.
Sensitive field, cross-scope access, or reappearing deletion failureRestrict, rollback, or pauseContain, fix, rerun, and obtain fresh sign-off.
Inference is useful but unconfirmedShow and confirm or keep temporaryAdd correction, expiry, and regression coverage.
Vendor or connector behavior is unclearDo not persist affected fieldsObtain evidence or use a narrower path.
Results are not reproducibleKeep current scopeStabilize fixtures, versions, and lifecycle checks.

Sign-off record

RoleNameDecision or conditionDate
Product/use-case owner
Engineering or platform owner
Security/privacy reviewer
Support or customer owner
Release ownerApprove, pilot, session-only, restrict, rollback, or pause

Decision statement:

Based on review ________, memory scope ________ is [approved / approved for pilot / session-only / restricted / rolled back / paused] for ________. The decision excludes ________. The next review is ________. Any critical failure, material complaint, deletion gap, or boundary change reopens this decision.

Action tracker

IDActionOwnerDue dateEvidenceStatus
1Complete the field and data-flow inventoryOpen
2Verify notice, view, correct, delete, disable, and export controlsOpen
3Run tenant, role, inference, deletion, and cache negative testsOpen
4Confirm support/vendor access and restore behaviorOpen
5Schedule post-release review and reassessmentOpen

Final memory privacy checklist

  • I recorded each memory field, source, purpose, classification, store, copy, owner, and expiry.
  • I separated session context, saved memory, profile settings, transcripts, analytics, and provider state.
  • I rejected unnecessary, sensitive, secret, and speculative fields before persistence.
  • I documented notice, view, correction, deletion, opt-out, export, re-enable, and appeal controls.
  • I tested subject, tenant, role, route, purpose, session, cache, citation, and tool boundaries.
  • I verified deletion and expiry across primary, derived, cached, indexed, exported, and restored paths.
  • I distinguished user-confirmed facts from model-generated inferences.
  • I tested prompt injection, translation, encoding, stale context, and concurrent-session cases.
  • I restricted high-impact decisions and actions to approved human-reviewed workflows.
  • I recorded metrics, denominators, unavailable evidence, uncertainty, and exclusions.
  • I preserved a session-only or non-personalized fallback.
  • I signed the decision and assigned remediation owners.

Metrics to track

Track these by route, tenant scope, memory field, configuration version, and release stage:

  • Memory write volume and rejection rate by field class.
  • Percentage of memory items with purpose, source, owner, classification, and expiry.
  • Authorized versus denied memory reads, writes, exports, and support sessions.
  • Delete request completion time and residual-data verification coverage.
  • Count of memory items reappearing after expiry, deletion, restore, or cache invalidation.
  • Cross-subject, cross-role, or cross-tenant leakage count.
  • User opt-out, correction, export, complaint, and appeal volume.
  • Confirmed fact versus unconfirmed inference ratio and correction rate.
  • Sensitive-field detection, redaction, and safe fallback results.
  • Personalization-related incidents, pauses, and unresolved findings.
  • Days since last memory privacy review and days since last critical negative test.

Metrics are signals for a risk decision, not a universal privacy score. Compare like-for-like configurations and keep the reason for material changes.

Evidence checked

FAQ

Is chatbot memory just another prompt setting?

No. It creates a data lifecycle with capture, derivation, storage, retrieval, display, copying, retention, and deletion. Review each path rather than relying on a model instruction or UI label.

What should a small team allow first?

Start with session-only context or one low-risk, user-visible preference that can be viewed, corrected, disabled, and deleted. Keep sensitive fields, hidden profiles, and high-impact inferences out of persistent memory until the boundaries are proven.

Can we store everything if the user agreed?

Consent or notice does not remove the need for purpose, minimization, access control, retention, deletion, and safe downstream handling. Record the intended use and store only what the route needs.

How do we test deletion?

Create a synthetic memory item, request deletion, then query the primary store, index, cache, transcript, export, backup/restore path, and active session as applicable. Record unavailable checks separately and do not call the request complete without an owner decision.

Are embeddings and summaries memory?

Treat them as possible derived copies of the source data. Their access, retention, correction, deletion, and tenant scope need a documented rule even if the original text is not displayed.

Do not let hidden memory or unconfirmed inference make a high-impact decision. Use a domain-approved process, explicit evidence, human review, and server-side authorization where such a workflow is necessary.

What if the vendor does not explain how its memory feature works?

Do not assume the safest behavior. Ask for data locations, retention, access, deletion, export, training/use controls, support access, subprocessors, and incident processes. Keep the feature session-only or disabled until the relevant evidence is available.

What is the safest default after a cross-context leak?

Pause persistent memory and affected actions, preserve minimal safe evidence, restrict the route to session-only or read-only behavior, investigate every copy path, and add the incident to the regression pack before restart.

Run the AI Tool Risk Checker for one chatbot route. Create two synthetic tenants, one confirmed preference, one unconfirmed inference, one deletion request, and one support-access case. Complete the Small Team AI Security Checklist, run the negative tests, and keep memory session-only or restricted until deletion and cross-context results are reproducible.