DaTrust

un service d'aide à la mise en conformité RGPD

Contexte

Ce service est construit avec et pour DataTransition, une entreprise de
conseil et d'accompagnement autour de la privacy.

La license utilisé pour ce document est la Creative Common BY-ND 3.0 fr. En attendant de voir s'il en existe une qui correspond mieux sur le site [https://creativecommons.fr/licences/].

Le code source pourrait être ouvert, mais En attendant, il est fermé.

Histoire

Finalité

DaTrust à pour objectif de faciliter la mise en conformité des organisations.

La méthode DaTrust découpe la conformité RGPD en 9 axes de conformité. Pour chaque axe il faut prouver la mise en place de mesure de sécurité pour chaque risque identifié lié à la nature et à l'activité de l'organisation.

Le service DaTrust est décomposé en 3 parties :

Le livrable de DaTrust est un dossier contenant un rapport en PDF et les éléments de preuves.

Généralité

Inscription et connexion

La page d'accueil de Datrust permet de :
- Prendre connaissance de l'objet du service. En attendant l'explication du service, il n'y a rien.
- créer une organisation
- saisir un code pour s'authentifier

Aucun email n'est stocké en base par DataTransition. Nous avons uniquement des organisations avec des codes unique.

Après avoir demandé la création de l'organisation, la personne utilisant Datrust est orienté vers l'évaluation RGPD.

Après avoir saisi un code existant, la personne utilisant Datrust se retrouve sur la page la plus avancé du processus. En attendant, elle est redirigée sur l'évaluation RGPD.

Est-ce que le niveau de securité de ce système d'authentification est suffisant pour les données qui vont se retrouver sur l'application ?
Est-ce que cette technique de lien est assez sécurisé ? Le soucis c'est que ça nécessite de stocker un email au moins
Que se passe-t-il si une organisation perds le lien ou le code ?

Évaluation RGPD

L'évaluation comporte une série de questions, visible dans le
code source app/views/evaluations_rgpd/new.html.erb. Ces questions sont réparti en 4 sections :

Les réponses du questionaire permettent de calculer un score; Le score sera affiché en pourcentage permettant de définir un profil type. En attendant, le score sera affiché de manière brut (juste le chiffre obtenu)

Un texte accompagne le résultat du score pour expliquer le résultat de l'évaluation. En attendant, le texte trouvé dans un fichier est utilisé, sans trop savoir si c'est le bon truc à afficher.

En option, le score pourrais être affiché dans un radar sur 4 axes (les 4 sections)

Le profile obtenu permet vous informe du niveau d'effort à fournir pour la mise en conformité, et de l'importance de le faire. En attendant nous affichons uniquement le score

En option, le service pourrait proposer d'exporter le rapport en PDF.

Le rapport pourrait être imprimé à partir de la page web. En attendant d'avoir les bonnes données à afficher comme résultat de rapport, on peut imprimer ce qui s'affiche.

Tous les champs sont obligatoire, sauf le code APE et le bloc que de questions sur la mise en conformitée RGPD si la mise en conformitée n'a pas été entamé. En attendant, tous les champs du bloc de questions sur le projet de mise en conformité sont facultatif

Carto MATRA

L'objectif principal est de construire une liste des données utilisées (récoltées, manipulées, produites) dans un contexte donné.

La contextualisation va se faire via :

L'organisation est récupéré via la session.

La page principale est la cartographie.

Un lien permet de basculer sur la carto mitra.
On peut exporter en CSV les données de la cartographie des macro-traitements.

Chaque élémént est modifiable. En attendant, il n'y a que les activités qui peuvent être modifiée

Représentation de la carte

La cartographie représente en premier une liste des services connus;
- Chaque service est clickable et permet de visualiser ses missions;
- Chaque missions est clickable et permet de visualiser les activitées.

On ne peux visualiser qu'un seul service à la fois, une seule mission à la fois, et une seule activitée à la fois. La liste des titres reste visible. En attendant, on affiche tout, avec des couleurs pas terrible pour faire resortir les différents bloque

Navigation

La carte propose un lien pour créer un service.

Pour chaque service affiché, elle propose un lien pour créer une mission lié au service.

Pour chaque mission affichée, elle propose un lien pour créer une activité lié à la mission.

Dans chaque formulaire de création (service, mission, activité), on peut revenir à la page de cartographie sans avoir créé, ou bien après avoir créé. En attendant, il n'y a pas de bouton d'annulation pour revenir sans créer. Pour pouvoir le faire, il faut utiliser le bouton « back » du navigateur

Service

Un service est lié à une entreprise. Un service, c'est un nom et une description. Le lien à l'entreprise se fait de manière automatique (et non visible).

Mission

Une mission est liée à un service.

Une mission, c'est :
- un nom
- une description
- des personnes concernées

Les personnes concernées peuvent être :
- Salariée ou candidate
- Cliente ou prospecte
- Fournisseur ou partenaire
En attendant, c'est un champ libre

Activité

Une activité se compose

Les types de supports sont prédéfinis :
- site web
- application métier
- bureautique
- papier
En attendant, c'est un champ libre

Nous parlons ici de support de collecte, de production et/ou de traitement d'information.

Les types de DCP sont prédéfinis :

Fonctions de traitement ou Micro Traitement (MITRA)

