Skip to content
Back to skills

Cnil Scanner Thewatcher01

ASecurity

Check if a company has declared a DPO (Data Protection Officer) to the CNIL. Use when the user asks about RGPD compliance status of a company, or to identify prospects without a DPO. Companies without a DPO are hot RGPD consulting prospects.

  • 123 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 10, 2026
ai-agentspythongobashgitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned November 10, 2026

npx -y skills add ThomasMoreAI/legal-skills-open --skill cnil-scanner-thewatcher01 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cnil Scanner Thewatcher01?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cnil Scanner Thewatcher01
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thomasmoreai-cnil-scanner-thewatcher01/badge)](https://www.skillsdirectory.com/skills/thomasmoreai-cnil-scanner-thewatcher01)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cnil-scanner-thewatcher01
title: cnil-scanner
description: Check if a company has declared a DPO (Data Protection Officer) to the CNIL. Use when the user asks about RGPD compliance status of a company, or to identify prospects without a DPO. Companies without a DPO are hot RGPD consulting prospects.
author: TheWatcher01
author_url: https://github.com/TheWatcher01/skills/tree/main/.claude/skills/cnil-scanner
license: MIT
version: 0.1.0
execution_mode: open
jurisdiction: fr
practice: data-protection
language: en
---

# cnil-scanner

Check DPO (Data Protection Officer) declarations in the CNIL open data registry.

## Triggers

- `/cnil 424761419`
- `/cnil OVH`
- "cette entreprise a-t-elle un DPO?"
- "qui n'a pas de DPO dans le 31?"
- "verifier la conformite RGPD de X"

## How it works

Queries the CNIL DPO declaration dataset published on data.gouv.fr via the tabular API. No authentication required.

API endpoint: `https://tabular-api.data.gouv.fr/api/resources/0651b990-9d0f-404e-8aee-9f3a7755eedb/data/`

## Critical use case

**Companies WITHOUT a declared DPO are hot RGPD consulting prospects.** Any company processing personal data at scale is legally required to have a DPO (RGPD Art. 37). This skill identifies non-compliant companies for targeted prospecting.

## Usage

```bash
python3 {baseDir}/scripts/cnil.py --query "424761419" --format json
python3 {baseDir}/scripts/cnil.py --query "OVH" --format text
python3 {baseDir}/scripts/cnil.py --query "424761419" --format json
```

## Arguments

| Argument       | Required | Default | Description                                  |
|----------------|----------|---------|----------------------------------------------|
| `--query`      | yes      |         | SIREN number (9 digits) or company name       |
| `--department`  | no       |         | Filter by department code (postal code prefix) |
| `--format`     | no       | json    | Output format: `json` or `text`               |

## Output fields

- `has_dpo` — boolean, whether a DPO declaration was found
- `organism_name` — name of the declaring organization
- `siren` — SIREN number
- `dpo_name` — DPO name (if publicly available)
- `declaration_date` — date of DPO declaration
- `postal_code` — postal code of the organization
- `prospect_signal` — "HOT" if no DPO found, "COLD" if DPO declared

## RGPD compliance note

This skill only uses publicly available open data from the CNIL registry. No personal data is collected or stored. DPO declarations are public by design (RGPD Art. 37(7)).

Files in this skill

  • LICENSE1 KB
  • SKILL.md2.5 KB
  • scripts/cnil.py8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.