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 ( +
+
+
+ + + Back to Home + +
+
+ +
+

Delete your Sauci account

+

+ You can request deletion of your Sauci account and associated data without reinstalling the app. +

+ +
+

Request deletion by email

+

+ Email us from the address associated with your Sauci account and ask us to delete your account. +

+ + Request account deletion + +

+ Or email privacy@sauci.app. +

+
+ +
+
+

Delete your account in the Sauci app

+
    +
  1. Open Sauci and go to your Profile.
  2. +
  3. Select Account.
  4. +
  5. Choose Delete Account and follow the confirmation steps.
  6. +
+
+ +
+

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() {