diff --git a/app/.gitignore b/app/.gitignore index 6677feef..38c00eb6 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -94,3 +94,4 @@ buck-out/ # google services **/android/app/google-services.json +dist diff --git a/app/app.json b/app/app.json index ea305388..d50542d9 100644 --- a/app/app.json +++ b/app/app.json @@ -2,17 +2,17 @@ "expo": { "name": "Jardin Mental", "slug": "monsuivipsy", - "version": "1.41.0", + "version": "1.41.1", "orientation": "portrait", "icon": "./assets/imgs/playstore-icon.png", "scheme": "monsuivipsy", "ios": { "supportsTablet": true, "bundleIdentifier": "org.reactjs.native.example.monsuivipsy", - "buildNumber": "205" + "buildNumber": "207" }, "android": { - "versionCode": 205, + "versionCode": 206, "adaptiveIcon": { "foregroundImage": "./assets/imgs/logo2.png", "backgroundColor": "#ffffff" @@ -67,7 +67,8 @@ "policy": "appVersion" }, "updates": { - "url": "https://u.expo.dev/6567f752-92f9-4452-9841-71f6dd09842f" + "url": "https://u.expo.dev/6567f752-92f9-4452-9841-71f6dd09842f", + "fallbackToCacheTimeout": 10000 } } } diff --git a/app/src/components/drawer/index.js b/app/src/components/drawer/index.js index bb111201..6816a8e5 100644 --- a/app/src/components/drawer/index.js +++ b/app/src/components/drawer/index.js @@ -5,12 +5,12 @@ import DrawerItem from './drawer-item'; import LegalItem from './legal-item'; import localStorage from '../../utils/localStorage'; import {getBadgeNotesVersion} from '../../scenes/news'; -import pck from '../../../package.json'; import Text from '../../components/MyText'; import {colors} from '../../utils/colors'; import NeedUpdateContext from '../../context/needUpdate'; -import {HOST} from '../../config'; +import {HOST, HMAC_SECRET} from '../../config'; import {recommendApp} from '../../utils/share'; +import app from '../../../app.json'; export default ({navigation, visible, onClick}) => { const [isVisible, setIsVisible] = useState(); @@ -88,10 +88,14 @@ export default ({navigation, visible, onClick}) => { setDevModeCount(p => p + 1)}> - version {pck.version} - +{pck.buildNumber} + {Platform.OS === 'ios' ? `${app.expo.version} (${app.expo.ios.buildNumber})` : `${app.expo.version} (${app.expo.android.versionCode})`} - {devModeCount % 5 === 0 ? {HOST} : null} + {devModeCount % 5 === 0 ? ( + + {HOST} + {HMAC_SECRET ? HMAC_SECRET?.slice(-5) : 'empty'} + + ) : null} diff --git a/app/src/scenes/legal/privacy-screen.js b/app/src/scenes/legal/privacy-screen.js index e7378681..e697d08c 100644 --- a/app/src/scenes/legal/privacy-screen.js +++ b/app/src/scenes/legal/privacy-screen.js @@ -1,376 +1,296 @@ -import React from "react"; -import LegalScreen from "./legal-screen"; -import { StyleSheet, View, TouchableOpacity, Linking } from "react-native"; -import Text from "../../components/MyText"; -import { colors } from "../../utils/colors"; +import React, {useState} from 'react'; +import {StyleSheet, View, TouchableOpacity, Linking} from 'react-native'; +import Text from '../../components/MyText'; +import {colors} from '../../utils/colors'; +import LegalScreen from './legal-screen'; + +const Privacy = ({navigation}) => { + const [isTracked, setIsTracked] = useState(true); -const Privacy = ({ navigation }) => { const content = ( - Traitement des données à caractère personnel - - La présente application Jardin Mental est à l'initiative de la Direction Générale de la Santé au sein - de la Fabrique numérique des ministères sociaux. - - Finalité + Qui est responsable de Jardin mental? - L'application « Jardin Mental » vise à accompagner les personnes qui le souhaitent à mieux - connaître et suivre leurs symptômes, leurs ressentis ou toute activité personnalisée, leur permettant - de faciliter leur accompagnement psychologique. L'application permet notamment : + Le service numérique « Jardin mental » est à l'initiative de la Direction générale de la santé au sein de la Fabrique numérique des ministères sociaux. -
  • - La saisie et l'évaluation de données via un questionnaire ; -
  • -
  • - La saisie de notes libres ; -
  • + Pourquoi traitons-nous des données à caractère personnel ? + Jardin mental traite des données à caractère personnel pour les raisons suivantes :
  • - L'envoi de données saisies par mail à toute personne choisie par l'utilisateur. + Accompagner les personnes qui le souhaitent à mieux connaître et suivre leurs symptômes, leurs ressentis ou toute activité personnalisée, leur permettant de faciliter + leur accompagnement psychologique.
  • - Données à caractère personnel traitées - Peuvent être traitées les données suivantes : + Quelles sont les données à caractère personnel que nous traitons ? + Jardin mental traite les données suivantes :
  • - Données de contact (adresse e-mail et numéro de téléphone) ;{" "} - - La communication de ces données est une simple possibilité proposée pour l'amélioration de - l'application. - + Données relatives aux usagers du service : adresse e-mail, numéro de téléphone. La communication de ces données est une simple + possibilité proposée pour améliorer l'application.
  • + + Qu'est-ce qui nous autorise à traiter des données à caractère personnel ? + Jardin mental traite des données à caractère personnel en se basant sur :
  • - Données de connexion (et notamment, les identifiants de connexion, nature des opérations, date et - heure de l'opération) ; + L'exécution d'une mission d'intérêt public ou relevant de l'exercice de l'autorité publique dont est investi le responsable de traitement au sens de l'article 6-1 e) du + RGPD.
  • + + Pendant combien de temps conservons-nous ces données ? + + + + + Quels sont vos droits ? + Vous disposez :
  • - Cookies. + D'un droit d'information et droit d'accès ;
  • - - Les données relatives aux notes libres et au suivi sont conservées sur le terminal de l'utilisateur et - ne sont pas transférées à l'équipe Jardin Mental, à la Fabrique numérique des ministères sociaux ou à - la Direction Générale de la Santé. - - Base juridique du traitement de données - - Les données traitées à l'occasion de ces traitements ont plusieurs fondements juridiques : -
  • - - L'obligation légale à laquelle est soumise le responsable de traitements au sens de l'article 6-c du - RGPD ; - + D'un droit de rectification ;
  • - - L'exécution d'une mission d'intérêt public ou relevant de l'exercice de l'autorité publique dont est - investi le responsable de traitement au sens de l'article 6-e du RPGD ; - + D'un droit d'opposition ;
  • - Ces fondements sont précisés ci-dessous : -
  • a.}> - Données de contact +
  • + D'un droit à la limitation du traitement.
  • + + + - Ce traitement est nécessaire à l'exécution d'une mission d'intérêt public ou relevant de l'exercice de - l'autorité publique dont est investi le responsable de traitement au sens de l'article 6-e du - règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016 relatif à la protection - des personnes physiques à l'égard du traitement des données à caractère personnel et à la libre - circulation de ces données. + Pour les exercer, contactez-nous par voie électronique : jardinmental@fabrique.social.gouv.fr -
  • b.}> - Données de connexion -
  • + + Par voie postale : + Direction du Numérique des ministères sociaux + Ministère des solidarités et de la santé + 39-43 Quai André Citroën + 75015 Paris + + + - Ce traitement est nécessaire au respect d'une obligation légale à laquelle le responsable de - traitement est soumis au sens de l'article 6-c du Règlement (UE) 2016/679 du Parlement européen et du - Conseil du 27 avril 2016 relatif à la protection des personnes physiques à l'égard du traitement des - données à caractère personnel et à la libre circulation de ces données. + Puisque ce sont des droits personnels, nous ne traiterons votre demande que si nous sommes en mesure de vous identifier. Dans le cas où nous ne parvenons pas à vous + identifier, nous pouvons être amenés à vous demander une preuve de votre identité. + Pour vous aider dans votre démarche, vous trouverez un modèle de courrier élaboré par la Cnil. + - L'obligation légale est posée par la loi LCEN n° 2004-575 du 21 juin 2004 pour la confiance dans - l'économie numérique et par l'article 1 du décret n°2021-1363 portant injonction, au regard de la - menace grave et actuelle contre la sécurité nationale, de conservation pour une durée d'un an de - certaines catégories de données de connexion. + CNIL ici : + Linking.openURL('https://www.cnil.fr/fr/modele/courrier/exercer-son-droit-dacces')}> + https://www.cnil.fr/fr/modele/courrier/exercer-son-droit-dacces + -
  • c.}> - Cookies + Nous nous engageons à vous répondre dans un délai raisonnable qui ne saurait dépasser 1 mois à compter de la réception de votre demande. + + Qui va avoir accès à ces données ? + Les accès aux données sont strictement encadrés et juridiquement justifiés. Les personnes suivantes vont avoir accès aux données : +
  • + Les membres de l'équipe Jardin Mental au sein de la Fabrique numérique des ministères sociaux.
  • - - En application de l'article 5(3) de la directive 2002/58/CE modifiée concernant le traitement des - données à caractère personnel et la protection de la vie privée dans le secteur des communications - électroniques, transposée à l'article 82 de la loi n°78-17 du 6 janvier 1978 relative à - l'informatique, aux fichiers et aux libertés, les traceurs ou cookies suivent deux régimes distincts. - - - Les cookies strictement nécessaires au service ou ayant pour finalité exclusive de faciliter la - communication par voie électronique sont dispensés de consentement préalable au titre de l'article 82 - de la loi n°78-17 du 6 janvier 1978. - - - Les cookies n'étant pas strictement nécessaires au service ou n'ayant pas pour finalité exclusive de - faciliter la communication par voie électronique doivent être consenti par l'utilisateur. - - - Ce consentement de la personne concernée pour une ou plusieurs finalités spécifiques constitue une - base légale au sens du RGPD et doit être entendu au sens de l'article 6-a du Règlement (UE) 2016/679 - du Parlement européen et du Conseil du 27 avril 2016 relatif à la protection des personnes physiques à - l'égard du traitement des données à caractère personnel et à la libre circulation de ces données. - - Durée de conservation - - Droit des personnes concernées - - Vous disposez des droits suivants concernant vos données à caractère personnel : - + + Quelles mesures de sécurité mettons-nous en place ? + Nous mettons en place plusieurs mesures pour sécuriser les données : +
  • - Droit d'information et droit d'accès des données ; + Stockage des données en base de données ;
  • - - Droit de rectification et le cas échéant de suppression des données ; - + Cloisonnement des données ;
  • - - Pour les exercer, faites-nous parvenir une demande en précisant la date et l'heure précise de la - requête - ces éléments sont indispensables pour nous permettre de retrouver votre recherche : -
  • - - par voie électronique à l'adresse suivante :{"\n"} - monsuivipsy@fabrique.social.gouv.fr - + Mesures de traçabilité ;
  • - - par voie postale :{"\n"}Fabrique numérique des ministères sociaux - {"\n"}Ministère des solidarités et de la santé{"\n"}39-43 Quai André Citroën{"\n"}75015 PARIS - + Surveillance ;
  • - - En raison de l'obligation de sécurité et de confidentialité dans le traitement des données à caractère - personnel qui incombe au responsable de traitement, votre demande ne sera traitée que si vous apportez - la preuve de votre identité. - - - Pour vous aider dans votre démarche, vous trouverez ici - Linking.openURL("https://www.cnil.fr/fr/modele/courrier/exercer-son-droit-dacces")} - > - https://www.cnil.fr/fr/modele/courrier/exercer-son-droit-dacces - {" "} - un modèle de courrier élaboré par la Cnil. - - Nous nous engageons à ne jamais céder ces informations à des tiers. - Délais de réponse - - Le responsable de traitement s'engage à répondre dans un délai raisonnable qui ne saurait dépasser 1 - mois à compter de la réception de votre demande. - - Destinataires des données - - Le responsable de traitement s'engage à ce que les données à caractères personnels soient traitées par - les seules personnes autorisées. - - Sous-traitants
  • - - Microsoft Azure, France{"\n"} - Hébergement de l’application - {"\n"} - Linking.openURL("https://privacy.microsoft.com/fr-fr/privacystatement")} - > - https://privacy.microsoft.com/fr-fr/privacystatement - - + Protection contre les virus, malwares et logiciels espions ;
  • - - Tipimail, France{"\n"} - API d'envoi de mails - {"\n"} - Linking.openURL("https://fr.tipimail.com/rgpd")}> - https://fr.tipimail.com/rgpd - - + Protection des réseaux ;
  • +
  • + Sauvegarde ; +
  • +
  • + Mesures restrictives limitant l'accès physique aux données à caractère personnel. +
  • + + + Qui nous aide à traiter les données à caractère personnel ? + + + + Cookies - Certaines des données sont envoyées à des sous-traitants pour réaliser certaines missions. Le - responsable de traitement s'est assuré de la mise en œuvre par ses sous-traitants de garanties - adéquates et du respect de conditions strictes de confidentialité, d'usage et de protection des - données. + Un cookie est un fichier déposé sur votre terminal lors de la visite d'un site. Il a pour but de collecter des informations relatives à votre navigation et de vous adresser + des services adaptés à votre terminal (ordinateur, mobile ou tablette). - Sécurité et confidentialité des données - Le responsable de traitements ne conserve pas de données à caractère personnel sur le réseau. Elles - sont conservées sur la machine locale de l'utilisateur. Dès lors il en a la maîtrise, et est le seul à - même d'en garantir la sécurité et confidentialité. + En application de l'article 5(3) de la directive 2002/58/CE modifiée concernant le traitement des données à caractère personnel et la protection de la vie privée dans le + secteur des communications électroniques, transposée à l'article 82 de la loi n° 78-17 du 6 janvier 1978 relative à l'informatique, aux fichiers et aux libertés, les + traceurs ou cookies suivent deux régimes distincts. - Utilisation de témoins de connexion (« cookies ») - Un cookie est un fichier déposé sur votre terminal lors de la visite d'une application. Il a pour but - de collecter des informations relatives à votre navigation et de vous adresser des services adaptés à - votre terminal (ordinateur, mobile ou tablette). + Les cookies strictement nécessaires au service ou ayant pour finalité exclusive de faciliter la communication par voie électronique sont dispensés de consentement préalable + au titre de l'article 82 de la loi n° 78-17 du 6 janvier 1978. - Nous collectons donc des données par l'intermédiaire de dispositifs appelés « cookies » - permettant d'établir des mesures statistiques. + Les cookies n'étant pas strictement nécessaires au service ou n'ayant pas pour finalité exclusive de faciliter la communication par voie électronique doivent être consenti + par l'utilisateur. - L'application dépose des cookies de mesure d'audience (nombre de visites, pages consultées), - respectant les conditions d'exemption du consentement de l'internaute définies par la recommandation - « Cookies » de la Commission nationale informatique et libertés (CNIL). + Ce consentement de la personne concernée pour une ou plusieurs finalités spécifiques constitue une base légale au sens du RGPD et doit être entendu au sens de l'article 6-a + du Règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016 relatif à la protection des personnes physiques à l'égard du traitement des données à + caractère personnel et à la libre circulation de ces données. - Nous utilisons pour cela Matomo, un outil de mesure d'audience web - libre, paramétré pour être en conformité avec la recommandation « Cookies » de la CNIL. Cela - signifie que votre adresse IP, par exemple, est anonymisée avant d'être enregistrée. Il est donc - impossible d'associer vos visites sur ce cette application à votre personne. + À tout moment, vous pouvez refuser l'utilisation des cookies et désactiver le dépôt sur votre ordinateur en utilisant la fonction dédiée de votre navigateur (fonction + disponible notamment sur Microsoft Internet Explorer 11, Google Chrome, Mozilla Firefox, Apple Safari et Opera). + Pour aller plus loin, vous pouvez consulter les fiches proposées par la Commission Nationale de l'Informatique et des Libertés (CNIL) : + Linking.openURL('https://www.cnil.fr/fr/cookies-traceurs-que-dit-la-loi')}> + Cookies & traceurs : que dit la loi ? + + Linking.openURL('https://www.cnil.fr/fr/cookies-les-outils-pour-les-maitriser')}> + Cookies : les outils pour les maîtriser + - Les données anonymisées issues de Matomo sont exportées vers un Metabase auquel aura accès l'équipe de - Jardin Mental. + Nous utilisons Matomo, une solution de mesure d'audience, configuré en "mode exempté" ne nécessitant pas le recueil du consentement des utilisateurs conformément aux + recommandations de la CNIL. - Il convient d'indiquer que : -
  • - - Les données collectées ne sont pas recoupées avec d'autres traitements. - -
  • -
  • - - Les cookies ne permettent pas de suivre la navigation de l'internaute sur d'autres sites. - -
  • - {/* [BOUTON MODIFIER LES REGLAGES] */} - - À tout moment, vous pouvez refuser l'utilisation des cookies et désactiver le dépôt sur votre - ordinateur en utilisant la fonction dédiée de votre navigateur (fonction disponible notamment sur - Microsoft Internet Explorer 11, Google Chrome, Mozilla Firefox, Apple Safari et Opera). - - - Pour aller plus loin, vous pouvez consulter les fiches proposées par la Commission Nationale de - l'Informatique et des Libertés (CNIL) : - -
  • - Linking.openURL("https://www.cnil.fr/fr/cookies-traceurs-que-dit-la-loi")} - > - Cookies & traceurs : que dit la loi ? - -
  • -
  • - Linking.openURL("https://www.cnil.fr/fr/cookies-les-outils-pour-les-maitriser")} - > - Cookies : les outils pour les maîtriser + + setIsTracked(!isTracked)}> + {isTracked ? '☒' : '☐'} -
  • + Vous êtes suivis de manière anonyme. Décochez cette case pour ne plus être suivi. +
    ); return ; }; -const Li = ({ children, dot = "-" }) => ( - - {dot} - {children} - -); - const ConservationTable = () => { return ( - Type de données + Sous-traitant - Durée de conservation + Pays destinataire + + + Traitement réalisé + + + Garanties - Données de contact + OVH + + + France + + + Hébergement - - Dans un délai de 3 ans à compter de la dernière utilisation. - + + Linking.openURL('https://storage.gra.cloud.ovh.net/v1/AUTH_325716a587c64897acbef9a4a4726e38/contracts/9e74492-OVH_Data_Protection_Agreement-FR-6.0.pdf') + }> + https://storage.gra.cloud.ovh.net/v1/AUTH_325716a587c64897acbef9a4a4726e38/contracts/9e74492-OVH_Data_Protection_Agreement-FR-6.0.pdf + - - Données relatives aux notes libres et à l'évolution des symptômes - - (stockées sur le terminal de l'utilisateur sans aucun autre accès possible) - - + Tipimail + + + France + + + Envoi d'e-mails - Dès la suppression par la personne concernée + Linking.openURL('https://fr.tipimail.com/dpa')}> + https://fr.tipimail.com/dpa + - + + ); +}; + +const DataTable = () => { + return ( + + - Données d'hébergeur + Catégories de données - - 1 an, conformément au décret n°2021-1363 du 20 octobre 2021. - + Durée de conservation - Cookies + Données relatives aux usagers du service Données relatives aux usagers du service - - Dans un délai de 13 mois, conformément aux recommandations de la - CNIL - + 3 ans à compter de la dernière utilisation ); }; +const Li = ({children, dot = '-'}) => ( + + {dot} + {children} + +); + const styles = StyleSheet.create({ table: { - display: "flex", + display: 'flex', borderWidth: 1, borderColor: colors.BLUE, }, tableHeader: { - backgroundColor: "#dedede", + backgroundColor: '#dedede', }, tableRow: { - display: "flex", - flexDirection: "row", + display: 'flex', + flexDirection: 'row', }, tableCol: { padding: 5, flex: 1, borderColor: colors.BLUE, borderWidth: 1, - alignItems: "center", + alignItems: 'center', }, center: { - textAlign: "center", + textAlign: 'center', }, //Article x - Titre h1: { color: colors.DARK_BLUE, fontSize: 20, marginVertical: 10, - fontWeight: "bold", + fontWeight: 'bold', }, // x.y - Sous titre @@ -378,7 +298,7 @@ const styles = StyleSheet.create({ color: colors.DARK_BLUE, fontSize: 17, marginVertical: 8, - fontWeight: "bold", + fontWeight: 'bold', }, // A - Paragraphe @@ -396,16 +316,16 @@ const styles = StyleSheet.create({ marginVertical: 8, }, bold: { - fontWeight: "bold", + fontWeight: 'bold', }, italic: { - fontStyle: "italic", + fontStyle: 'italic', }, li: { - display: "flex", - flexWrap: "wrap", - flexDirection: "row", + display: 'flex', + flexWrap: 'wrap', + flexDirection: 'row', paddingLeft: 20, }, dotLi: { @@ -414,7 +334,10 @@ const styles = StyleSheet.create({ }, link: { color: colors.LIGHT_BLUE, - textDecorationLine: "underline", + textDecorationLine: 'underline', + }, + break: { + height: 20, }, });