# Howto

# Audit cookie

# Prérequis

- [Firefox](https://www.mozilla.org/fr/firefox/new/)
- [Cookie quick manager](https://addons.mozilla.org/fr/firefox/addon/cookie-quick-manager/)

- [Website Auditing Tool](https://code.europa.eu/edpb/website-auditing-tool/-/releases)
  - Disponible aussi sour Arch dans [AUR](https://aur.archlinux.org/packages/website-auditing-tool)
  - Disponible en [AppImage](http://imirhil.fr/website-audit-2.0.1.AppImage)
 
- Ne pas utiliser de DNS filtrant type AdGuard ou autre
  - Configurer Firefox et WAT en utilisant [les DNS de FDN](https://www.fdn.fr/actions/dns/) sinon

## Configuration Firefox
[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736093904976.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736093904976.png)

## Configuration WAT
[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736093748165.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736093748165.png)


# Auditer un site web

ℹ️ Dans la mesure du possible, utilisez le nom proposé pour chacune des captures (avec l'extension en fonction du format de la capture d'écran).

ℹ️ Si une des captures ne peut être faite, ne mettez rien à la place.

## Vérification de la conformité du bandeau cookie

Exemple pour https://www.lefigaro.fr/

- Via WAT, se rendre sur le site Internet
- Constater les cookies déposés par défaut
- Faire une capture d’écran des cookies déposés et la nommer `01_WAT_cookies-avant-consentement`

[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736094399139.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736094399139.png)

- Constater la présence d’un bandeau cookie illicite
  - Pas de bouton « Refuser »
  - Un lien « Continuer sans accepter » ou équivalent en haut
    - Bonus si pas en haut à droite
    - Bonus si en dehors du bandeau
  - Un bouton « Refuser » ou « Continuer sans accepter » mais pas/moins évident que le bouton « Accepter »
- Faire une copie d’écran du bandeau cookie et la nommer `02_WAT_bandeau-cookie`
  
[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736094032682.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736094032682.png)

- Constater la présence d’un bouton « Réglage » / « Configurer » ou équivalent
  - Bonus si lien dans le texte et pas de bouton
- Faire une capture d’écran de la fenêtre de réglage et la nommer `03_WAT_fenetre-de-reglage`

[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736094305833.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736094305833.png)

- Chercher la page de politique cookie
- Faire une capture d’écran et la nommer `04_WAT_politique-cookie`

[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736094324012.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736094324012.png)

## Vérification de l’efficacite de retrait du consentement

Exemple pour https://www.lefigaro.fr/

- Via Firefox, se rendre sur le site Internet
  - Il est préférable de créer un profil dédié, l’ensemble des cookies seront purgés (option `-P` de Firefox)
- Nettoyer les cookies du contexte avec Cookie Quick Manager

[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736094572804.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736094572804.png)

- Rafraîchir la page du site à auditer
- Afficher tous les cookies déposés dans Cookie Quick Manager
  - Vérifier que « Sous-domaine » est coché
  - Vérifier que « Actualisation automatique » est bien coché
  - Vérifier que « Chercher un nom de domaine » est bien vide

[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736094747897.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736094747897.png)

- Faire une capture d’écran, avec la fenêtre de consentement toujours ouverte et la nommer `05_FF_cookies-avant-consentement`

[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736677044316.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736677044316.png)

- Accepter les cookies
  - Attendre quelques secondes/minutes que tous les trackers soient bien chargés
- Faire une capture d’écran, avec la fenêtre de consentement fermée et la nommer `06_FF_cookies-apres-consentement`

[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736677150285.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736677150285.png)
- Trouver le lien de reconfiguration des cookies
- Faire une capture d’écran du lien trouvé et la nommer `07_FF_lien-reglage-cookie` (s'il faut suivre plusieurs liens de suite pour atteindre l'écran de reconfiguration, faites plusieurs captures nommées `07_FF_lien-reglage-cookie_1`, `07_FF_lien-reglage-cookie_2`, etc...)
  - Cherchez bien, c’est généralement impossible à trouver…

[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736095031006.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736095031006.png)

- Faire une capture d’écran de l’écran de reconfiguration `08_FF_ecran-reconfiguration`
  - Bonus si le refus n’est pas possible en un seul clic

[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736095144595.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736095144595.png)

- Reconfigurer le consentement en refusant les cookies
- Faire une capture d’écran des cookies toujours présents et la nommer `09_FF_cookie-apres-retrait-consentement`

[![](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/scaled-1680-/image-1736677321538.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2025-01/image-1736677321538.png)

# Process plainte CNIL

Dans une plainte CNIL, on ne cherche pas la responsabilité du responsable de traitement (RT) dans la violation mais dans l'insuffisante sécurisation du traitement des données à caractère personnel (DCP). 

## I. L’intérêt à agir :

Le plaignant peut-il déposer une plainte CNIL ?

- Soit la personne a reçu une notification de la violation. Dans ce cas, l’e-mail ou tout autre moyen de notification est joint à la plainte.
- Soit il faut montrer que la personne est dans le fichier qui a subi la violation : réception de mails avec une adresse unique, faisceaux d’indices : Phishing ciblé...
      
## II. Fondement de la plainte :

La plainte doit comporter les manquements à l’origine de la violation des DCP. 

Il est important de bien qualifier juridiquement la situation car la CNIL a tendance à écarter facilement les demandes.

⚠️ Attention ici la CNIL demande parfois de faire un recours au droit d’accès (art. 15 RGPD) et risque de se fonder uniquement sur l’article en question et non plus sur la violation.

### 1. DCP insuffisamment sécurisées.

Fondements juridiques : art 5(1)f, 25 et 32 du RGPD

Dans les faits, parfois, la notification de violation contient des indices de manquement, par exemple :

- Si la notification indique "un compte de notre prestataire" => absence d'authentification multi-facteurs et/ou de blocage d'un compte après X tentatives de connexion infructueuses (x <= 10, pour la CNIL).
- Si la fuite porte sur une grande volumétrie annoncée par le pirate auteur de la violation (38 millions de clients qui sortent par un seul compte de prestataire) c'est qu'il n'y a pas de limitation de la volumétrie de ce qui peut être exfiltré.
- Si il y a un délai de 1 mois entre la violation et la notification, il y a un manquement en ce qui concerne l’absence de détection active des intrusions.
- Si la notification indique : "suite à signalement externe", ça peut confirmer l’absence de détection des intrusions

À ce stade il faut chercher des indices.

### 2. Mentions manquantes à la notification de violation.

« La notification doit contenir une description de la nature de la violation de données, des conséquences probables de la violation de données à caractère personnel, ainsi que des mesures prises ou que le responsable du traitement propose de prendre pour remédier à la violation de données à caractère personnel, y compris, le cas échéant, les mesures pour en atténuer les éventuelles conséquences négatives. Par ailleurs, elle doit communiquer le nom et les coordonnées du délégué à la protection des données ou d'un autre point de contact auprès duquel des informations supplémentaires peuvent être obtenue.

Le considérant 86 du RGPD précise que cette communication doit formuler des recommandations à la personne physique concernée pour atténuer les effets négatifs potentiels puisque que son objectif est de permettre aux personnes concernées de prendre les précautions qui s'imposent. » 

Il s’agit d’extraits de la décision SAN-2026-001 de la CNIL, aussi disponible sur Légifrance (points 168 et suivants).

### 3. Durée de conservation des DCP non justifiée.

Les données personnelles ne peuvent être conservées indéfiniment : une durée de conservation doit être déterminée par le responsable de traitement en fonction de l’objectif ayant conduit à la collecte de ces données. Ce principe de conservation limitée des données personnelles est prévu par le RGPD et la loi Informatique et Libertés.

Plus d’info ici : Les durées de conservation des données

Il peut s’agir de la conservation des DCP au-delà du raisonnable (plus de 2ans) et en base active (= dans l'environnement de travail immédiat, par distinction avec une base d'archive intermédiaire.

Une telle conservation augmente mécaniquement la portée d'une violation, par définition même puisque des DCP qui n'auraient plus dû être là sont dérobées…

Dans la vrai vie : Pour détecter ça, soit se référer à l'annonce du pirate auteur de la violation, soit à la politique de confidentialité (ex. : les fédérations sportives ont la gentillesse d'écrire qu'elles conservent infiniment les DCP…) soit demander au mandant.

### 4. Manquements annexes.

Obligation de transparence : absence de mention de la durée de conservation des DCP dans la politique de confidentialité et qu'elle n'y figure pas (art 5(1a) + 12 à 14 du RGPD)

## III. Justificatifs à fournir :
      
- Justificatif d’identité : soit c'est un justificatif à usage unique France identité, soit vérifier que le document est filigrané ou caviardé au maximum,
- Mandat : vérifier l’identification du responsable de traitement puis signer (uniquement par un représentant légal de l’association PURR),
- Justificatif d'intérêt légitime :
  - Soit notification de violation : ⚠️ capture écran du courriel électronique contenant le courrier d'information concernant la violation de données mentionnées laissant apparaitre les coordonnées complètes du destinataire et de l'expéditeur (adresses électroniques dépliées) et la date précise des envois (JJ/MM/AA),
  - Soit la preuve de présence dans le fichier,
- Toute pièce utile, par exemple si l'on cite la politique de confidentialité dans le corps de la plainte, on la met en pièce jointe pour se couvrir d'un éventuel changement ultérieur

## IV. En pratique :

Vérifier qu’il s’agit bien d’une violation et pas d’autres problématiques (dans ce cas une action au cas par cas devra être envisagée).

Les différentes étapes :

#### 1. Réception des informations,

Mandat : https://agir.asso-purr.eu.org/

Echanges par messagerie chiffrée (cf. point 5 pour les modalités d’échanges)…

#### 2. Investigations,

Tout peut servir du moment que c’est légal.

#### 3. Rédaction de la plainte,

Voir si d’autres plaintes ont été déposées. Si c’est le cas indiquer le numéro de la première plainte déposée afin de réaliser une série.

La rédaction de la plainte est réalisée en descendant les guides ou recommandations ou lignes directrices de la CNIL ou du Comité européenne à la protection des DCP (CEPD).
Il est donc nécessaire soit connaître les références, soit d’aller chercher.

Il est recommandé d’utiliser des termes neutres afin de faciliter la réutilisation des plaintes voir de pouvoir les mettre à disposition en CC BY NC SA bureau@asso-purr.eu.org.

#### 4. Dépôt de la plainte,

##### 4.1 Aller chercher le mandat

https://sign.asso-purr.eu.org/signin (ou demander à Glucas, Aéris ou Ljahier)

Le signer soi-même soit avec le script ruby de aeris soit avec un outil comme okular

##### 4.2 Déposer la plainte 

L'association a un compte sur le téléservice de la CNIL en ce connectant ici https://demarche.services.cnil.fr/, il faut se connecter avec le compte de PURR puis aller ici : https://www.cnil.fr/webform/adresser-une-plainte

**Onglet 1 – Organisme concerné**

Aller chercher le numéro de SIRET ici : https://avis-situation-sirene.insee.fr

**Onglet 3 – Votre demande**

Si la plainte est un fichier joint (max 5Mo/ fichier), proposition de texte dans zone libre

> Madame, Monsieur,
> Vous trouverez en pièces jointes
> 1. la plainte relative à la fuite de données constatée par XXXX,
> 2. un fichier contenant les pièces jointes à la plainte.
> Je vous remercie par avance pour vos diligences.


**Onglet 4 – Vos informations**

Indiquer dans 

Vous souhaitez que la CNIL intervienne 
> pour une autre personne

Le représentant est
> une personne morale

Numéro de siren
> 924132145

Résultat des vérifications
> oui

Intervention 
> en tant que personne désignée par la personne concernée

Joindre le mandat.

La pièce d’identité n'est nécessaire uniquement dans certains cas : exercice des droits articles 15 à 22 du RGPD principalement.

**Onglet 5 - Informations sur la personne concernée**

info à donner : Prénom, nom et pays (FRANCE)
adresse mail à renseigner : procedures+cnil@asso-purr.eu.org

#### 5. Notification du plaignant.

On indique que la plainte a bien été envoyée au plaignant par l’e-mail donné lors de la signature du mandat.

##### 5.1 Option mail direct :

Mettre :
copie : procedures@asso-purr.eu.org
Réponse à : procedures@asso-purr.eu.org

Objet : Dépôt de plainte auprès de la CNIL

Proposition de mail :

```
Bonjour,

Dans le cadre de votre mandat en date du XXXXX, la plainte à l'encontre de XXXXXX a été déposée, ce jour, auprès de la CNIL.

Bien cordialement,

XXXXX
Volontaire auprès de la PURR
```

##### 5.2 Option passage par l’adresse « procédures »

Variante en passant par l’adresse procédures (attention il faut vérifier que votre adresse d’envoi est  enregistrée dans la liste : à vérifier auprès de @aeris).

Ecrire un mail en mettant l’adresse procedures@asso-purr.eu.org comme destinataire

Au début du mail mettre :

```
x-list-name: procedures@asso-purr.eu.org
x-resend: <destinataire>
```

puis mettre le corps du mail

#### 6. Suites

Attendre les retours de la CNIL :
- Compléter les plaintes en cas de demande complémentaire,
- Ajouter des éléments s'il y a de nouvelles données

# Formation restreinte CNIL

# Se rendre à la CNIL

3 place de Fontenoy 75007 Paris France https://www.openstreetmap.org/node/5299265721#map=19/48.850663/2.307883

Il y a une fouille à l’entrée (scan rayon X des bagages + portique de sécurité)  
Se présenter ensuite à l’accueil (à droite de l’entrée) pour obtenir un badge (prévoir une pièce d’identité)  
Le public attend ensuite au niveau du petit salon d’attente (à gauche de l’entrée)  
Un agent de la CNIL vient chercher le public quelques minutes avant l’audience

# Audience

Il est strictement interdit de procéder à toute forme de captation des débats.
Seule la prise de note écrite est autorisée.

L’audience se tient toujours selon la même forme, qui est d’ailleurs rappelé par le Président de séance

## Présentation du rapport par le Rapporteur

Le Rapporteur commence par rappeler les faits et présente les violations qu’il retient.

Point importants à noter :

- Dates principales (date des faits, du ou des contrôles, du dépôt du rapport…)
- Faits et qualification des faits (articles du RGPD/LCEN/ePrivacy enfreints…)
- Les volumes éventuels de données concernées (nombre de plaignants, de dossiers en infraction…)
- Le RT a-t-il commencé à se mettre ou s’est-il déjà mis en conformité

Il présente ensuite sa proposition de sanction.

Points importants à noter :

- Injonctions ou mise-en-demeure à se mettre en conformité et sur quels points
- Astreinte éventuelle
- Montant de l’amende et motivation associée
- Publicité ou non de la sanction et motivation associée

## Défense du Responsable de Traitement

La parole est ensuite donnée au Responsable de Traitement (généralement avocat, DPO, RSSI et PDG)

Points importants à noter :
- La position affichée par le RT (reconnaît les faits, les minise, les conteste)
- Les explications fournies sur le contexte ou explication des violations
- Sa position vis-à-vis de la sanction (publicité, montant…)

## Questions de la Formation Restreinte

Les membres de la Formation Restreinte sont ensuite amenées à interroger autant le Rapporteur que le RT

Points importants à noter :

- Les questions et les réponses

### Parole en dernier du RT

La parole est laissée une dernière fois au RT qui doit l’avoir en dernier

Points importants à noter :

- Les questions et les réponses

# Accéder aux dossiers de plainte

# 1. Créer un compte

Aller sur https://agir.asso-purr.eu.org/

Aller dans connexion et suivre les étapes :

[![Cliquer sur connection puis sur "pas encore de compte?" puis renseigner un mail et un mot de passe puis sur "s'inscrire"](https://wiki.asso-purr.eu.org/uploads/images/gallery/2026-08/scaled-1680-/capture-decran-20260820-130727.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2026-08/capture-decran-20260820-130727.png)

Lorsque vous avez créé votre compte, activez la double authentification en utilisant une application mobile telle que FreeOTP ou Aegis Authenticator.

[![aller dans paramètres puis double authentification](https://wiki.asso-purr.eu.org/uploads/images/gallery/2026-08/scaled-1680-/capture-decran-20260820-131248.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2026-08/capture-decran-20260820-131248.png)

Enregistrer de manière chiffrée les clés de secours.

Puis demander @aeris de passer admin, il va attribuer le pseudo que vous avez sur mattermost.
(**Vérifier que c’est bien fait sinon en fin de course ça ne fonctionne pas**)

# 2. Obtenir un certificat pour pouvoir vous connecter au site

## 2.1 Sous Linux

Ouvrir un terminal dans le dossier dans lequel vous voulez enregistrer votre clé pour ça faire alt+maj+f4 dans le dossier ouvert ou clique droit et cherchez la ligne qui va bien 

Remplacez `<pseudo>` par le pseudo que vous avez sur mattermost dans les prochaines commandes :
```
openssl req -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -subj "/CN=<pseudo>" -keyout <pseudo>.key -out <pseudo>.csr
```

Modifier, copier et coller la commande dans le terminal et l’exécuter.

Va apparaître : « Enter PEM pass phrase » il s'agit du mot de passe avec lequel sera protégée la clé privée. Il faudra donc s'en souvenir => enregistrement dans keepass par exemple.

puis 

« Verifying - Enter PEM pass phrase » : retaper le mot de passe, pour confirmation.

Elle va afficher « ----- » (inutile de vérifier le nombre de tirets :D).

Elle va créer deux fichiers dans le dossier indiqué avant commande (si vous ouvrez votre terminal depuis votre librairie d’applications et que vous n’ajoutez rien ils seront dans votre home) :

- `<pseudo>.key` : il s'agit de la clé privée. Il ne faut jamais la donner à personne sous aucun prétexte.
- `<pseudo>.csr` : il s'agit de la demande pour rejoindre la pki.

Il faut la transmettre à Aeris (sur le mattermost ou en privé, peu importe, c'est un document public).
Aeris va vous retourner votre certificat (-----BEGIN CERTIFICATE----- -----END CERTIFICATE-----).

TOUT copier-coller (y compris les lignes BEGIN et END) dans un éditeur de texte normal (pas un truc avancé comme writer, mais un truc normal comme gedit, pluma, nano, etc.).

Enregistrer ce fichier dans le même dossier que `<pseudo>.key`, et le nommer `<pseudo>.crt`.

Ouvrir un terminal dans le dossier où se trouvent tous les fichiers créés

La commande :
```
openssl pkcs12 -export -inkey <pseudo>.key -in <pseudo>.crt -name <pseudo> -out <pseudo>.pfx
```

Elle va demander : 
« Enter pass phrase for agir.asso-purr.eu.org.key:
Enter Export Password:
Verifying - Enter Export Password: »

Le premier, c'est le mot de passe de la clé privée, défini plus haut.

Les deux autres, le mot de passe qui protégera la clé privée dans la valise dont vous demandez la création. Il est recommandé de mettre le même puisque ça protège la même info.

Elle doit rien afficher de plus, et elle a créé un fichier agir.asso-purr.eu.org.pfx.

## 2.2 Sous Windows

A faire

## 2.3 Sous Mac

A faire

# 3. Ajouter votre certificat à votre navigateur

Aller dans les paramètre du navigateur (firefox ou dérivé)

Puis dans vie privée et sécurité

Puis descendre à "Sécurité" 
Puis dans "Certificat" sélectionner "Afficher les certificats".
Une fenêtre "Gestionnare de certificats" va s'ouvrir rendez-vous dans l'onglet "Vos certificats" cliquez sur "importer" allez chercher le fichier `<pseudo>.pfx`.

Quand c’est fait une ligne est ajoutée, vous pouvez mettre ok et aller sur https://agir.priv.asso-purr.eu.org/login

Accepter l’utilisation du certificat

Rentrer login et mdp puis clé double authentification

Et normalement ça fonctionne ! sinon c'est que Aéris ne vous a pas passé admin :D

# Déchiffrer les documents des plaintes

Installer le logiciel de chiffrement/déchiffrement : AGE

[![age.png](https://wiki.asso-purr.eu.org/uploads/images/gallery/2026-08/scaled-1680-/age.png)](https://wiki.asso-purr.eu.org/uploads/images/gallery/2026-08/age.png)

soit par la logithèque soit par la commande : 
```bash
sudo dnf install age
```
vérifier que l’installation a fonctionné en tapant :

```bash
age -h
```
si ça finit par des exemples c’est cool, si ça vous donne l’age du capitaine c’est que c’est pas le bon programme

```bash
age --decrypt -i agir_common.privkey <MET_ICI_LE_NOM_DUN_FICHIER>.age > fichier_en_clair.pdf
```