Bug: Account deletion does not fully delete user data (potential GDPR violation)
Priority: High — data retention policy does not match actual behavior; potential breach of European data laws.
Problem
The app states that deleting your account removes all data. However, after deleting and re-registering, all conversations, memories, app subscriptions, and other data are still present and fully accessible.
Root Cause
backend/database/users.py::delete_user_data() only deletes Firestore subcollections (conversations, messages, chat_sessions, people, memories, files) and the user document. It does NOT delete:
- Vector embeddings (Pinecone) —
delete_vector() and delete_memory_vector() in backend/database/vector_db.py are never called during account deletion
- Audio recordings in cloud storage — no storage bucket cleanup
- Typesense search index entries — no index cleanup
- Analytics data —
analytics collection entries referencing the user are retained
- Subscription data — appears to persist across account deletion
Additionally, if the user re-registers with the same authentication method, they may receive the same Firebase UID, which would reconnect them to any data that wasn't properly purged.
Expected Behavior
Account deletion should remove all user data across all storage backends:
- Firestore documents (currently done)
- Pinecone vector embeddings
- Cloud storage (audio recordings, speech samples)
- Typesense search index
- Analytics data
- Any cached/derived data
Regulatory Impact
The app's in-app statement that account deletion removes all data may not comply with:
- GDPR (EU) — Right to erasure (Article 17)
- CCPA (California) — Right to delete
If data is retained after a user explicitly requests deletion, this is a compliance risk.
Suggested Fix
Update delete_user_data() or the /v1/users/delete-account endpoint to also:
# Delete vector embeddings
vector_db.delete_vectors_for_user(uid)
# Delete audio recordings from cloud storage
storage.delete_user_recordings(uid)
# Delete Typesense index entries
search.delete_user_conversations(uid)
# Delete analytics data
delete_user_analytics(uid)
Questions for the user
- Did you re-register with the same email/auth method?
- Which platform (iOS/Android)?
- How long between deletion and re-registration?
Reported by community member on Discord.
Bug: Account deletion does not fully delete user data (potential GDPR violation)
Priority: High — data retention policy does not match actual behavior; potential breach of European data laws.
Problem
The app states that deleting your account removes all data. However, after deleting and re-registering, all conversations, memories, app subscriptions, and other data are still present and fully accessible.
Root Cause
backend/database/users.py::delete_user_data()only deletes Firestore subcollections (conversations,messages,chat_sessions,people,memories,files) and the user document. It does NOT delete:delete_vector()anddelete_memory_vector()inbackend/database/vector_db.pyare never called during account deletionanalyticscollection entries referencing the user are retainedAdditionally, if the user re-registers with the same authentication method, they may receive the same Firebase UID, which would reconnect them to any data that wasn't properly purged.
Expected Behavior
Account deletion should remove all user data across all storage backends:
Regulatory Impact
The app's in-app statement that account deletion removes all data may not comply with:
If data is retained after a user explicitly requests deletion, this is a compliance risk.
Suggested Fix
Update
delete_user_data()or the/v1/users/delete-accountendpoint to also:Questions for the user
Reported by community member on Discord.