diff --git a/apps/web/app/delete-account/page.test.ts b/apps/web/app/delete-account/page.test.ts
new file mode 100644
index 0000000..29eace0
--- /dev/null
+++ b/apps/web/app/delete-account/page.test.ts
@@ -0,0 +1,19 @@
+import { readFile } from 'node:fs/promises'
+import { describe, expect, it } from 'vitest'
+
+const pagePath = new URL('./page.tsx', import.meta.url)
+
+describe('/delete-account public deletion resource', () => {
+ it('provides an accessible request route and the required deletion details', async () => {
+ const page = await readFile(pagePath, 'utf8')
+
+ expect(page).toContain('Delete your Sauci account')
+ expect(page).toContain('mailto:privacy@sauci.app')
+ expect(page).toContain('without reinstalling the app')
+ expect(page).toContain('Open Sauci and go to your Profile.')
+ expect(page).toContain('Choose Delete Account and follow the confirmation steps.')
+ expect(page).toContain('within 30 days')
+ expect(page).toContain('required for legal purposes')
+ expect(page).toContain('relationship data, question responses, match data, chat messages and photos')
+ })
+})
diff --git a/apps/web/app/delete-account/page.tsx b/apps/web/app/delete-account/page.tsx
new file mode 100644
index 0000000..78af605
--- /dev/null
+++ b/apps/web/app/delete-account/page.tsx
@@ -0,0 +1,89 @@
+import Link from 'next/link'
+import { ArrowLeft } from 'lucide-react'
+import type { Metadata } from 'next'
+
+export const metadata: Metadata = {
+ title: 'Delete your Sauci account',
+ description: 'How to delete your Sauci account and associated data.',
+}
+
+export default function DeleteAccountPage() {
+ return (
+
+
+
+
+
Delete your Sauci account
+
+ You can request deletion of your Sauci account and associated data without reinstalling the app.
+
+
+
+
+
+
+ Delete your account in the Sauci app
+
+ Open Sauci and go to your Profile.
+ Select Account.
+ Choose Delete Account and follow the confirmation steps.
+
+
+
+
+ What deletion covers
+
+ Deleting an account permanently removes the account and profile, relationship data, question responses, match data, chat messages and photos, encryption keys, and other cloud-stored data associated with that account.
+
+
+
+
+ Timing and limited retention
+
+ We will delete or anonymize your personal information within 30 days. We may retain information where required for legal purposes.
+
+
+
+
+ Need help?
+
+ For questions about deletion or your data, contact privacy@sauci.app .
+
+
+
+
+
+
+
+ )
+}
diff --git a/apps/web/app/privacy/page.tsx b/apps/web/app/privacy/page.tsx
index 4b93501..71e5d53 100644
--- a/apps/web/app/privacy/page.tsx
+++ b/apps/web/app/privacy/page.tsx
@@ -129,9 +129,12 @@ export default function PrivacyPolicy() {
Portability: Request a copy of your data in a portable format.
Opt-out: Disable push notifications through your device settings.
-
- To exercise these rights, please contact us at privacy@sauci.app .
-
+
+ To exercise these rights, please contact us at privacy@sauci.app .
+
+
+ For account deletion instructions and an email deletion request, visit our account deletion page.
+
@@ -174,9 +177,10 @@ export default function PrivacyPolicy() {