1. Introduction
Ma Journée est une application d'organisation et de productivité personnelle qui respecte votre vie privée. Cette politique explique comment vos données sont traitées et protégées.
2. Philosophie de protection des données
Principe fondamental : Vos données vous appartiennent et restent sous votre contrôle total.
L'application est conçue selon une approche "hors ligne d'abord" : toutes les fonctionnalités de base (gestion des tâches, objectifs, bilans, révisions) fonctionnent à 100% sans connexion Internet.
3. Stockage des données
3.1. Stockage local
Toutes vos données personnelles sont stockées localement sur votre appareil :
- Vos tâches, objectifs et bilans
- Vos paramètres et préférences
- Toutes vos autres données personnelles
3.2. Intégrations optionnelles avec Google
L'application propose une intégration facultative avec les services Google. Vous gardez le contrôle total :
Adresse e-mail du compte Google
- Activation : Uniquement si vous choisissez de connecter votre compte Google
- Usage : L'application utilise le scope
userinfo.email pour récupérer l'adresse e-mail associée à votre compte Google lors de la connexion
- Stockage : Cette adresse est conservée localement sur votre appareil (SharedPreferences et DataStore), de façon persistante tant que vous restez connecté
- Rôle technique : Elle permet à l'application de vérifier que le compte Google actuellement connecté correspond bien à celui associé à votre profil local, notamment si vous utilisez plusieurs profils dans l'application
- Affichage : Elle est affichée dans les paramètres pour vous indiquer quel compte est actuellement connecté (ex : section Data Hub, historique de sauvegarde, services externes)
- Partage : Jamais transmise à JujuForge ni à un serveur tiers autre que Google ; elle n'apparaît jamais dans les journaux techniques de l'application
Google Drive (Sauvegarde cloud)
- Activation : Uniquement si vous choisissez de connecter votre compte Google
- Stockage : Vos données sont sauvegardées dans un dossier applicatif privé (
AppData) de votre Google Drive
- Confidentialité : Ce dossier est masqué et inaccessible depuis l'interface Google Drive classique
- Permissions : L'application utilise le scope
drive.appdata, ce qui signifie qu'elle ne peut pas accéder à vos autres fichiers Drive
- Contrôle : Vous pouvez révoquer l'accès à tout moment via les paramètres de votre compte Google
Google Agenda (Consultation et gestion d'événements)
- Activation : Uniquement si vous choisissez de connecter votre compte Google
- Lecture : L'application lit vos événements pour les afficher dans votre planning quotidien
- Écriture : À votre initiative uniquement, l'application peut créer, modifier ou supprimer des événements dans votre agenda principal depuis le planning
- Permissions : L'application utilise le scope
calendar.events, limité aux événements : elle ne peut ni créer, ni partager, ni supprimer vos agendas eux-mêmes
- Cache local : Pour un fonctionnement hors-ligne, les événements récents sont mis en cache localement
- Confidentialité : Tout reste entre votre appareil et les serveurs de Google, sans intermédiaire
Engagement de conformité : L'utilisation et le transfert des informations reçues via les API Google adhèrent strictement à la Politique relative aux données utilisateur des services API Google, notamment au principe d'Utilisation Limitée : vos données servent exclusivement à fournir les fonctionnalités de l'application (agenda, sauvegarde) et à aucune autre fin.
Abonnements iCal directs
- Usage : Affichage d'événements depuis des flux iCal configurés manuellement (URL fournie par l'utilisateur : université, Outlook, etc.)
- Traitement : L'application effectue des requêtes vers les URL que vous avez configurées. Le protocole (HTTP ou HTTPS) dépend de l'URL fournie. Un User-Agent identifiant l'application est transmis dans les en-têtes. Aucun identifiant personnel ni token n'est envoyé vers ces serveurs
- Données transmises : Votre adresse IP et un User-Agent standard sont visibles par le serveur hébergeant le flux. Aucune donnée personnelle de l'application n'est transmise
- Cache local : Les événements téléchargés sont mis en cache localement sur l'appareil
- Flux préconfigurés : Certains abonnements proposés par l'application (calendriers scolaires) pointent vers des flux hébergés par OpenDataSoft
- Activation : Désactivée par défaut, à activer depuis Paramètres > Calendriers Connectés
3.3. Permissions matérielles
Caméra
- Usages : (1) Scanner les QR codes pour l'import de fiches SRS partagées et pour la connexion à Ma Journée Web (app.jujuforge.fr) ; (2) Reconnaissance optique de caractères (OCR) pour extraire du texte depuis une photo prise à la demande
- Traitement : Analyse effectuée localement sur l'appareil via ML Kit (on-device). Aucune image ni texte reconnu n'est transmis à l'extérieur
- Activation : La permission est demandée explicitement au moment de l'utilisation
Microphone
- Usage : Saisie vocale dans les notes
- Traitement : Délégué au moteur de reconnaissance vocale installé sur votre appareil (généralement Google Speech sur les appareils Android standards). L'application n'a aucun contrôle sur la destination de l'audio, celui-ci peut être envoyé à des serveurs externes selon les paramètres de votre système. Vous pouvez activer la reconnaissance vocale hors-ligne dans les paramètres Android pour éviter tout transfert
- Activation : La permission est demandée explicitement au moment de l'utilisation
Localisation
- Usage : Recherche de lieux à proximité (points d'intérêt via OpenStreetMap)
- Traitement : Vos coordonnées approximatives sont envoyées à Nominatim (service de géocodage de l'OpenStreetMap Foundation) pour effectuer la recherche, et à Overpass API (service de l'écosystème OpenStreetMap) pour obtenir les détails des lieux
- Usage partagé : Cette même permission est également utilisée par la fonctionnalité météo (voir section 3.4) pour déterminer votre position et afficher le nom de votre ville via Nominatim
- Stockage : Si vous enregistrez un lieu dans "Mes lieux", ses coordonnées sont conservées durablement en base locale sur votre appareil ; en dehors de ce cas, aucune coordonnée n'est conservée au-delà de la session de recherche
- Tiers : OpenStreetMap Foundation, politique de confidentialité OSM
- Activation : La permission ACCESS_COARSE_LOCATION est demandée explicitement. Sans cette permission, la recherche reste disponible en mode textuel uniquement
3.4. Fonctionnalités avancées optionnelles
Intelligence artificielle locale (LLM)
- Usage : Assistant conversationnel disponible directement dans l'application
- Téléchargement du modèle : Le fichier modèle est téléchargé une seule fois depuis les serveurs de HuggingFace (huggingface.co, tiers non contrôlé par JujuForge). Ce téléchargement transmet votre adresse IP à HuggingFace
- Inférence : Une fois téléchargé, le modèle fonctionne 100% localement via llama.cpp. Aucune communication réseau n'a lieu pendant l'utilisation de l'assistant
- Données traitées par l'assistant : Pour répondre à vos questions, l'assistant traite localement le contenu que vous lui soumettez (tâches, notes, éléments de votre planning). Ce traitement a lieu entièrement sur votre appareil et ces données ne quittent jamais votre téléphone
- Tiers : HuggingFace, Inc., politique de confidentialité HuggingFace
- Aucune donnée Google transmise : Le téléchargement du modèle ne transmet à HuggingFace que votre adresse IP, jamais vos données Google Drive ou Google Agenda. Aucune donnée utilisateur n'est utilisée pour entraîner, améliorer ou personnaliser ce modèle ou tout autre modèle d'IA
Météo
- Usage : Affichage des prévisions météo dans le planning
- Traitement : Les coordonnées géographiques utilisées pour la prévision sont envoyées à Open-Meteo, avec votre adresse IP, ainsi qu'à Nominatim pour déterminer le nom de la ville affichée (même service que la recherche de lieux, voir section 3.3). Aucun compte ni identifiant n'est transmis
- Usage partagé : Cette fonctionnalité utilise la même permission de localisation (ACCESS_COARSE_LOCATION) que la recherche de lieux
- Tiers : Open-Meteo, conditions et confidentialité Open-Meteo
Menus CROUS et documents configurés
- Usage : Affichage des menus des restaurants universitaires (sites des CROUS) et du contenu de pages web ou documents (PDF) dont vous avez configuré l'URL dans l'application
- Traitement : L'application contacte directement ces serveurs pour récupérer le contenu. Votre adresse IP et un User-Agent standard sont visibles par ces serveurs. Aucune donnée personnelle de l'application n'est transmise
- Cache local : Le contenu téléchargé est mis en cache localement sur l'appareil
Feedback
- Usage : La fonction feedback prépare un email via votre client de messagerie, contenant votre message ainsi que des informations techniques sur votre appareil et les journaux de l'application
- Contrôle : Vous pouvez consulter et modifier l'intégralité du contenu avant l'envoi ; rien n'est transmis sans votre action. Une option permet de masquer les entrées de journal jugées confidentielles
3.5. Synchronisation locale Wi-Fi (P2P)
- Usage : Transfert de tâches (y compris leurs étiquettes associées) et de notes entre appareils appairés sur le même réseau Wi-Fi local, sans serveur externe
- Activation : Fonctionnalité opt-in, désactivée par défaut. Nécessite un appairage explicite par code PIN à 6 chiffres
- Chiffrement : Les données échangées sont chiffrées avec AES-256-GCM. La clé est générée lors de l'appairage et propre à chaque paire d'appareils
- Portée : Sur le réseau local, les données ne transitent qu'entre vos appareils. Une option de synchronisation via Internet (opt-in, désactivée par défaut) permet de synchroniser des appareils distants via le relay Cloudflare
mcp.jujuforge.fr : les payloads y sont conservés au plus 7 jours, chiffrés AES-256-GCM avec une clé propre à votre paire d'appareils que le relay ne possède pas, il ne peut donc pas lire leur contenu
3.6. Serveur MCP
- Usage : Expose certaines données de l'application à un client MCP externe, en lecture et, pour la plupart des domaines, en écriture (le client peut créer ou modifier des données depuis l'extérieur)
- Suppression : Aucun outil ne permet de supprimer définitivement une tâche, une note, une fiche SRS, un lien ou une échéance : les seules opérations proches d'une suppression sont l'archivage réversible d'un lien (masqué mais non effacé, récupérable) et le vidage de certains champs texte (par exemple les horaires d'une tâche ou le texte de l'objectif/bilan du jour), sans jamais effacer l'entité elle-même
- Activation : Fonctionnalité opt-in, désactivée par défaut, activable depuis les Paramètres
- Authentification : Chaque requête nécessite un token Bearer aléatoire de haute entropie, affichable et régénérable depuis les Paramètres
- Chiffrement : Sur le réseau local, les échanges transitent en HTTP non chiffré (mode par défaut, signalé dans l'interface) ou en HTTPS avec certificat auto-signé (option). L'accès distant est toujours chiffré en TLS
- Données accessibles : planification (tâches et sous-tâches, backlog, échéances, événements iCal, événements Google Agenda, disponibilité des salles) ; contenu personnel (notes, étiquettes, liens utiles, mails universitaires UCA si connectés, voir section 3.8) ; suivi quotidien (contexte du jour, objectif et bilan, résumé/préparation hebdomadaire, fiches SRS). Les lieux, paramètres et fichiers ne sont pas exposés
- Outil fetch_url : Le serveur MCP expose un outil permettant à un client MCP externe de déclencher une requête HTTP depuis votre appareil vers une URL arbitraire. Cet outil implique du trafic réseau sortant depuis votre appareil et votre adresse IP. Il est accessible uniquement aux clients MCP que vous avez explicitement autorisés via votre token
- Portée : Le serveur est accessible sur le réseau Wi-Fi local par défaut
- Accès distant : Une option (opt-in) fait transiter les mêmes requêtes MCP, avec la même surface de lecture et d'écriture, par le relay Cloudflare
mcp.jujuforge.fr (voir section 10, Relay Cloudflare (mcp.jujuforge.fr)). Aucune donnée n'est lisible par JujuForge
3.7. Widget écran d'accueil
- Usage : Affiche les événements iCal du jour directement sur l'écran d'accueil de votre appareil Android, en dehors de l'application
- Données affichées : Jusqu'à 8 événements iCal de la journée en cours (titre, horaire). Aucune tâche ni note n'est affichée
- Confidentialité : Les données affichées sur le widget sont visibles par toute personne regardant votre écran d'accueil. Retirez le widget si vous souhaitez que ces informations restent privées
- Activation : Le widget est ajouté manuellement depuis l'écran d'accueil Android. Il n'est pas actif par défaut
3.8. Mails universitaires (UCA)
- Usage : Consultation des mails d'une boîte universitaire UCA (Zimbra) et notifications de nouveaux messages. Fonctionnalité expérimentale, opt-in, désactivée par défaut
- Identifiants : Votre identifiant et votre mot de passe universitaires sont stockés exclusivement sur votre appareil ; le mot de passe est chiffré via le KeyStore Android (clé non exportable). Ils ne sont jamais transmis à JujuForge ni à un tiers autre que le serveur de messagerie de l'université
- Connexion : L'application se connecte directement au serveur de messagerie de l'université (IMAPS, chiffré TLS) pour relever les messages, y compris périodiquement en arrière-plan si les notifications sont activées
- Cache local : Les en-têtes et un extrait du corps des messages récents sont mis en cache localement sur l'appareil. Aucun contenu de mail ne quitte votre appareil
- Tiers : Université Clermont Auvergne (serveur de messagerie)
4. Autonomie et Confidentialité
Le cœur de l'application fonctionne en totale autonomie, sans infrastructure serveur gérée par le développeur : toutes les fonctionnalités de base (tâches, objectifs, bilans, révisions) sont 100% locales.
Certaines fonctionnalités optionnelles (synchronisation Wi-Fi via Internet, accès distant au serveur MCP, application web app.jujuforge.fr, vérification des mises à jour de l'application de bureau) s'appuient sur une infrastructure Cloudflare (Workers, stockage temporaire) gérée par JujuForge, décrite en détail dans les sections 3.5 (Synchronisation locale Wi-Fi), 3.6 (Serveur MCP) et 10 (Application web app.jujuforge.fr et application de bureau). Ces flux ne sont actifs que si vous activez explicitement ces fonctionnalités. Pour l'ensemble des flux de données vers l'extérieur, y compris les intégrations Google, voir la section 8.
5. Modèle économique
L'application est 100% gratuite et sans publicité. Elle repose sur un modèle de soutien volontaire (dons) via le système de pourboires du Play Store.
6. Sécurité des données
6.1. Protection locale
- Vos données sont protégées par les mécanismes de sécurité d'Android (sandbox applicatif)
- Authentification biométrique optionnelle pour les opérations sensibles
- Système de snapshots lors des guides de validation pour prévenir toute perte accidentelle
6.2. Connexion Google sécurisée
- Utilisation du flux OAuth 2.0 officiel de Google
- Les jetons d'accès sont gérés par les Google Play Services
- Connexion via les bibliothèques officielles de Google
7. Vos droits et contrôles
Vous disposez d'un contrôle total sur vos données :
- Export : Exportez toutes vos données en JSON, CSV ou Markdown à tout moment
- Import : Importez vos données depuis un fichier (avec aperçu des modifications)
- Suppression locale : Supprimez toutes vos données via l'option "Zone de Danger" dans les paramètres
- Suppression cloud : Supprimez vos sauvegardes Google Drive depuis les paramètres
- Révocation : Révoquez l'accès de l'application à votre compte Google via myaccount.google.com/permissions
- Désinstallation : La désinstallation de l'application supprime automatiquement toutes les données locales
8. Partage de données et confidentialité
L'application ne collecte aucune donnée personnelle directement et ne vend ni ne partage aucune donnée à des fins commerciales. Les flux de données vers l'extérieur ne surviennent que dans les cas suivants, et uniquement si vous activez la fonctionnalité concernée :
- Intégrations Google (Drive, Agenda, section 3.2)
- Abonnements iCal et contenus configurés (sections 3.2 et 3.4)
- Synchronisation Wi-Fi via Internet et serveur MCP distant (sections 3.5 et 3.6, infrastructure Cloudflare)
- Mails universitaires UCA (section 3.8)
Le site web jujuforge.fr, l'application web et l'application de bureau reposent par ailleurs sur l'infrastructure Cloudflare (traitement technique des adresses IP, cookies techniques) et le site collecte les adresses email soumises via le formulaire bêta-testeur : voir section 10 pour le détail.
9. Modifications de cette politique
Cette politique sera mise à jour si nécessaire. La date en haut de cette page reflète la version en vigueur. Les changements significatifs feront l'objet d'une notification dans l'application.
10. Site web, application web et application de bureau
Le site web jujuforge.fr est un site vitrine informatif.
Formulaire de demande d'accès bêta-testeur
Le site collecte les adresses email soumises via le formulaire "Devenir testeur" :
- Finalité : Vous contacter afin de vous donner accès à la version bêta de l'application
- Base légale : Votre consentement (soumission volontaire du formulaire)
- Traitement : L'adresse email est transmise par email à contact@jujuforge.fr via un service d'envoi Cloudflare Workers / SMTP Infomaniak. Elle n'est stockée dans aucune base de données automatisée
- Conservation : L'email est supprimé après traitement de votre demande (acceptation ou refus)
- Destinataire : Julien Dupuis (JujuForge) uniquement
Infrastructure réseau (Cloudflare)
Le site utilise Cloudflare comme infrastructure réseau (CDN et protection). Dans ce cadre, Cloudflare dépose un cookie technique nommé cf_clearance (durée : 1 an), nécessaire pour se protéger contre les attaques automatisées. Ce cookie ne contient aucune donnée personnelle exploitable et n'est pas utilisé à des fins de suivi ou publicitaires.
Transferts de données hors Union Européenne
Les données techniques traitées par Cloudflare peuvent être transférées aux États-Unis. Ce transfert est encadré par :
- Data Privacy Framework (DPF) : Cloudflare, Inc. est certifiée au titre du cadre UE-États-Unis, reconnu par la décision d'adéquation de la Commission européenne du 10 juillet 2023
- Clauses Contractuelles Types (CCT) : Des clauses contractuelles types adoptées par la Commission européenne sont intégrées à l'accord de traitement des données de Cloudflare (art. 46 RGPD)
Pour en savoir plus : cloudflare.com/trust-hub/gdpr/
Polices de caractères
La police Inter est auto-hébergée sur jujuforge.fr. Aucune requête n'est effectuée vers des serveurs tiers pour le chargement des polices.
Application web app.jujuforge.fr
L'application web app.jujuforge.fr est un compagnon navigateur de Ma Journée Android, hébergé sur Cloudflare Pages.
Données stockées localement dans votre navigateur
L'application ne dépose aucun cookie propre. Elle utilise uniquement le stockage local du navigateur :
- localStorage (persistant) : préférences d'utilisation et cache local chiffré des données de l'application. La durée de conservation du cache est ajustable depuis les paramètres de l'application web (préréglages allant de quelques heures à plusieurs semaines) ; les entrées expirées sont purgées automatiquement au démarrage
Ces données restent dans votre navigateur jusqu'à ce que vous vidiez le stockage de celui-ci. Le cache applicatif est intégralement supprimé lors de la déconnexion ou d'un changement de token depuis les Paramètres.
Relay Cloudflare (mcp.jujuforge.fr)
L'application web communique avec votre application Android via mcp.jujuforge.fr, un service Cloudflare Workers. Ce relay n'est pas un simple proxy : il traite et stocke temporairement les données suivantes :
- Session d'authentification : lors de la connexion (par token ou QR code), un identifiant de session est créé et associé à votre jeton MCP. Cet identifiant est stocké dans un Durable Object Cloudflare (SQLite) pendant 30 jours maximum, jusqu'à déconnexion
- Synchronisation P2P : les données échangées via la fonctionnalité de synchronisation Wi-Fi sont conservées transitoirement dans un Durable Object pendant 7 jours, puis supprimées automatiquement
- Authentification QR : le token transmis lors d'un scan QR est conservé temporairement (120 secondes) puis supprimé
Le jeton MCP lui-même n'est jamais conservé dans le stockage du navigateur : il est transmis une seule fois au relay lors de la connexion, qui crée une session côté serveur et pose le cookie mj_session en retour.
Ces données sont traitées exclusivement sur l'infrastructure Cloudflare.
Cookies déposés sur app.jujuforge.fr
mj_session (durée : 30 jours) : Cookie fonctionnel déposé par mcp.jujuforge.fr lors de la connexion. Contient un identifiant de session aléatoire lié à votre jeton MCP. Attributs : HttpOnly, Secure, SameSite=Lax. Supprimé à la déconnexion. Strictement nécessaire au fonctionnement du service d'authentification
cf_clearance : Cookie technique Cloudflare (protection anti-bot), mêmes conditions que sur jujuforge.fr (voir ci-dessus)
Application de bureau (Linux/Windows)
L'application de bureau « Ma Journée » affiche l'application web app.jujuforge.fr : les traitements décrits ci-dessus s'y appliquent à l'identique. Elle vérifie en outre périodiquement la disponibilité de mises à jour en interrogeant dl.jujuforge.fr (Cloudflare R2), ce qui transmet votre adresse IP à Cloudflare. Les mises à jour sont signées cryptographiquement et vérifiées avant installation. Aucune autre donnée n'est transmise.
11. Durées de conservation des données
- Données locales de l'application : conservées sur votre appareil jusqu'à la désinstallation de l'application
- Sauvegardes Google Drive : conservées jusqu'à ce que vous révoquez votre accès Google ou les supprimiez manuellement depuis les paramètres de l'application
- Données de transactions in-app : traitées exclusivement par Google Play (Google LLC), JujuForge ne collecte ni ne stocke aucune donnée de paiement. Pour les durées de conservation applicables, consultez la politique de confidentialité de Google
- Adresses email (formulaire bêta-testeur) : supprimées après traitement de la demande
- Données techniques du site web (Cloudflare) : traitées selon la politique de confidentialité de Cloudflare, cloudflare.com/privacypolicy/
12. Conformité RGPD (Utilisateurs européens)
Responsable de traitement : Julien Dupuis, Entrepreneur Individuel, 61 Rue de Lyon, 75012 Paris, France, contact@jujuforge.fr.
Pour les utilisateurs de l'Union Européenne :
- Base légale (justification du traitement) : Votre consentement explicite pour l'intégration Google, et l'utilisation du service que vous avez choisi d'installer
- Droit d'accès : Vous pouvez accéder à vos données via la fonction d'export
- Droit à l'effacement : Vous pouvez supprimer vos données à tout moment
- Droit à la portabilité : Vous pouvez exporter vos données dans un format standard (JSON)
- Droits de rectification et d'opposition : Pour les données de l'application, l'exercice est direct dans l'application (édition, suppression, export). Pour les autres données (formulaire bêta-testeur, échanges par email), adressez votre demande à contact@jujuforge.fr
- Droit à la limitation du traitement : Vous pouvez demander le gel temporaire du traitement de vos données par email à contact@jujuforge.fr
- Retrait du consentement : Vous pouvez retirer votre consentement à tout moment (déconnexion du compte Google, désactivation d'une fonctionnalité optionnelle, annulation d'une demande d'accès bêta)
- Transferts internationaux : Si vous utilisez Google Drive/Agenda, vos données peuvent être traitées par les serveurs de Google dans différents pays
Droit de réclamation : Si vous estimez que vos droits ne sont pas respectés, vous pouvez introduire une réclamation auprès de la Commission Nationale de l'Informatique et des Libertés (CNIL), www.cnil.fr
Disclaimer: This English translation is provided for convenience only. In case of discrepancy, the French version shall prevail.
1. Introduction
Ma Journée is a personal organization and productivity application that respects your privacy. This policy explains how your data is processed and protected.
2. Data Protection Philosophy
Core principle: Your data belongs to you and remains under your full control.
The application is designed with an "offline-first" approach: all core features (task management, goals, reviews, revisions) work 100% without an Internet connection.
3. Data Storage
3.1. Local Storage
All your personal data is stored locally on your device:
- Your tasks, goals and reviews
- Your settings and preferences
- All your other personal data
3.2. Optional Google Integrations
The application offers an optional integration with Google services. You retain full control:
Google Account Email Address
- Activation: Only if you choose to connect your Google account
- Usage: The application uses the
userinfo.email scope to retrieve the email address associated with your Google account during sign-in
- Storage: This address is stored locally on your device (SharedPreferences and DataStore), persistently for as long as you remain connected
- Technical role: It allows the application to verify that the currently connected Google account matches the one associated with your local profile, particularly if you use multiple profiles in the application
- Display: It is shown in settings to indicate which account is currently connected (e.g. Data Hub section, backup history, external services)
- Sharing: Never transmitted to JujuForge or any third-party server other than Google; it never appears in the application's technical logs
Google Drive (Cloud Backup)
- Activation: Only if you choose to connect your Google account
- Storage: Your data is saved in a private application folder (
AppData) on your Google Drive
- Privacy: This folder is hidden and inaccessible from the standard Google Drive interface
- Permissions: The application uses the
drive.appdata scope, meaning it cannot access your other Drive files
- Control: You can revoke access at any time via your Google account settings
Google Calendar (Viewing and event management)
- Activation: Only if you choose to connect your Google account
- Reading: The application reads your events to display them in your daily planner
- Writing: Only at your initiative, the application can create, edit or delete events in your primary calendar from the planner
- Permissions: The application uses the
calendar.events scope, limited to events: it cannot create, share or delete your calendars themselves
- Local cache: For offline functionality, recent events are cached locally
- Privacy: Everything stays between your device and Google's servers, with no intermediary
Compliance commitment: The use and transfer of information received from Google APIs adheres strictly to the Google API Services User Data Policy, including the Limited Use requirements: your data is used exclusively to provide the application's features (calendar, backup) and for no other purpose.
Direct iCal Subscriptions
- Usage: Displaying events from manually configured iCal feeds (URL provided by the user: university, Outlook, etc.)
- Processing: The application makes requests to the URLs you have configured. The protocol (HTTP or HTTPS) depends on the URL provided. A User-Agent identifying the application is sent in the headers. No personal identifier or token is sent to these servers
- Data transmitted: Your IP address and a standard User-Agent are visible to the server hosting the feed. No personal data from the application is transmitted
- Local cache: Downloaded events are cached locally on the device
- Preconfigured feeds: Some subscriptions offered by the application (school calendars) point to feeds hosted by OpenDataSoft
- Activation: Disabled by default, enable from Settings > Connected Calendars
3.3. Hardware Permissions
Camera
- Usages: (1) Scanning QR codes to import shared SRS flashcards and to connect to Ma Journée Web (app.jujuforge.fr); (2) Optical character recognition (OCR) to extract text from a photo taken on demand
- Processing: Analysis performed locally on the device via ML Kit (on-device). No image or recognised text is transmitted externally
- Activation: Permission is explicitly requested at the time of use
Microphone
- Usage: Voice input in notes
- Processing: Delegated to the speech recognition engine installed on your device (typically Google Speech on standard Android devices). The application has no control over where the audio is sent, it may be transmitted to external servers depending on your system settings. You can enable offline speech recognition in Android settings to avoid any transfer
- Activation: Permission is explicitly requested at the time of use
Location
- Usage: Searching for nearby places (points of interest via OpenStreetMap)
- Processing: Your approximate coordinates are sent to Nominatim (OpenStreetMap Foundation's geocoding service) to perform the search, and to Overpass API (a service of the OpenStreetMap ecosystem) to fetch place details
- Shared use: This same permission is also used by the weather feature (see section 3.4) to determine your position and display your city name via Nominatim
- Storage: If you save a place under "My Places", its coordinates are stored durably in the local database on your device; otherwise, no coordinates are kept beyond the search session
- Third party: OpenStreetMap Foundation, OSM privacy policy
- Activation: ACCESS_COARSE_LOCATION permission is explicitly requested. Without this permission, search remains available in text-only mode
3.4. Advanced Optional Features
Local Artificial Intelligence (LLM)
- Usage: Conversational assistant available directly within the application
- Model download: The model file is downloaded once from HuggingFace servers (huggingface.co, a third party not controlled by JujuForge). This download transmits your IP address to HuggingFace
- Inference: Once downloaded, the model runs 100% locally via llama.cpp. No network communication occurs during use of the assistant
- Data processed by the assistant: To answer your questions, the assistant locally processes the content you submit to it (tasks, notes, planning items). This processing happens entirely on your device, and this data never leaves your phone
- Third party: HuggingFace, Inc., HuggingFace privacy policy
- No Google data transmitted: Downloading the model only transmits your IP address to HuggingFace, never your Google Drive or Google Calendar data. No user data is used to train, improve, or personalize this model or any other AI model
Weather
- Usage: Displaying weather forecasts in the planner
- Processing: The geographic coordinates used for the forecast are sent to Open-Meteo, along with your IP address, as well as to Nominatim to determine the displayed city name (the same service used for place search, see section 3.3). No account or identifier is transmitted
- Shared use: This feature uses the same location permission (ACCESS_COARSE_LOCATION) as place search
- Third party: Open-Meteo, Open-Meteo terms and privacy
CROUS Menus and Configured Documents
- Usage: Displaying university restaurant menus (CROUS websites) and the content of web pages or documents (PDF) whose URL you have configured in the application
- Processing: The application contacts these servers directly to retrieve the content. Your IP address and a standard User-Agent are visible to these servers. No personal data from the application is transmitted
- Local cache: Downloaded content is cached locally on the device
Feedback
- Usage: The feedback feature prepares an email via your mail client, containing your message along with technical information about your device and the application logs
- Control: You can review and edit the entire content before sending; nothing is transmitted without your action. An option allows hiding log entries deemed confidential
3.5. Local Wi-Fi Synchronisation (P2P)
- Usage: Transfer of tasks (including their associated tags) and notes between paired devices on the same local Wi-Fi network, without any external server
- Activation: Opt-in feature, disabled by default. Requires explicit pairing via a 6-digit PIN code
- Encryption: Exchanged data is encrypted with AES-256-GCM. The key is generated during pairing and unique to each device pair
- Scope: On the local network, data only travels between your devices. An optional Internet synchronisation feature (opt-in, disabled by default) allows syncing remote devices via the Cloudflare relay
mcp.jujuforge.fr: payloads are kept there for a maximum of 7 days, encrypted with AES-256-GCM using a key unique to your device pair that the relay does not possess, it therefore cannot read their content
3.6. MCP Server
- Usage: Exposes certain application data to an external MCP client, for reading and, for most domains, writing (the client can create or modify data from the outside)
- Deletion: No tool allows permanently deleting a task, note, SRS flashcard, link or deadline: the only operations resembling deletion are reversible archiving of a link (hidden but not erased, recoverable) and clearing certain text fields (for example a task's start/end time or the text of the daily objective/review), without ever erasing the entity itself
- Activation: Opt-in feature, disabled by default, can be enabled from Settings
- Authentication: Each request requires a high-entropy random Bearer token, viewable and regenerable from Settings
- Encryption: On the local network, exchanges transit over unencrypted HTTP (default mode, indicated in the interface) or over HTTPS with a self-signed certificate (optional). Remote access is always TLS-encrypted
- Accessible data: planning (tasks and subtasks, backlog, deadlines, iCal events, Google Calendar events, room availability); personal content (notes, tags, quick links, university UCA emails if connected, see section 3.8); daily tracking (daily context, daily objective and review, weekly summary/preparation, SRS flashcards). Places, settings and files are not exposed
- fetch_url tool: The MCP server exposes a tool allowing an external MCP client to trigger an HTTP request from your device to an arbitrary URL. This tool involves outbound network traffic from your device and your IP address. It is accessible only to MCP clients you have explicitly authorised via your token
- Scope: The server is accessible on the local Wi-Fi network by default
- Remote access: An optional feature (opt-in) routes the same MCP requests, with the same read and write surface, through the Cloudflare relay
mcp.jujuforge.fr (see section 10, Cloudflare Relay (mcp.jujuforge.fr)). No data is readable by JujuForge
3.7. Home Screen Widget
- Usage: Displays today's iCal events directly on your Android home screen, outside the application
- Data displayed: Up to 8 iCal events for the current day (title, time). No tasks or notes are displayed
- Privacy: Data displayed on the widget is visible to anyone looking at your home screen. Remove the widget if you wish to keep this information private
- Activation: The widget is added manually from the Android home screen. It is not active by default
3.8. University Email (UCA)
- Usage: Viewing emails from a UCA university mailbox (Zimbra) and notifications of new messages. Experimental feature, opt-in, disabled by default
- Credentials: Your university username and password are stored exclusively on your device; the password is encrypted via the Android KeyStore (non-exportable key). They are never transmitted to JujuForge or any third party other than the university's mail server
- Connection: The application connects directly to the university's mail server (IMAPS, TLS-encrypted) to fetch messages, including periodically in the background if notifications are enabled
- Local cache: Headers and an excerpt of the body of recent messages are cached locally on the device. No email content leaves your device
- Third party: Université Clermont Auvergne (mail server)
4. Autonomy and Privacy
The core of the application operates in total autonomy, without any server infrastructure managed by the developer: all core features (tasks, goals, reviews, revisions) are 100% local.
Certain optional features (Wi-Fi synchronisation over the Internet, remote access to the MCP server, the app.jujuforge.fr web application, update checks for the desktop application) rely on Cloudflare infrastructure (Workers, temporary storage) managed by JujuForge, described in detail in sections 3.5 (Local Wi-Fi Synchronisation), 3.6 (MCP Server) and 10 (Web Application app.jujuforge.fr and Desktop Application). These flows are only active if you explicitly enable these features. For the full list of data flows to the outside, including Google integrations, see section 8.
5. Business Model
The application is 100% free and ad-free. It relies on a voluntary support model (donations) via the Play Store tipping system.
6. Data Security
6.1. Local Protection
- Your data is protected by Android's security mechanisms (application sandbox)
- Optional biometric authentication for sensitive operations
- Snapshot system during validation guides to prevent accidental data loss
6.2. Secure Google Connection
- Use of Google's official OAuth 2.0 flow
- Access tokens are managed by Google Play Services
- Connection via Google's official libraries
7. Your Rights and Controls
You have full control over your data:
- Export: Export all your data as JSON, CSV or Markdown at any time
- Import: Import your data from a file (with preview of changes)
- Local deletion: Delete all your data via the "Danger Zone" option in settings
- Cloud deletion: Delete your Google Drive backups from settings
- Revocation: Revoke the application's access to your Google account via myaccount.google.com/permissions
- Uninstallation: Uninstalling the application automatically deletes all local data
8. Data Sharing and Privacy
The application does not collect any personal data directly and does not sell or share any data for commercial purposes. Data flows to the outside only occur in the following cases, and only if you enable the relevant feature:
- Google integrations (Drive, Calendar, section 3.2)
- iCal subscriptions and configured content (sections 3.2 and 3.4)
- Wi-Fi synchronisation over the Internet and remote MCP server (sections 3.5 and 3.6, Cloudflare infrastructure)
- University (UCA) emails (section 3.8)
The jujuforge.fr website, the web application and the desktop application also rely on Cloudflare infrastructure (technical processing of IP addresses, technical cookies), and the site collects email addresses submitted via the beta tester form: see section 10 for details.
9. Changes to This Policy
This policy will be updated when necessary. The date at the top of this page reflects the version in force. Significant changes will be notified via a notification in the application.
10. Website, Web Application and Desktop Application
The website jujuforge.fr is an informational showcase site.
Beta Tester Access Request Form
The site collects email addresses submitted via the "Become a tester" form:
- Purpose: To contact you in order to grant access to the beta version of the application
- Legal basis: Your consent (voluntary form submission)
- Processing: The email address is forwarded by email to contact@jujuforge.fr via a Cloudflare Workers / Infomaniak SMTP sending service. It is not stored in any automated database
- Retention: The email is deleted after your request has been processed (accepted or declined)
- Recipient: Julien Dupuis (JujuForge) only
Network Infrastructure (Cloudflare)
The site uses Cloudflare as its network infrastructure (CDN and protection). As part of this, Cloudflare sets a technical cookie named cf_clearance (duration: 1 year), required to protect against automated attacks. This cookie contains no exploitable personal data and is not used for tracking or advertising purposes.
Data Transfers Outside the European Union
Technical data processed by Cloudflare may be transferred to the United States. This transfer is governed by:
- Data Privacy Framework (DPF): Cloudflare, Inc. is certified under the EU-U.S. Data Privacy Framework, recognised by the European Commission's adequacy decision of July 10, 2023
- Standard Contractual Clauses (SCC): Standard contractual clauses adopted by the European Commission are incorporated into Cloudflare's data processing agreement (Art. 46 GDPR)
For more information: cloudflare.com/trust-hub/gdpr/
Typefaces
The Inter font is self-hosted on jujuforge.fr. No requests are made to third-party servers to load fonts.
Web application app.jujuforge.fr
The web application app.jujuforge.fr is a browser companion to Ma Journée Android, hosted on Cloudflare Pages.
Data stored locally in your browser
The application sets no cookies of its own. It only uses the browser's local storage:
- localStorage (persistent): usage preferences and an encrypted local cache of application data. The cache retention period is adjustable from the web application's settings (presets ranging from a few hours to several weeks); expired entries are automatically purged at startup
This data remains in your browser until you clear its storage. The application cache is fully deleted on logout or when the token is changed from Settings.
Cloudflare Relay (mcp.jujuforge.fr)
The web application communicates with your Android application via mcp.jujuforge.fr, a Cloudflare Workers service. This relay is not a simple proxy: it processes and temporarily stores the following data:
- Authentication session: upon login (by token or QR code), a session identifier is created and associated with your MCP token. This identifier is stored in a Cloudflare Durable Object (SQLite) for a maximum of 30 days, until logout
- P2P synchronisation: data exchanged via the Wi-Fi synchronisation feature is kept transiently in a Durable Object for 7 days, then automatically deleted
- QR authentication: the token transmitted during a QR scan is kept temporarily (120 seconds) then deleted
The MCP token itself is never kept in the browser's storage: it is transmitted once to the relay upon login, which creates a server-side session and sets the mj_session cookie in return.
This data is processed exclusively on Cloudflare's infrastructure.
Cookies set on app.jujuforge.fr
mj_session (duration: 30 days): Functional cookie set by mcp.jujuforge.fr upon login. Contains a random session identifier linked to your MCP token. Attributes: HttpOnly, Secure, SameSite=Lax. Deleted on logout. Strictly necessary for the authentication service to work
cf_clearance: Technical Cloudflare cookie (anti-bot protection), same conditions as on jujuforge.fr (see above)
Desktop application (Linux/Windows)
The "Ma Journée" desktop application displays the web application app.jujuforge.fr: the processing described above applies identically. It also periodically checks for updates by querying dl.jujuforge.fr (Cloudflare R2), which transmits your IP address to Cloudflare. Updates are cryptographically signed and verified before installation. No other data is transmitted.
11. Data Retention Periods
- Local application data: stored on your device until the application is uninstalled
- Google Drive backups: stored until you revoke your Google access or manually delete them from the application settings
- In-app transaction data: processed exclusively by Google Play (Google LLC), JujuForge does not collect or store any payment data. For applicable retention periods, consult Google's privacy policy
- Email addresses (beta tester form): deleted after the request has been processed
- Website technical data (Cloudflare): processed according to Cloudflare's privacy policy, cloudflare.com/privacypolicy/
12. GDPR Compliance (European Users)
Data controller: Julien Dupuis, Sole Proprietorship (EI), 61 Rue de Lyon, 75012 Paris, France, contact@jujuforge.fr.
For European Union users:
- Legal basis (justification for processing): Your explicit consent for Google integration, and the use of the service you chose to install
- Right of access: You can access your data via the export function
- Right to erasure: You can delete your data at any time
- Right to portability: You can export your data in a standard format (JSON)
- Rights to rectification and to object: For application data, these rights are exercised directly in the application (editing, deletion, export). For other data (beta tester form, email exchanges), send your request to contact@jujuforge.fr
- Right to restriction of processing: You may request a temporary freeze of the processing of your data by email at contact@jujuforge.fr
- Withdrawal of consent: You may withdraw your consent at any time (disconnecting your Google account, disabling an optional feature, cancelling a beta access request)
- International transfers: If you use Google Drive/Calendar, your data may be processed by Google servers in different countries
Right to lodge a complaint: If you believe your rights are not being respected, you may lodge a complaint with the French Data Protection Authority (CNIL), www.cnil.fr