# Politique de confidentialité — plan d'implémentation > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal :** livrer `privacy.html` — page autonome bilingue FR/EN (toggle) à héberger pour le formulaire Google Play. **Architecture :** un seul fichier HTML statique, tout le contenu en double (`data-lang="fr"` / `data-lang="en"`), bascule par classes sur `` + script inline (~15 lignes) gérant hash `#fr`/`#en` et `localStorage`. Tailwind via CDN configuré avec la palette du logo ; mode sombre automatique via `prefers-color-scheme`. **Tech stack :** HTML5 + Tailwind CDN + JS inline. Aucun build, aucune dépendance Gradle. **Spec :** `docs/superpowers/specs/2026-08-31-politique-confidentialite-design.md` ## Global Constraints - Un seul fichier livrable : `privacy.html`, à la racine du dépôt. - Français par défaut ; bascule EN via bouton, hash `#en`/`#fr`, persistance `localStorage` (`livrets-lang`). - Palette du logo, valeurs exactes : `#1D3557` (navy/encre), `#A8DADC` (mist), `#E63946` (coral), `#F1FAEE` (paper), `#457B9D` (accent). - Mode sombre uniquement via `prefers-color-scheme` (`darkMode: 'media'`), pas de toggle manuel. - Placeholders visibles : `[ÉDITEUR — À REMPLIR]`, `[EMAIL — À REMPLIR]`, `[DATE]` (style pointillé coral), à remplacer avant publication. - Pas d'analytique, pas de police externe, pas d'image externe ; seul appel réseau autorisé : le script CDN Tailwind. - Commits en conventional commits français. - Page hors build Gradle : vérification par tests manuels navigateur (pas de `:sharedUI:jvmTest` concerné). --- ### Task 1 : Créer `privacy.html` bilingue **Files:** - Create: `privacy.html` **Interfaces:** - Consumes : logo `docs/branding/logo.svg` (contenu inline reproduit tel quel ci-dessous, sans `` ni attributs `role`/`aria-labelledby` — l'en-tête de page porte déjà le nom). - Produces : fichier autonome déployable tel quel ; l'URL finale sera saisie dans Play Console (hors périmètre de ce plan). - [ ] **Step 1 : Créer le fichier complet** Créer `privacy.html` avec exactement ce contenu : ```html <!DOCTYPE html> <html lang="fr" class="fr"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Politique de confidentialité — Livrets

Livrets

Politique de confidentialité

Privacy Policy

En résumé : vos données restent sur votre appareil. Le jeu ne contient ni publicité ni analytique, et rien n'est envoyé à des serveurs, sauf si vous activez volontairement Google Play Jeux sur Android.

In short: your data stays on your device. The game contains no ads and no analytics, and nothing is sent to servers unless you voluntarily sign in to Google Play Games on Android.

1. Éditeur

1. Publisher

Cette politique de confidentialité décrit la manière dont Livrets (« le jeu »), édité par [ÉDITEUR — À REMPLIR], traite les données. Dernière mise à jour : [DATE].

This privacy policy describes how Livrets (“the game”), published by [ÉDITEUR — À REMPLIR], handles data. Last updated: [DATE].

2. Données stockées localement

2. Data stored locally