C'est l'élément principal structurant une démarche de mise en conformité.

Tout ce qui est fait avant l'est pour permettre d'attacher ces fonctions traitement à un contexte. Les missions et activtités sont là pour faciliter l'entretien avec les utilisateurs afin d'identifier les fonctions traitements associées.

Tout ce qui est fait après l'est parce que la fonction traitement existe. Les risques sont généré par règles de gestion ou observations sur la base des fonctions traitement.

Une fonction traitement est caractérisée par

Les supports sont pioché dans une liste, et re-utilisable dans les fonctions traitement. En attendant, c'est un texte libre

Traitement

Caractérisé par un nom, et une activitée.

Permet de faire un groupement de fonction traitement.

Nécessaire pour la présentation du rapport.

Intérêt éditorial; l'idée est de pouvoir pouvoir utiliser un nom de traitement qui réponds à une habitude de nommage RPGD, et de garder le nom d'une activitée lié au contexte professionnel.

Ce traitement peut être une champ de l'activité.

Support

Un support est caractérisé par :

direct ou indirect, interne ou externe.

Partie prenante

Caractérisé par

Export

A ce stade, l'application pourrais permettre un export CSV ou json pour finir le travail en dehors. En attendant, ce point est un objectif à atteindre le plus rap idement

Suivi de la mise en conformité RGPD

C'est la fourniture de preuves de mises en œuvre de mesures de sécurités vis à vis d'un risque identifié.

Ce suivi est effectué par l'intermédiaire des 9 axes de conformité de la méthode DaTrust.

La gestion des tâches liées à la mise en conformité peut être organisée à l'extérieur; le produit pourrait se brancher à des outils externe pour faciliter la création de tâches dans ce derniers. DaTrsut n'a pas vocation à faire de la gestion de projets.

En option, nous pourrions proposer de se brancher à Trello.

En option, nous pourrions proposer un export CSV/Excel.

On propose des recommandations vis à vis d'un risque.

Dès qu'un preuve de mise en œuvre est apporté, le risque et les recommandation sont remplacé par une mesure de sécurité (prouvé).

Le risque reste dans la base, c'est l'affichage dans le tableau de bord qui n'affiche que les risques restant.

Il faut garder l'historique de la mise en conformité.

Risque

La plupart des risques doivent être créés automatiquement. Les règles de gestion de création sont lié aux fonctions traitement et à un des 9 axes de conformité DaTrust.

Un risque est aussi appelé une alerte.

Il faut pouvoir saisir un risque manuellement (associé à une fonction traitement et un axe).

Un risque est caractérisé par

Recommandation

Une recommandation est caractérisé par

Mesure de sécurité

Élément qui répond à un risque. Il peut y avoir plusieurs mesures de sécurité pour répondre à un risque.

Une mesure de sécurité est une recommandation qui a été réalisé.

Il faut pouvoir saisir une mesure de sécurité manuellement (associé à un risque)

Une mesure de sécurité est caractérisé par

Un risque change de status en fonction de s'il a une mesure de sécurité ou pas.

Peut-être qu'une mesure de sécurité peut être dynamique. Par exemple, chaque mesure de sécurité pourrait contenir une date de réalisation dans le futur, ou bien une date de rendez-vous pour une action répétitive, avec une mise à jour de preuve lié.

Une mesure de sécurité à donc un status. Fait, à faire, à répéter. Avec une

Preuve

Élément soutenant une mesure de sécurité (image du ciment qui lie les briques de mesure de sécurité).

Il existe plusieurs type de preuve :

Une preuve est caractérisé par

Le mieux serais de ne pas garder de fichier, la signature du fichier pourrais suffire (voir les mécanismes de hashage de fichier)

Le status d'un risque est affecté par le fait qu'il est attaché à une mesure de sécurité contenant une preuve.

Rapport

Générer un rapport. Télécharger un zip avec des pdfs et des excels ?

Futur

Autonomie sur les règles de gestion

PolicyMaker

Les deux zones où interviennent des règles de gestion sont

Ces deux familles de règles pourrait être exprimé dans une pseudo langage (DSL Domain Specific Langage) pour permettre à DataTransition de faire évoluer, en autonomie, sont outil (sans avoir à coder dans un langage générique comme Ruby).

Faciliter la cartographie

Mode opératoire

Nous allons :

Le déploiement se fait automatiquement à chaque mise à jour de la copie du repository sur gitlab. En attendant, il faut déployer à la main sur heroku

Fonctionnement de ce document

Ce document est une forme expérimentale de backlog, c'est ici que nous allons
écrire, décrire ce que le service fait ou va faire. Peut-être pourrait-on
l'appeler documentation vivante, mais n'ayant pas encore lu le livre de Cyrille
Martraire Living Documentation, je me garderais bien d'utiliser ce terme.

Les phrases gras qui commence par En attendant correspondent à des choses qui ont été faite rapidement dans l'application en attendant mieux.

Les phrases en italique qui commence par En option et qui utilise le conditionnel, correspondent à des choses qui pourrait être faite plus tard, afin d'améliorer l'utilisation du service.

Les phrases en italique qui finissent par un point d'interrogation sont des questions que nous n'avons pas encore résoluent

Comment gérer la priorisation avec ce document ? En attendant, traiter les -En attendant- dans l'ordre d'apparition