Guide : Champs d'Application Sensibles - Google OAuth
Ce guide explique comment répondre au champ "Vos champs d'application sensibles" dans le formulaire de vérification Google OAuth.
✅ Réponse Courte
Aucun champ sensible n'est utilisé avec les scopes actuels. Vous pouvez répondre :
"Aucun champ sensible n'est utilisé. L'application utilise uniquement les scopes de base (profile, email), le scope calendar.events.owned pour les événements créés par l'application, et le scope calendar uniquement pour créer/mettre à jour l'agenda dédié 'Aaperture'."
📋 Analyse des Scopes Actuels
Scopes Utilisés
-
profile- Informations de profil de base- ❌ Non sensible - Données publiques de base
- Données : nom, photo de profil, identifiant Google
-
email- Adresse email- ❌ Non sensible - Données de base pour l'authentification
- Données : adresse email de l'utilisateur
-
https://www.googleapis.com/auth/calendar.events.owned- Événements de calendrier créés par l'application- ❌ Non sensible - Scope le plus restrictif pour Calendar
- Données : uniquement les événements créés par l'application (pas tous les événements du calendrier)
-
https://www.googleapis.com/auth/calendar- Gestion de l'agenda dédié Aaperture- ❌ Non sensible dans notre usage - Utilisé uniquement pour créer/vérifier/supprimer l'agenda Google dédié aux séances photo
- Données : métadonnées de l'agenda "Aaperture" créé par l'application (pas les autres agendas de l'utilisateur)
🔍 Champs Sensibles selon Google
Google considère comme "sensibles" les données suivantes :
❌ Champs Sensibles (NON utilisés par votre application)
- Données de santé (Health API)
- Données financières (Payments API)
- Localisation précise (Location API)
- Contacts (Contacts API)
- Gmail (Gmail API) - ✅ Retiré de votre application
- Drive (Drive API)
- Photos (Photos API)
- YouTube (YouTube API)
✅ Champs NON Sensibles (Utilisés par votre application)
- Profile - Informations de profil de base
- Email - Adresse email
- Calendar Events (owned) - Événements créés par l'application uniquement
📝 Réponse Détaillée pour le Formulaire
Option 1 : Réponse Simple (Recommandée)
Aucun champ sensible n'est utilisé. L'application utilise uniquement :
- Les scopes de base (profile, email) pour l'authentification
- Le scope calendar.events.owned qui donne accès uniquement aux événements de calendrier créés par l'application elle-même, pas à tous les événements du calendrier de l'utilisateur
- Le scope calendar utilisé uniquement pour créer, vérifier ou supprimer l'agenda dédié "Aaperture" dans Google Calendar (aucun autre agenda n'est lu ou modifié)
Option 2 : Réponse Détaillée (Si demandée)
L'application n'utilise aucun champ d'application sensible selon les critères de Google.
Scopes utilisés :
1. profile - Informations de profil de base (nom, photo, identifiant Google)
2. email - Adresse email de l'utilisateur
3. https://www.googleapis.com/auth/calendar.events.owned - Accès uniquement aux événements de calendrier créés par l'application
4. https://www.googleapis.com/auth/calendar - Création et gestion de l'agenda dédié "Aaperture"
Le scope calendar.events.owned est le scope le plus restrictif disponible pour Google Calendar. Il ne donne accès qu'aux événements créés par notre application (séances photo programmées), pas à tous les événements du calendrier de l'utilisateur. Ce scope n'est pas considéré comme "sensible" par Google car il ne donne accès qu'aux données créées par l'application elle-même.
Le scope calendar est requis uniquement parce que l'API Google Calendar exige cette permission pour créer un nouvel agenda. Nous l'utilisons exclusivement pour créer/maintenir l'agenda "Aaperture" qui regroupe les événements générés par l'application.
Aucune donnée sensible n'est accédée :
- Pas d'accès aux emails (Gmail API retirée)
- Pas d'accès aux contacts
- Pas d'accès aux données de santé
- Pas d'accès aux données financières
- Pas d'accès à la localisation précise
- Pas d'accès à tous les événements de calendrier (seulement ceux créés par l'application)
- Pas d'accès aux agendas personnels existants (le scope calendar sert uniquement à gérer l'agenda dédié créé par l'application)
🎯 Pourquoi calendar.events.owned n'est PAS Sensible
Le scope calendar.events.owned est le scope le plus restrictif pour Google Calendar :
- ✅ Accès uniquement aux événements créés par l'application
- ❌ Pas d'accès aux autres événements du calendrier
- ❌ Pas d'accès aux calendriers partagés
- ❌ Pas d'accès aux événements créés par d'autres applications
C'est pourquoi Google ne le considère pas comme un scope sensible ou restreint.
Pourquoi demandons-nous aussi le scope https://www.googleapis.com/auth/calendar ?
- L'API Google Calendar exige ce scope pour créer ou supprimer un agenda (
calendars.insert,calendars.delete,calendarList.insert) - Nous créons un agenda séparé "Aaperture" pour isoler les séances photo des autres événements de l'utilisateur
- Ce scope n'est pas utilisé pour lire les événements personnels de l'utilisateur ; toutes les opérations d'événements passent par
calendar.events.owned
⚠️ Important
Ce qui a changé
Avant (avec gmail.compose) :
- ❌ Scope restreint et sensible
- ❌ Nécessitait CASA Tier 2
- ❌ Nécessitait une déclaration de champs sensibles
Maintenant (sans gmail.compose) :
- ✅ Aucun scope restreint
- ✅ Pas besoin de CASA Tier 2
- ✅ Pas de champs sensibles à déclarer
Vérification
Pour vérifier que vous n'utilisez pas de champs sensibles :
-
Vérifier les scopes dans le code :
// backend/src/auth/google-oauth.service.ts
private readonly requiredScopes = [
"profile",
"email",
"https://www.googleapis.com/auth/calendar.events.owned",
"https://www.googleapis.com/auth/calendar",
]; -
Vérifier dans Google Cloud Console :
- Aller dans "APIs & Services" > "OAuth consent screen" > "Scopes"
- Vérifier que seuls les 4 scopes ci-dessus sont listés
- ❌ Aucun scope Gmail ne doit apparaître
-
Vérifier les APIs activées :
- Google Calendar API : ✅ Activée
- Gmail API : ❌ Ne doit PAS être activée (ou peut être désactivée)
📚 Références Google
✅ Checklist
Avant de soumettre le formulaire :
- Vérifié que seuls les 4 scopes (profile, email, calendar.events.owned, calendar) sont utilisés
- Vérifié que Gmail API n'est pas activée
- Vérifié que le scope gmail.compose n'est plus dans le code
- Prêt à répondre "Aucun champ sensible" dans le formulaire
- Documentation de la politique de confidentialité mise à jour (sans références Gmail)
🎉 Résultat Attendu
Avec cette configuration :
- ✅ Pas de champs sensibles à déclarer
- ✅ Processus de vérification simplifié
- ✅ Pas besoin de CASA Tier 2
- ✅ Vérification plus rapide (1-2 semaines)
Dernière mise à jour : 2025-01-26
Statut : Application sans champs sensibles - Prête pour vérification Google OAuth