# Politique de Confidentialité — Safar

**Dernière mise à jour : 30 juin 2026**

> Version française. English version below ⬇️

---

## 1. Identité du responsable du traitement

Safar (« nous », « notre », « l'application ») est édité par l'auteur de l'application Safar. Contact : **[email protected]**.

Cette politique décrit comment nous collectons, utilisons et protégeons vos données personnelles lorsque vous utilisez l'application mobile Safar. Elle est conforme au :
- **Règlement Général sur la Protection des Données (RGPD)** — Règlement (UE) 2016/679
- **Loi fédérale suisse sur la protection des données (LPD)** — RS 235.1
- **California Consumer Privacy Act (CCPA)** pour les utilisateurs californiens
- **Apple App Store Review Guideline 5.1.1**

## 2. Données que nous collectons

### 2.1 Données fournies par vous

| Donnée | Finalité | Base légale | Conservation |
| --- | --- | --- | --- |
| Adresse email | Identification du compte, authentification | Exécution du contrat | Tant que le compte est actif |
| Mot de passe (haché bcrypt) | Authentification | Exécution du contrat | Tant que le compte est actif |
| Nom d'affichage | Personnalisation de l'expérience | Exécution du contrat | Tant que le compte est actif |
| Photo de profil (optionnelle) | Personnalisation | Consentement | Jusqu'à suppression par vous |
| Bio (optionnelle) | Personnalisation | Consentement | Jusqu'à suppression par vous |
| Carnets de voyage (photos, légendes, dates) | Fonctionnalité principale | Consentement | Jusqu'à suppression par vous |
| Pays visités (clics sur la carte) | Fonctionnalité principale | Consentement | Jusqu'à suppression par vous |
| Avis et notes laissés sur des lieux | Fonctionnalité communautaire | Consentement | Jusqu'à suppression par vous |

### 2.2 Données collectées automatiquement
- **Aucun cookie de tracking.**
- **Aucun pixel publicitaire.**
- **Aucun SDK d'analyse comportementale** (pas de Google Analytics, pas de Facebook Pixel, pas de Mixpanel).
- **Aucun identifiant publicitaire** (IDFA, AAID).
- **Logs serveurs techniques** : adresse IP et User-Agent uniquement pendant l'exécution d'une requête, jamais persistés au-delà de 7 jours, utilisés exclusivement pour la sécurité (rate-limiting anti-bruteforce).

### 2.3 Sign in with Apple
Si vous vous connectez avec Apple, Apple nous transmet uniquement :
- Un identifiant Apple stable (`apple_sub`) — un nombre opaque
- Votre email (réel ou Apple-Private-Relay, à votre choix)
- Votre nom (uniquement à la première connexion, si vous l'autorisez)

Nous ne recevons **aucune autre donnée** d'Apple.

### 2.4 Achats et abonnements
La version actuelle de Safar est **entièrement gratuite** et ne propose **aucun achat intégré ni abonnement**. Nous ne collectons, ne traitons et ne stockons **aucune donnée de paiement ni historique d'achat**.

## 3. Comment nous utilisons vos données

Vos données sont utilisées **exclusivement** pour :
1. Vous authentifier et personnaliser votre expérience
2. Sauvegarder vos carnets, visites et avis
3. Afficher les avis publics avec votre nom d'utilisateur (jamais votre email)
4. Détecter les abus (8 tentatives de login échouées en 15 min déclenchent un blocage temporaire)
5. Répondre à vos demandes de support

**Nous n'utilisons JAMAIS vos données pour :**
- Vous envoyer du marketing non sollicité
- Vous profiler à des fins publicitaires
- Vendre, louer ou échanger vos données avec qui que ce soit
- Entraîner des modèles d'intelligence artificielle

## 4. Partage de vos données — Sous-traitants

Nous travaillons avec un nombre minimal de prestataires nécessaires au fonctionnement de l'application :

| Prestataire | Rôle | Localisation | Garanties |
| --- | --- | --- | --- |
| MongoDB Atlas (ou serveur dédié) | Stockage de la base de données | UE / Suisse | DPA signé, chiffrement au repos |
| Emergent.sh | Hébergement applicatif | UE / US | DPA signé, chiffrement TLS |
| Apple | Authentification (Sign in with Apple) | Mondial | Conforme RGPD/CCPA |
| Wikimedia Foundation | Hébergement des photos illustratives | Mondial | Pas de transfert de données utilisateur |

**Nous ne transférons vos données à AUCUNE autre entité commerciale, gouvernementale ou tierce.**

## 5. Sécurité — Mesures techniques mises en place

L'application Safar a fait l'objet d'un audit de sécurité externe en juin 2026. Les mesures suivantes sont en place :
- ✅ **Mots de passe hachés** avec bcrypt (coût 12) — irréversibles
- ✅ **Tokens JWT révocables** instantanément en cas de changement de mot de passe (claim `pwd_v`)
- ✅ **Rate limiting** par IP (slowapi) ET par email (8 tentatives / 15 min)
- ✅ **Login en temps constant** — pas d'énumération d'email possible
- ✅ **Réponses HTTP filtrées** — aucun champ interne (rôle admin, statut ban) ne fuite
- ✅ **CORS restreint** à des origines explicites en production
- ✅ **Validation stricte** de la taille des payloads (max 2 MB pour avatar, ~14 MB pour album)
- ✅ **Index unique** sur les collections sensibles pour bloquer les race conditions
- ✅ **Suppression de compte atomique**
- ✅ **TLS 1.3** sur toutes les communications

## 6. Vos droits (RGPD / LPD / CCPA)

### 6.1 Droit d'accès et de portabilité
Vous pouvez exporter **toutes** vos données via : **Profil → Confidentialité → Exporter mes données**. Un fichier JSON contenant 100% de vos données vous est envoyé immédiatement.

### 6.2 Droit de rectification
Vous pouvez modifier votre profil (nom, photo, bio, email, mot de passe) directement dans l'application.

### 6.3 Droit à l'effacement (« droit à l'oubli »)
Vous pouvez supprimer **définitivement** votre compte via : **Profil → Compte → Supprimer mon compte**. La suppression est **immédiate**, **en cascade** (carnets, visites, avis, réactions) et **définitive**. Cela respecte l'**Apple App Store Guideline 5.1.1(v)**.

### 6.4 Droit d'opposition et de limitation
Vous pouvez à tout moment demander la limitation du traitement de vos données en nous écrivant à **[email protected]**.

### 6.5 Droit de réclamation
Vous pouvez introduire une réclamation auprès de l'autorité compétente :
- **Suisse** : Préposé fédéral à la protection des données et à la transparence (PFPDT)
- **France** : CNIL (cnil.fr)
- **UE** : Autorité de contrôle de votre pays de résidence

## 7. Cookies et technologies similaires

L'application **n'utilise aucun cookie**, **aucun pixel de tracking**, **aucun localStorage à des fins commerciales**.

Les seuls éléments stockés localement sur votre appareil sont :
- Votre token JWT d'authentification (dans Expo SecureStore — chiffré par le système d'exploitation)
- Vos préférences d'interface (langue, thème) — dans AsyncStorage

## 8. Enfants

L'application n'est **pas destinée aux enfants de moins de 13 ans** (ou 16 ans dans l'UE). Nous ne collectons pas sciemment les données d'enfants. Si vous pensez qu'un enfant nous a fourni des données, contactez-nous à **[email protected]** pour suppression immédiate.

## 9. Transferts internationaux

Si vos données sont stockées hors de Suisse / UE (par exemple chez Apple aux États-Unis), elles sont protégées par :
- Des Clauses Contractuelles Types (CCT) de la Commission européenne
- Le Data Privacy Framework EU-US (lorsque applicable)
- Le chiffrement de bout en bout pour les données sensibles

## 10. Crédits photographiques

Toutes les photos illustratives de l'application proviennent de Wikimedia Commons (images sous licences CC0 / CC BY / CC BY-SA / GFDL / domaine public) et d'Unsplash (sous Unsplash License). La liste complète des attributions est consultable dans : **Profil → Crédits photo & licences**.

## 11. Modifications de cette politique

Toute modification substantielle de cette politique vous sera notifiée par email et via l'application au moins **30 jours avant son entrée en vigueur**. La date en haut de cette page indique la dernière modification.

## 12. Contact

📧 **[email protected]** — Réponse sous **72 heures ouvrées** maximum.

---

# Privacy Policy — Safar

**Last updated: June 30, 2026**

## 1. Data Controller
Safar ("we", "our", "the app") is operated by the author of the Safar application. Contact: **[email protected]**.

This policy describes how we collect, use and protect your personal data when you use the Safar mobile application. It complies with:
- **General Data Protection Regulation (GDPR)** — Regulation (EU) 2016/679
- **Swiss Federal Act on Data Protection (FADP)** — RS 235.1
- **California Consumer Privacy Act (CCPA)** for California residents
- **Apple App Store Review Guideline 5.1.1**

## 2. Data we collect

### 2.1 Data you provide

| Data | Purpose | Legal basis | Retention |
| --- | --- | --- | --- |
| Email address | Account ID, authentication | Contract | While account active |
| Password (bcrypt hashed) | Authentication | Contract | While account active |
| Display name | Personalization | Contract | While account active |
| Profile photo (optional) | Personalization | Consent | Until you delete it |
| Bio (optional) | Personalization | Consent | Until you delete it |
| Travel albums (photos, captions, dates) | Core feature | Consent | Until you delete |
| Visited countries (map clicks) | Core feature | Consent | Until you delete |
| Reviews and ratings | Community feature | Consent | Until you delete |

### 2.2 Data collected automatically
- **No tracking cookies.**
- **No advertising pixels.**
- **No behavioral analytics SDKs** (no Google Analytics, no Facebook Pixel, no Mixpanel).
- **No advertising identifiers** (IDFA, AAID).
- **Technical server logs**: IP address and User-Agent only during the lifetime of a request, never persisted beyond 7 days, used exclusively for security (anti-bruteforce rate limiting).

### 2.3 Sign in with Apple
If you sign in with Apple, Apple transmits to us only: a stable Apple identifier (`apple_sub`, opaque), your email (real or Apple Private Relay, your choice), and your name (only on first sign-in, if you allow it). We receive **no other data** from Apple.

### 2.4 Purchases and subscriptions
The current version of Safar is **entirely free** and offers **no in-app purchases or subscriptions**. We do **not** collect, process or store **any payment information or purchase history**.

## 3. How we use your data

Your data is used **exclusively** to:
1. Authenticate you and personalize your experience
2. Save your albums, visits and reviews
3. Display public reviews with your display name (never your email)
4. Detect abuse (8 failed login attempts in 15 minutes trigger a temporary block)
5. Reply to your support requests

**We NEVER use your data to:** send unsolicited marketing, profile you for advertising, sell/rent/exchange your data, or train AI models.

## 4. Data sharing — Sub-processors

| Provider | Role | Location | Safeguards |
| --- | --- | --- | --- |
| MongoDB Atlas (or dedicated server) | Database storage | EU / Switzerland | Signed DPA, encryption at rest |
| Emergent.sh | App hosting | EU / US | Signed DPA, TLS encryption |
| Apple | Authentication (Sign in with Apple) | Worldwide | GDPR/CCPA compliant |
| Wikimedia Foundation | Illustrative photo hosting | Worldwide | No user data transferred |

**We do NOT transfer your data to ANY other commercial, governmental or third-party entity.**

## 5. Security — Technical measures in place

The Safar application underwent a third-party security audit in June 2026:
- ✅ **Passwords hashed** with bcrypt (cost 12) — irreversible
- ✅ **JWT tokens instantly revocable** on password change (`pwd_v` claim)
- ✅ **Rate limiting** by IP (slowapi) AND by email (8 attempts / 15 min)
- ✅ **Constant-time login** — no email enumeration possible
- ✅ **Filtered HTTP responses** — no internal field (admin role, ban status) leaks
- ✅ **CORS restricted** to explicit origins in production
- ✅ **Strict payload size validation** (max 2 MB avatar, ~14 MB album)
- ✅ **Unique indexes** on sensitive collections to block race conditions
- ✅ **Atomic account deletion**
- ✅ **TLS 1.3** on all communications

## 6. Your rights (GDPR / FADP / CCPA)

### 6.1 Right of access and portability
Export **all** your data via: **Profile → Privacy → Export my data** (immediate JSON file).

### 6.2 Right to rectification
Edit your profile (name, photo, bio, email, password) directly in the app.

### 6.3 Right to erasure ("right to be forgotten")
Delete your account **permanently** via: **Profile → Account → Delete my account**. Deletion is immediate, cascading and permanent. Complies with **Apple App Store Guideline 5.1.1(v)**.

### 6.4 Right to object and restrict
Request restriction of your data processing by emailing **[email protected]**.

### 6.5 Right to complain
Lodge a complaint with the competent authority:
- **Switzerland**: Federal Data Protection and Information Commissioner (FDPIC)
- **France**: CNIL (cnil.fr)
- **EU**: Supervisory authority of your country of residence

## 7. Cookies and similar technologies

The application uses **no cookies**, **no tracking pixels**, **no localStorage for commercial purposes**. The only items stored locally are your authentication JWT token (in Expo SecureStore, OS-encrypted) and your interface preferences (language, theme) in AsyncStorage.

## 8. Children

The application is **not intended for children under 13** (or under 16 in the EU). We do not knowingly collect data from children. If you believe a child has provided us with data, contact **[email protected]** for immediate deletion.

## 9. International transfers

If your data is stored outside Switzerland / EU (e.g. at Apple in the US), it is protected by European Commission Standard Contractual Clauses (SCCs), the EU-US Data Privacy Framework (where applicable), and end-to-end encryption for sensitive data.

## 10. Photo credits

All illustrative photos come from Wikimedia Commons (images under CC0 / CC BY / CC BY-SA / GFDL / public domain) and Unsplash (Unsplash License). The full list of attributions is in: **Profile → Photo credits & licenses**.

## 11. Changes to this policy

Any substantial change will be notified by email and in-app at least **30 days before it takes effect**.

## 12. Contact

📧 **[email protected]** — Response within **72 business hours** maximum.