Privacy policy and terms
CI / check (push) Canceled after 0s

/privacy and /terms describe what the app actually collects and shows
(public profiles and listening, 50 recent plays, encrypted service tokens,
stripped profile pictures, Android reader scope, song lookups that carry no
identity, 14-day backups, 13+), linked from a web footer, the sign-up
forms and mobile Settings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MzFywujuH9TiuXbr9vjoX8
This commit is contained in:
2026-10-06 13:07:54 -04:00
co-authored by Claude Opus 5.5
parent 85e1643c29
commit 50f00f922b
7 changed files with 270 additions and 2 deletions
+6 -1
View File
@@ -1,7 +1,7 @@
import * as ImagePicker from 'expo-image-picker';
import { router } from 'expo-router';
import { useState } from 'react';
import { Alert, Platform, StyleSheet, View } from 'react-native';
import { Alert, Linking, Platform, StyleSheet, View } from 'react-native';
import useSWR from 'swr';
import {
SERVICE_LABELS,
@@ -19,6 +19,7 @@ import { ServiceName } from '@/components/ServiceName';
import { SharingControls } from '@/components/SharingControls';
import { Body, Button, Card, Chip, Field, Heading, Row, Title } from '@/components/ui';
import { api } from '@/lib/api';
import { WEB_URL } from '@/lib/config';
import { showError } from '@/lib/errors';
import { AppleMusicPermissionError, appleMusicAvailable, connectAppleMusic } from '@/lib/appleMusic';
import { SignInError, openSpotifyLinkPage, signInWithService } from '@/lib/connect';
@@ -470,6 +471,10 @@ function Account() {
<Button small title="Change email" onPress={() => router.push('/change-email')} />
<Button small title="Change password" onPress={() => router.push('/change-password')} />
</Row>
<Row>
<Button small title="Privacy policy" onPress={() => Linking.openURL(`${WEB_URL}/privacy`)} />
<Button small title="Terms" onPress={() => Linking.openURL(`${WEB_URL}/terms`)} />
</Row>
<Button small title="Blocked accounts" onPress={() => router.push('/blocked')} style={{ alignSelf: 'flex-start' }} />
<Row>
<Button small title="Log out" onPress={signOut} />