rubyforgood / rubyforgood/alongwithyou

[FEATURE] "Delete all my data" in-app control

Open
#116 0 comments 0 reactions 1 assignee View on GitHub

@Jberma23 is already working on this.

Since Aug 9, 2026.

enhancement triage
Dominant language
TypeScript
Stars
9
Forks
4
Avg merge
9h 34m
Merged PRs (30d)
16

Description

Description

Per 0007 — Authentication, account recovery, and data-deletion behavior: there's no server-side data to delete (local-only architecture, 0001), but relying on "just uninstall the app" to delete data isn't discoverable or explicit enough. Build an in-app action that immediately wipes the local encrypted database.

Scope: a settings-level "Delete all my data" control and its confirmation/execution flow. Does not include any server-side deletion (none exists) and does not include the backup/export flow — this is destructive, one-way local deletion only.

Acceptance Criteria
  • Discoverable "Delete all my data" action exists in-app (e.g., in settings)
  • Action requires explicit confirmation before executing (destructive, irreversible — this audience is often tired or distracted, so no accidental one-tap deletion)
  • Confirmation copy is plain-language and states clearly that this cannot be undone
  • Executing the action wipes the local encrypted database immediately
  • After deletion, app returns to a clean/first-run state without crashing or showing stale data
  • Meets WCAG-aligned accessibility requirements (screen reader labels, no color-only affordances, adequate touch target size) for both the control and confirmation step
  • The feature/s being implemented are covered by unit tests - If not, create tests for them on this ticket
Additional Info and Resources
  • Source: 0007-authentication-recovery-deletion.md, "Data deletion" section
  • Directly satisfies the MVP exit-criteria checklist item on documented deletion behavior (referenced in the ADR)
  • Related: onboarding copy about backup responsibility is tracked as a separate ticket, since deletion is unrecoverable and users should understand backup is on them before they ever need this control
QA
  • Trigger deletion and confirm local database is actually wiped (not just hidden in UI)
  • Confirm confirmation step blocks accidental single-tap deletion
  • Test with a screen reader (VoiceOver/TalkBack) that the control and confirmation are announced clearly
  • Confirm app doesn't crash or show broken state immediately after deletion

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.