Le jeu enregistre sur votre appareil — et uniquement sur votre appareil : l'historique des parties (score, date, réponses) et le taux de réussite cumulé par table. Ces données ne sont jamais transmises à des serveurs : elles restent dans le stockage local de l'application (~/.livrets/ sur desktop, stockage privé de l'app sur Android et iOS). Désinstaller l'application les supprime définitivement.

The game saves the following data on your device — and only on your device: game history (score, date, answers) and cumulative success rate per table. This data is never transmitted to servers: it stays in the app's local storage (~/.livrets/ on desktop, private app storage on Android and iOS). Uninstalling the app permanently deletes it.

3. Google Play Jeux (Android, optionnel)

3. Google Play Games (Android, optional)

Sur Android, si vous choisissez de vous connecter à Google Play Jeux, le jeu envoie vos scores aux classements. Google traite alors votre identifiant joueur et votre pseudonyme Play Jeux conformément à sa propre politique de confidentialité. La connexion est optionnelle : sans elle, le jeu reste pleinement jouable et aucune donnée ne quitte votre appareil.

On Android, if you choose to sign in to Google Play Games, the game submits your scores to leaderboards. Google then processes your Play Games player ID and nickname under its own privacy policy. Signing in is optional: without it, the game remains fully playable and no data leaves your device.

4. Ce que le jeu ne fait pas

4. What the game does not do

  • pas de publicité ;
  • pas d'analytique ni de mesure d'audience ;
  • pas de création de compte par nos soins ;
  • pas d'accès à votre position ;
  • pas d'accès à vos contacts, photos ou fichiers ;
  • aucune donnée vendue ni partagée à des tiers.
  • no advertising;
  • no analytics or audience measurement;
  • no account creation on our side;
  • no access to your location;
  • no access to your contacts, photos or files;
  • no data sold or shared with third parties.

5. Mineurs

5. Minors

Livrets est un jeu éducatif destiné à l'apprentissage des tables de multiplication. Le jeu ne collecte délibérément aucune donnée personnelle d'enfant. Les seules données susceptibles de transiter le sont via Google Play Jeux, sous la responsabilité de Google.

Livrets is an educational game for learning multiplication tables. The game does not knowingly collect any personal data from children. The only data that may transit does so via Google Play Games, under Google's responsibility.

6. Conservation des données

6. Data retention

Les données locales sont conservées tant que l'application est installée sur votre appareil ; vous pouvez les effacer à tout moment en désinstallant l'application. Les scores envoyés aux classements Play Jeux sont conservés par Google selon ses propres règles.

Local data is kept as long as the app is installed on your device; you can erase it at any time by uninstalling the app. Scores submitted to Play Games leaderboards are retained by Google under its own rules.

7. Vos droits

7. Your rights

Conformément au RGPD, vous disposez de droits d'accès, de rectification et de suppression. Comme l'essentiel des données reste sur votre appareil, l'exercice de ces droits passe par la désinstallation de l'application. Pour toute autre demande : [EMAIL — À REMPLIR].

Under the GDPR, you have rights of access, rectification and erasure. Since most data stays on your device, exercising these rights is done by uninstalling the app. For any other request: [EMAIL — À REMPLIR].

8. iOS et desktop

8. iOS and desktop

Sur iOS et macOS, le jeu n'a aucune fonctionnalité en ligne : toutes les données restent sur votre appareil.

On iOS and macOS, the game has no online features: all data stays on your device.

``` - [ ] **Step 2 : Vérification manuelle navigateur** Ouvrir la page : ```bash open privacy.html ``` Checklist attendue : 1. **Défaut FR** : tout le texte visible est en français ; aucun bloc EN visible ; le bouton affiche « English ». 2. **Toggle** : cliquer « English » → tout le contenu bascule en anglais, le bouton affiche « Français », `` (vérifier dans l'inspecteur). 3. **Persistance** : recharger la page → reste en anglais ; recharger une fenêtre privée → français. 4. **Hash** : ouvrir `privacy.html#en` dans une fenêtre privée → anglais dès le chargement. 5. **Sombre** : basculer l'apparence du système (macOS Réglages → Apparence) → fond navy `#1D3557`, texte clair, aucun contraste cassé (badges placeholder restent lisibles). 6. **Mobile** : réduire la fenêtre à ~360px de large → pas de débordement horizontal, bouton et logo sur une ligne. 7. **Logo** : rendu identique à l'icône de l'app (4 tuiles colorées sur fond navy). - [ ] **Step 3 : Vérifier les placeholders et l'autonomie du fichier** ```bash grep -o "À REMPLIR" privacy.html | wc -l ``` Attendu : `6` (éditeur ×2 FR/EN, email ×4 : section 7 FR/EN + footer FR/EN). ```bash grep -o "\[DATE\]" privacy.html | wc -l ``` Attendu : `2` (section 1 FR/EN). ```bash grep -Eo 'src="[^"]*"|href="[^"]*"' privacy.html | sort -u ``` Attendu uniquement : `https://cdn.tailwindcss.com` (src) et `https://policies.google.com/privacy` (href). Aucune autre ressource externe. - [ ] **Step 4 : Commit** ```bash git add privacy.html git commit -m "feat: ajouter la page de politique de confidentialité bilingue" ``` --- ### Task 2 : Checklist de publication (hors dépôt) **Files:** - Aucun fichier modifié. Étapes à réaliser par le propriétaire avant/après déploiement. - [ ] **Step 1 : Remplacer les placeholders** Dans `privacy.html` : `[ÉDITEUR — À REMPLIR]` → nom/pseudo de l'éditeur ; `[EMAIL — À REMPLIR]` (3 occurrences) → email de contact ; `[DATE]` (1 occurrence) → date de publication. - [ ] **Step 2 : Déployer et saisir l'URL dans Play Console** Héberger le fichier publiquement (GitHub Pages : committer `privacy.html` sur la branche publiée, ou dossier `docs/` d'un dépôt dédié). Vérifier que l'URL répond en HTTPS. Coller l'URL dans Play Console → Contenu de l'app → Politique de confidentialité. - [ ] **Step 3 : Re-vérifier les 7 points de la Step 2 du Task 1 sur l'URL déployée**