Private AI Memory on Android: What Good Apps Should Do
Short answer
Answer summary
Good private AI memory on Android is selective, visible, editable, and purpose-limited. It separates current context, chat history, explicit saved facts, inferred summaries, attachments, embeddings, and settings; records provenance; retrieves only what a task needs; lets users correct, expire, delete, export, and reset; and explains that memory inserted into BYOK or local-server prompts leaves the phone even when the database itself remains local.
Memory taxonomy
An assistant should not call every stored byte "memory." Current-turn context exists for one generation. Chat history preserves messages. Explicit facts are deliberately reusable notes. Inferred summaries compress prior conversations and can be wrong. Attachments preserve source files. Embeddings or indexes make content retrievable. Preferences configure behavior. Each category has a different risk and lifecycle.
The interface should name the category and purpose. A single memory switch cannot explain whether disabling it deletes existing notes, stops retrieval, clears chat history, or only prevents new inferred summaries.
Retention matrix
| Data category | Useful default | User control | Main risk |
|---|---|---|---|
| Current prompt context | Discard after active operation as appropriate | Clear or start new thread | Accidental carryover into another task. |
| Chat history | Local until user deletes or resets | Delete thread, export, clear all | Verbatim sensitive disclosure. |
| Explicit memory | Retain while useful | Inspect, edit, delete, expire | Durable profile outlives its purpose. |
| Inferred summary | Suggest before durable save | Approve, correct, reject | Model turns uncertainty into a false fact. |
| Attachment | Retain only for the chosen project or task | Remove source and derived index | High-density personal or commercial data. |
| Embedding/index | Bound to source lifecycle | Rebuild and delete with source | Deleted text remains indirectly retrievable. |
| Provider/server profile | Until removed | Edit, disable, delete, revoke token | Credential and destination exposure. |
Consent and provenance
Explicit memory should record what was saved, why, when, and from which conversation or user action. Inferred memories should show the proposed wording before becoming durable, especially for health, relationships, beliefs, identity, finances, or work. "User prefers concise responses" is a different category from "User is anxious," and the latter should not be inferred casually from one chat.
Provenance improves correction. If a note came from an old project, the user can decide whether it still applies. If it was generated by the model, the UI can present uncertainty. A memory without source or purpose becomes hard to trust and easy to retain forever.
Retrieval as disclosure
Local storage is not the final boundary. When the app retrieves a note and includes it in a prompt, the active inference route decides where that note travels. A phone model can consume it locally. A personal server receives it over the selected network. A BYOK provider receives it under the user's provider relationship. The app should retrieve the smallest relevant snippet and display route status before sending.
Avoid attaching an entire user profile to every turn. Use project, topic, recency, and explicit scope to narrow candidates. Let users disable memory for one conversation. Never silently inject unrelated private facts because they happen to be semantically similar.
Correction, ageing, and expiry
Memory quality degrades as circumstances change. Add last-confirmed and last-used information. Prompt periodic review for old or sensitive notes. Support expiry for temporary projects and preferences. When two notes conflict, ask the user rather than allowing whichever vector score wins to define identity.
Correction should replace the active fact and remove stale indexes, not append a second contradictory note. If a summary is rejected, record only the rejection state needed to prevent immediate re-suggestion, not a hidden copy of the same sensitive text.
Deletion and derived copies
Deleting a memory should remove its primary record, derived embeddings or indexes, and retrieval eligibility. Deleting a source attachment should trigger deletion of extracted text and vectors linked to it. A complete local reset should cover chats, memory, attachments, model profiles, credentials, and settings according to the confirmation shown.
Explain what remains outside the app: exported files, screenshots, Android or third-party backups, clipboard copies, personal-server logs, and provider requests already made. Honest deletion language describes the app's control surface instead of promising universal erasure.
Export and portability
Export data in a readable, structured format with categories, timestamps, and provenance. Let the user select projects or categories rather than forcing an all-or-nothing dump. Warn that the export is now a sensitive file outside app protection. Do not include provider API keys or authentication tokens.
Portability supports local-first trust because users are not trapped by a cloud account. It also lets people inspect what the system accumulated. The ability to leave is part of memory ownership.
Device and backup protection
Use app-private storage and Keystore-backed cryptographic protection where appropriate. Lock access behind the device or app security setting. Limit notification previews and accidental screenshots for sensitive screens where the product design justifies it. Review Android backup inclusion carefully and document whether local data moves through any backup service.
Security controls should not make deletion impossible or create false certainty. Keystore reduces key-extraction risk; it does not protect plaintext while an unlocked compromised app uses it. Keep the stored data minimal enough that a future vulnerability has less to expose.
A review checklist for users
Create one test memory, inspect its exact wording, edit it, use it in local mode, switch to an online route and observe the warning, then delete it and confirm it no longer affects answers. Export a small sample and inspect the file. Reset a test profile. Repeat after major updates.
Phos's memory design is intended to make those actions normal rather than hiding personalization behind an account. Useful memory should feel like notes the user owns, not a dossier the assistant owns about the user.
Sources and further reading
UK Information Commissioner's Office
Regulator guidance for adequacy, relevance, and limited retention.
OWASP Mobile Application Security
Independent mobile privacy verification controls.
FAQ
Can memory stay on Android while using a cloud provider?
The memory database can stay local, but any selected note included in a provider prompt is disclosed to that provider. Retrieval is a separate privacy event.
Should AI save memories automatically?
Sensitive or durable memories should require explicit confirmation or an inspectable suggestion. Automatic saving should be narrow, reversible, and easy to disable.
What does deleting AI memory actually remove?
It should remove the app's active local copy and stop future retrieval. It cannot erase screenshots, exports, backups, server logs, or provider data created earlier.
Start with a private setup
Phos can run locally, connect to your own server, or use your own provider key when you choose.