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 créées et 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
Elles ne sont transmises à l'extérieur que dans les cas décrits en section 8, et peuvent être incluses dans la sauvegarde automatique d'Android si celle-ci est active sur votre appareil (voir section 3.9).
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, 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é (par exemple dans les sections « Données et Confidentialité » et « Calendriers Connectés »)
- Partage : Jamais partagée avec aucun tiers ; 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 synchronisés sont mis en cache localement (période couverte réglable dans les paramètres)
- 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 : Aucun flux iCal n'est actif par défaut : c'est vous qui ajoutez chaque abonnement et l'activez depuis Paramètres > Calendriers Connectés
3.3. Permissions matérielles
Caméra
- Usages : (1) Scanner un QR code contenant une adresse web, pour ajouter un lien dans le module « Liens utiles » ou pour vous connecter à Ma Journée Web (majournee.com) ; (2) Reconnaissance optique de caractères (OCR) pour extraire du texte depuis une photo prise à la demande ; (3) Scanner un QR code affiché uniquement par Ma Journée Web ou l'application de bureau (jamais par un tiers) pour ouvrir directement l'application Android sur l'écran de réglages concerné, lorsqu'une fonctionnalité nécessite une configuration manuelle
- 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
Réseau et notifications
- Notifications : La permission de notification est requise pour vous délivrer les rappels de tâches, les révisions et les alertes que vous avez configurés
- Alarmes exactes, exemption d'optimisation de la batterie et redémarrage : Ces permissions permettent de déclencher vos rappels à l'heure prévue (y compris lorsque le système restreindrait l'activité en arrière-plan pour économiser la batterie) et de les reprogrammer après un redémarrage de l'appareil. Aucune donnée n'est transmise
- État du Wi-Fi et réseau local : Utilisés uniquement par la synchronisation entre appareils (voir section 3.5) et par le serveur MCP (voir section 3.6), pour détecter les appareils présents sur votre réseau et vérifier que vous êtes bien sur le réseau autorisé
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 (overpass-api.de, service tiers indépendant reposant sur les données 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
- Carte interactive : L'aperçu de la position d'un lieu (modale d'ajout ou de modification) affiche un fond de carte dont les tuiles sont téléchargées depuis OpenFreeMap (tiles.openfreemap.org), qui voit alors votre adresse IP et la zone géographique consultée. Votre position approximative peut être affichée sur la carte si vous avez utilisé "Autour de moi"
- Tiers : OpenStreetMap Foundation, politique de confidentialité OSM ; Overpass API (overpass-api.de) ; OpenFreeMap (tiles.openfreemap.org)
- Activation : La permission ACCESS_COARSE_LOCATION est demandée explicitement. Sans cette permission, la recherche reste disponible en mode textuel uniquement
Calendrier de l'appareil
- Usages : (1) Lecture des événements de vos calendriers Android pour les afficher dans votre planning ; (2) Export de vos tâches vers un calendrier local dédié « MaJournée » créé par l'application
- Traitement : Entièrement local sur l'appareil. Aucune donnée de calendrier n'est transmise à l'extérieur par cette fonctionnalité
- Confidentialité : Les tâches exportées vers le calendrier natif deviennent visibles par les autres applications de votre appareil autorisées à lire le calendrier
- Activation : Fonctionnalité optionnelle, les permissions READ_CALENDAR et WRITE_CALENDAR sont demandées explicitement au moment de l'activation
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
- Radar en direct : Un bouton facultatif « radar en direct » ouvre, dans un onglet de navigateur, le radar de précipitations hébergé par Météo-Ciel (meteociel.fr, tiers indépendant). Ce site voit alors votre adresse IP, comme pour toute navigation web ; aucune donnée personnelle de l'application ne lui est transmise
- Tiers : Open-Meteo, conditions et confidentialité Open-Meteo ; Météo-Ciel (meteociel.fr)
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. Le protocole (HTTP ou HTTPS) dépend de l'URL que vous avez configurée. 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
Flux RSS
- Usage : Module optionnel affichant les articles de flux RSS/Atom ou de pages web dont vous configurez l'adresse dans l'application
- Traitement : L'application contacte directement les URL configurées : votre adresse IP et un User-Agent standard sont visibles par ces serveurs, ainsi que par les sites hébergeant les images d'illustration des articles. Si l'adresse pointe vers une page sans flux natif, la liste des articles est extraite depuis la page elle-même. Aucune donnée personnelle de l'application n'est transmise
- Veille en arrière-plan : Désactivée par défaut. Une fois activée, les flux sont vérifiés périodiquement en arrière-plan (fréquence réglable), avec des notifications de nouveaux articles optionnelles
- Cache local : Les articles récupérés sont conservés localement sur l'appareil
Partage par lien
- Les fonctions de partage (paquets de fiches SRS, agendas locaux) encodent les données partagées directement dans le lien généré, sans transiter par aucun serveur
- Toute personne recevant ce lien peut en lire le contenu : ne le partagez qu'avec des personnes de confiance
Feedback
- Usage : La fonction « Signaler un problème » prépare un email via votre client de messagerie, adressé à jujuforge.dev@gmail.com (boîte de support gérée par JujuForge, hébergée par Google LLC)
- Contenu : Votre message, des informations techniques sur votre appareil (modèle, version d'Android, version de l'application, identifiant technique de session) et les journaux de fonctionnement de l'application
- Journaux : Les journaux servent au diagnostic technique. Ils ne contiennent aucune donnée personnelle : ni identifiants, ni contenu de vos tâches, notes, fiches ou messages. Les adresses web qui y apparaissent sont automatiquement réduites à leur nom de domaine
- Capture d'écran : Vous pouvez, si vous le souhaitez, joindre une capture d'écran que vous déclenchez vous-même. Aucune capture n'est prise automatiquement. Elle reproduit ce qui était affiché au moment de la capture et peut donc contenir vos données : un aperçu vous est présenté et vous pouvez la retirer avant l'envoi
- Contrôle : Vous pouvez consulter et modifier l'intégralité du contenu avant l'envoi ; rien n'est transmis sans votre action
Mises à jour de l'application
- Usage : L'application vérifie la disponibilité des mises à jour via l'API officielle de mises à jour in-app de Google Play, et peut vous proposer de les télécharger et installer sans quitter l'application
- Traitement : Cette vérification est entièrement assurée par les services Google Play, selon la politique de confidentialité de Google. Aucune donnée n'est transmise à JujuForge
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. Les sessions d'étude partagées échangent en outre, entre les appareils participants, le contenu des fiches de révision (SRS), la progression de chaque participant et le nom d'appareil choisi lors de l'appairage
- 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
- Types d'appairage : Vous qualifiez chaque appareil appairé. Un appareil personnel synchronise automatiquement dans les deux sens. Un appareil tiers (celui d'une autre personne) ne peut que vous envoyer des éléments, qui entrent dans une file d'attente et ne sont enregistrés qu'après votre acceptation explicite ; vos notes et vos suppressions ne lui sont jamais transmises. Le nom de l'appareil émetteur est conservé avec la tâche acceptée
- Chat entre appareils : Un chat texte optionnel (désactivé par défaut) permet d'échanger des messages avec vos appareils personnels appairés. Les messages sont envoyés directement d'appareil à appareil sur le réseau Wi-Fi local, chiffrés AES-256-GCM avec la clé d'appairage, et conservés localement sur chaque appareil ; ils ne transitent jamais par le relay ni par aucun serveur. La notification de nouveau message affiche le nom de l'appareil émetteur mais jamais le contenu du message
- Identification du réseau : Pour garantir que la synchronisation locale n'a lieu que sur le réseau Wi-Fi utilisé lors de l'appairage, l'application lit l'identifiant technique du point d'accès (BSSID) et le compare à celui enregistré à l'appairage. Cet identifiant reste sur votre appareil et n'est jamais transmis
- Découverte des appareils : Lorsque la synchronisation est active, votre appareil s'annonce sur le réseau local (mDNS) avec un identifiant technique et le nom d'appareil choisi lors de l'appairage, tous deux visibles par les autres appareils du même réseau
- Portée : Sur le réseau local, les données ne transitent qu'entre les appareils que vous avez appairés. 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.majournee.com : 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. La synchronisation via Internet ne concerne que les tâches et les notes ; les sessions d'étude partagées restent exclusivement sur le réseau local et ne transitent jamais par le relay
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. Seule exception : la sauvegarde des préférences de Ma Journée Web (donnée de configuration, voir ci-dessous) peut être supprimée par le client
- 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 : l'essentiel de vos données d'organisation : planification (tâches, échéances, événements), contenu personnel (notes, étiquettes, liens, mails universitaires si connectés, voir section 3.8) et suivi quotidien (objectifs, bilans, fiches SRS). La liste précise des outils exposés est consultable dans l'application, depuis la section MCP des Paramètres. Les lieux, les paramètres de l'application Android et les fichiers ne sont pas exposés. Le serveur permet en revanche de consulter, créer et renommer vos modèles de tâches, et de stocker, consulter et supprimer une sauvegarde des préférences de Ma Journée Web (thème, disposition, etc.), conservée sur votre appareil
- Journal d'activité : L'application conserve sur votre appareil un historique des 20 derniers appels reçus (nom de l'outil, argument principal, nom du client, date, accès local ou distant). L'argument principal peut contenir un intitulé de tâche ou de note. Ce journal est consultable et effaçable depuis la modale « Activité et connexions » des Paramètres, et ne quitte jamais votre appareil
- Page de test intégrée : Lorsque le serveur est actif, une page de diagnostic est servie à son adresse locale. Elle ne contient aucune de vos données et ne pré-remplit aucun jeton : la saisie manuelle de votre jeton d'authentification est nécessaire pour interroger le serveur. Toute personne présente sur votre réseau local peut constater l'existence du service, mais ne peut lire aucune donnée sans votre jeton
- 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.majournee.com (voir section 10, Relay Cloudflare (mcp.majournee.com)). Aucune donnée n'est lisible par JujuForge
3.7. Widget écran d'accueil
- Usage : Affiche vos événements iCal directement sur l'écran d'accueil de votre appareil Android, en dehors de l'application
- Données affichées : Jusqu'à 8 événements iCal du jour affiché (titre, horaire). Le widget permet de naviguer vers les jours précédents et suivants ; la date affichée est conservée localement. 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)
3.9. Sauvegarde automatique Android
- Mécanisme : Android propose une sauvegarde automatique des applications (« Android Auto Backup »), activée au niveau du système d'exploitation et non par l'application. Si vous l'avez laissée active dans les réglages de votre appareil, une copie des données de l'application est déposée dans l'espace de sauvegarde de votre compte Google
- Données concernées : Vos données personnelles de l'application (tâches, notes, fiches SRS, le cache de vos mails universitaires si vous avez connecté un compte, etc.), les caches locaux et vos préférences
- Données exclues : Les journaux techniques, les modèles d'intelligence artificielle téléchargés, les copies locales de vos sauvegardes Drive, le jeton d'accès du serveur MCP et le mot de passe de votre compte mail universitaire sont explicitement exclus de cette sauvegarde
- Destinataire : Google LLC, dans l'espace de sauvegarde de votre propre compte. Ces données sont chiffrées par Android et ne sont accessibles ni à JujuForge, ni à aucun tiers
- Conséquence : Cette sauvegarde survit à la désinstallation de l'application et est restaurée automatiquement si vous réinstallez l'application sur un appareil lié au même compte Google
- Contrôle : Vous pouvez désactiver cette sauvegarde à tout moment dans les Paramètres Android (Système > Sauvegarde) et supprimer les sauvegardes existantes depuis les réglages de votre compte Google (voir le guide Google sur la sauvegarde Android)
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 majournee.com, 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 majournee.com 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, avec protection par mot de passe optionnelle
- 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 toutes les données locales. Si la sauvegarde automatique d'Android est active sur votre appareil, une copie subsiste dans votre compte Google jusqu'à sa suppression depuis les réglages de ce compte (voir section 3.9)
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 :
S'y ajoute la sauvegarde automatique d'Android (section 3.9), déclenchée par le système d'exploitation et non par l'application, si vous l'avez laissée active sur votre appareil.
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) : 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.
Infrastructure réseau (Cloudflare)
Le site utilise Cloudflare comme infrastructure réseau (CDN et protection). Dans ce cadre, Cloudflare traite l'adresse IP des visiteurs à des fins techniques et de sécurité, ce qui peut inclure la détermination du pays de connexion. Lorsqu'un contrôle anti-bot est effectué, Cloudflare dépose un cookie technique nommé cf_clearance attestant la réussite de ce contrôle (validité limitée, définie par Cloudflare, de l'ordre de 30 minutes par défaut). 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.
Requêtes et stockage local sur jujuforge.fr
À l'ouverture de la page d'accueil, le site interroge majournee.com et mcp.majournee.com (tous deux hébergés par Cloudflare et gérés par JujuForge) afin d'afficher les numéros de version à jour de l'application web et de l'application de bureau. Seule votre adresse IP est visible par ces serveurs, comme pour toute requête web.
Le site ne dépose aucun cookie propre. Il conserve dans votre navigateur votre choix de langue (stockage local, persistant) et votre choix de thème clair ou sombre (stockage de session, effacé à la fermeture de l'onglet). Ces informations restent dans votre navigateur et ne sont jamais transmises.
Application web majournee.com
L'application web majournee.com 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é (AES-GCM) des données de l'application. Ce chiffrement protège contre une lecture accidentelle du stockage du navigateur, mais pas contre une personne disposant d'un accès complet à votre session de navigateur. 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.majournee.com)
L'application web communique avec votre application Android via mcp.majournee.com, 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, accompagné de la date de connexion et de l'identifiant technique de votre navigateur (User-Agent), afin de vous permettre de reconnaître et de révoquer vos sessions actives
- 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é
- Autorisation OAuth (clients MCP distants) : lorsque vous autorisez un assistant IA externe (par exemple Claude ou Mistral) à accéder à votre serveur MCP à distance, le relay délivre un jeton d'accès OAuth valable 30 jours, stocké sur l'infrastructure Cloudflare avec une empreinte (hash) de votre jeton MCP. Régénérer votre jeton MCP depuis l'application Android invalide ces accès
- Avis publics : si vous soumettez un avis (Paramètres > À Propos et Maintenance), la note, le commentaire facultatif et le pseudo facultatif sont publiés immédiatement sur jujuforge.fr. Une empreinte (hash SHA-256, non réversible) de votre adresse IP est également enregistrée, uniquement pour limiter les soumissions à un avis par 24 heures ; elle ne permet pas de retrouver votre adresse IP
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 majournee.com
mj_session (durée : 30 jours) : Cookie fonctionnel déposé par mcp.majournee.com 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), susceptible d'être déposé sur majournee.com dans les mêmes conditions que sur jujuforge.fr, les deux domaines étant servis par Cloudflare (voir ci-dessus)
Application de bureau (Linux/Windows)
L'application de bureau « Ma Journée » affiche l'application web majournee.com : les traitements décrits ci-dessus s'y appliquent à l'identique, le stockage local étant ici conservé dans les fichiers de l'application sur votre ordinateur plutôt que dans un navigateur.
- Mises à jour : l'application vérifie périodiquement leur disponibilité en interrogeant
dl.majournee.com (Cloudflare R2), ce qui transmet votre adresse IP à Cloudflare. Les mises à jour sont signées cryptographiquement et vérifiées avant installation
- Notifications système : si vous les activez, elles peuvent afficher l'expéditeur et l'objet d'un nouveau mail universitaire, ou l'intitulé d'un changement de planning. Elles sont générées localement, mais restent visibles sur un écran verrouillé ou dans le centre de notifications de votre système. Désactivez-les depuis Paramètres > Rappels et Notifications si vous souhaitez que ces informations restent privées
- Zone de notification : le menu de l'icône dans la barre système affiche le nombre de tâches restantes et de mails non lus
- Démarrage automatique : une option facultative, désactivée par défaut, inscrit l'application au démarrage de votre session et modifie à ce titre la configuration de démarrage de votre système
- Fichiers locaux : l'application conserve sur votre ordinateur ses réglages et un journal technique plafonné à environ 2 Mo par fichier, accessible depuis les Paramètres. Ce journal ne contient aucune donnée personnelle
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
- Sauvegarde automatique Android : conservée par Google tant que vous ne la supprimez pas depuis les réglages de votre compte Google (voir section 3.9)
- 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
- Données techniques du site web (Cloudflare) : traitées selon la politique de confidentialité de Cloudflare, cloudflare.com/privacypolicy/
- Avis publics : conservés indéfiniment (note, commentaire, pseudo, empreinte IP) jusqu'à retrait manuel en cas d'abus
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 (art. 6.1.a du RGPD) pour chaque fonctionnalité optionnelle que vous activez : intégrations Google, mails universitaires, météo et recherche de lieux, abonnements iCal, synchronisation via Internet, accès distant au serveur MCP. L'exécution du service (art. 6.1.b) pour l'authentification de l'application web et de l'application de bureau. L'intérêt légitime (art. 6.1.f) pour la sécurité et la disponibilité de l'infrastructure. Le fonctionnement local de l'application ne donne lieu à aucun traitement par JujuForge
- 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 (é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)
- 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 created and stored locally on your device:
- Your tasks, goals and reviews
- Your settings and preferences
- All your other personal data
It is only transmitted externally in the cases described in section 8, and may be included in Android's automatic backup if that feature is enabled on your device (see section 3.9).
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, 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 (for example in the "Data & Privacy" and "Connected Calendars" sections)
- Sharing: Never shared with any third party; 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, synchronised events are cached locally (covered period adjustable in settings)
- 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: No iCal feed is active by default: you add each subscription and enable it yourself from Settings > Connected Calendars
3.3. Hardware Permissions
Camera
- Usages: (1) Scanning a QR code containing a web address, to add a link in the "Useful links" module or to sign in to Ma Journée Web (majournee.com); (2) Optical character recognition (OCR) to extract text from a photo taken on demand; (3) Scanning a QR code displayed only by Ma Journée Web or the desktop application (never by a third party) to open the Android app directly on the relevant settings screen, when a feature requires manual configuration
- 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
Network and notifications
- Notifications: The notification permission is required to deliver the task reminders, revisions and alerts you have configured
- Exact alarms, battery optimization exemption and reboot: These permissions allow your reminders to fire at the scheduled time (including when the system would otherwise restrict background activity to save battery) and to be rescheduled after the device restarts. No data is transmitted
- Wi-Fi state and local network: Used solely by device-to-device synchronisation (see section 3.5) and by the MCP server (see section 3.6), to detect devices present on your network and verify that you are on the authorised network
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 (overpass-api.de, an independent third-party service based on OpenStreetMap data) 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
- Interactive map: The preview of a place's position (add or edit dialog) displays a base map whose tiles are downloaded from OpenFreeMap (tiles.openfreemap.org), which then sees your IP address and the geographic area being viewed. Your approximate position may be shown on the map if you have used "Around me"
- Third parties: OpenStreetMap Foundation, OSM privacy policy; Overpass API (overpass-api.de); OpenFreeMap (tiles.openfreemap.org)
- Activation: ACCESS_COARSE_LOCATION permission is explicitly requested. Without this permission, search remains available in text-only mode
Device Calendar
- Usages: (1) Reading events from your Android calendars to display them in your planner; (2) Exporting your tasks to a dedicated local calendar "MaJournée" created by the application
- Processing: Entirely local on the device. No calendar data is transmitted externally by this feature
- Privacy: Tasks exported to the native calendar become visible to other applications on your device that are allowed to read the calendar
- Activation: Optional feature, the READ_CALENDAR and WRITE_CALENDAR permissions are explicitly requested when the feature is enabled
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
- Live radar: An optional "live radar" button opens, in a browser tab, the precipitation radar hosted by Météo-Ciel (meteociel.fr, an independent third party). That site then sees your IP address, as with any web browsing; no personal data from the application is transmitted to it
- Third party: Open-Meteo, Open-Meteo terms and privacy; Météo-Ciel (meteociel.fr)
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. The protocol (HTTP or HTTPS) depends on the URL you have configured. 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
RSS Feeds
- Usage: Optional module displaying articles from RSS/Atom feeds or web pages whose address you configure in the application
- Processing: The application contacts the configured URLs directly: your IP address and a standard User-Agent are visible to these servers, as well as to the sites hosting the articles' illustration images. If the address points to a page without a native feed, the list of articles is extracted from the page itself. No personal data from the application is transmitted
- Background monitoring: Disabled by default. Once enabled, feeds are checked periodically in the background (adjustable frequency), with optional notifications for new articles
- Local cache: Retrieved articles are stored locally on the device
Sharing via Link
- The sharing features (SRS flashcard packs, local calendars) encode the shared data directly into the generated link, without passing through any server
- Anyone who receives this link can read its content: only share it with people you trust
Feedback
- Usage: The "Report a problem" feature prepares an email via your mail client, addressed to jujuforge.dev@gmail.com (a support mailbox operated by JujuForge and hosted by Google LLC)
- Content: Your message, technical information about your device (model, Android version, application version, technical session identifier) and the application's operating logs
- Logs: The logs are used for technical diagnosis. They contain no personal data: no credentials, and no content from your tasks, notes, flashcards or messages. Any web address appearing in them is automatically reduced to its domain name
- Screenshot: You may, if you wish, attach a screenshot that you trigger yourself. No screenshot is ever captured automatically. It reproduces what was displayed at the moment of capture and may therefore contain your data: a preview is shown and you can remove it before sending
- Control: You can review and edit the entire content before sending; nothing is transmitted without your action
Application Updates
- Usage: The application checks for available updates via the official Google Play in-app updates API, and may offer to download and install them without leaving the application
- Processing: This check is handled entirely by Google Play services, according to the Google Privacy Policy. No data is transmitted to JujuForge
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. Shared study sessions additionally exchange, between participating devices, the content of revision flashcards (SRS), each participant's progress and the device name chosen during pairing
- 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
- Pairing types: You qualify each paired device. A personal device synchronises automatically in both directions. A third-party device (belonging to another person) can only send you items, which enter a queue and are saved only after your explicit acceptance; your notes and deletions are never propagated to it. The name of the sending device is stored alongside the accepted task
- Chat between devices: An optional text chat (disabled by default) lets you exchange messages with your paired personal devices. Messages are sent directly from device to device over the local Wi-Fi network, encrypted with AES-256-GCM using the pairing key, and stored locally on each device; they never transit through the relay or any server. The new message notification shows the sending device's name but never the message content
- Network identification: To guarantee that local synchronisation only occurs on the Wi-Fi network used during pairing, the application reads the access point's technical identifier (BSSID) and compares it with the one recorded at pairing time. This identifier stays on your device and is never transmitted
- Device discovery: While synchronisation is active, your device announces itself on the local network (mDNS) with a technical identifier and the device name chosen during pairing, both visible to other devices on the same network
- Scope: On the local network, data only travels between the devices you have paired. An optional Internet synchronisation feature (opt-in, disabled by default) allows syncing remote devices via the Cloudflare relay
mcp.majournee.com: 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. Internet synchronisation only covers tasks and notes; shared study sessions remain exclusively on the local network and never transit through the relay
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. Sole exception: the Ma Journée Web preferences backup (configuration data, see below) can be deleted by the client
- 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: most of your organisation data: planning (tasks, deadlines, events), personal content (notes, tags, links, university emails if connected, see section 3.8) and daily tracking (goals, reviews, SRS flashcards). The precise list of exposed tools can be viewed in the application, from the MCP section of Settings. Places, the Android application's settings and files are not exposed. The server does however allow viewing, creating and renaming your task templates, and storing, viewing and deleting a backup of Ma Journée Web's preferences (theme, layout, etc.), kept on your device
- Activity log: The application keeps on your device a history of the last 20 calls received (tool name, main argument, client name, date, local or remote access). The main argument may contain a task or note title. This log can be viewed and cleared from the "Activity and connections" dialog in Settings, and never leaves your device
- Built-in test page: While the server is running, a diagnostic page is served at its local address. It contains none of your data and pre-fills no token: your authentication token must be entered manually to query the server. Anyone on your local network can observe that the service exists, but cannot read any data without your token
- 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.majournee.com (see section 10, Cloudflare Relay (mcp.majournee.com)). No data is readable by JujuForge
3.7. Home Screen Widget
- Usage: Displays your iCal events directly on your Android home screen, outside the application
- Data displayed: Up to 8 iCal events for the day being displayed (title, time). The widget allows navigating to previous and following days; the displayed date is stored locally. 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)
3.9. Android Automatic Backup
- Mechanism: Android provides an automatic application backup feature ("Android Auto Backup"), enabled at operating system level and not by the application. If you have left it active in your device settings, a copy of the application's data is placed in your Google account's backup storage
- Data concerned: Your personal application data (tasks, notes, SRS flashcards, the cache of your university emails if you have connected an account, etc.), the local caches and your preferences
- Data excluded: Technical logs, downloaded artificial intelligence models, local copies of your Drive backups, the MCP server access token and your university email account password are explicitly excluded from this backup
- Recipient: Google LLC, within your own account's backup storage. This data is encrypted by Android and is accessible neither to JujuForge nor to any third party
- Consequence: This backup survives uninstalling the application and is restored automatically if you reinstall the application on a device linked to the same Google account
- Control: You can disable this backup at any time in Android Settings (System > Backup) and delete existing backups from your Google account settings (see Google's guide on Android backup)
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 majournee.com 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 majournee.com 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, with optional password protection
- 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 deletes all local data. If Android's automatic backup is active on your device, a copy remains in your Google account until you delete it from that account's settings (see section 3.9)
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)
In addition, Android's automatic backup (section 3.9), triggered by the operating system and not by the application, applies if you have left it active on your device.
The jujuforge.fr website, the web application and the desktop application also rely on Cloudflare infrastructure (technical processing of IP addresses, technical cookies): 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.
Network Infrastructure (Cloudflare)
The site uses Cloudflare as its network infrastructure (CDN and protection). As part of this, Cloudflare processes visitors' IP addresses for technical and security purposes, which may include determining the country of connection. When an anti-bot check is performed, Cloudflare sets a technical cookie named cf_clearance attesting that this check was passed (limited validity, defined by Cloudflare, around 30 minutes by default). 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.
Requests and local storage on jujuforge.fr
When the home page opens, the site queries majournee.com and mcp.majournee.com (both hosted by Cloudflare and operated by JujuForge) in order to display the current version numbers of the web application and the desktop application. Only your IP address is visible to these servers, as with any web request.
The site sets no cookies of its own. It stores in your browser your language choice (local storage, persistent) and your light or dark theme choice (session storage, cleared when the tab is closed). This information remains in your browser and is never transmitted.
Web application majournee.com
The web application majournee.com 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 (AES-GCM) of application data. This encryption protects against accidental reading of the browser's storage, but not against someone with full access to your browser session. 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.majournee.com)
The web application communicates with your Android application via mcp.majournee.com, 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, along with the login date and your browser's technical identifier (User-Agent), so that you can recognise and revoke your active sessions
- 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
- OAuth authorisation (remote MCP clients): when you authorise an external AI assistant (for example Claude or Mistral) to access your MCP server remotely, the relay issues an OAuth access token valid for 30 days, stored on Cloudflare's infrastructure together with a fingerprint (hash) of your MCP token. Regenerating your MCP token from the Android application invalidates these accesses
- Public reviews: if you submit a review (Settings > About and Maintenance), the rating, optional comment and optional display name are published immediately on jujuforge.fr. A fingerprint (SHA-256 hash, non-reversible) of your IP address is also recorded, solely to limit submissions to one review per 24 hours; it cannot be used to recover your IP address
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 majournee.com
mj_session (duration: 30 days): Functional cookie set by mcp.majournee.com 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), which may be set on majournee.com under the same conditions as on jujuforge.fr, both domains being served by Cloudflare (see above)
Desktop application (Linux/Windows)
The "Ma Journée" desktop application displays the web application majournee.com: the processing described above applies identically, except that local storage is here kept in the application's files on your computer rather than in a browser.
- Updates: the application periodically checks for their availability by querying
dl.majournee.com (Cloudflare R2), which transmits your IP address to Cloudflare. Updates are cryptographically signed and verified before installation
- System notifications: if you enable them, they may display the sender and subject of a new university email, or the title of a schedule change. They are generated locally, but remain visible on a locked screen or in your system's notification centre. Disable them from Settings > Reminders and Notifications if you wish to keep this information private
- System tray: the tray icon menu displays the number of remaining tasks and unread emails
- Automatic startup: an optional setting, disabled by default, registers the application to launch when your session starts and therefore modifies your system's startup configuration
- Local files: the application keeps its settings on your computer along with a technical log capped at roughly 2 MB per file, accessible from Settings. This log contains no personal data
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
- Android automatic backup: retained by Google until you delete it from your Google account settings (see section 3.9)
- 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
- Website technical data (Cloudflare): processed according to Cloudflare's privacy policy, cloudflare.com/privacypolicy/
- Public reviews: retained indefinitely (rating, comment, display name, IP fingerprint) until manually removed in case of abuse
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 consent (Art. 6(1)(a) GDPR) for each optional feature you enable: Google integrations, university email, weather and place search, iCal subscriptions, synchronisation over the Internet, remote access to the MCP server. Performance of the service (Art. 6(1)(b)) for authentication of the web and desktop applications. Legitimate interest (Art. 6(1)(f)) for the security and availability of the infrastructure. The local operation of the application involves no processing by JujuForge
- 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 (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)
- 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