Données
Le Registre publie des exports lisibles par machine en parallèle de l'interface humaine. Tout ici est dérivé des tables publiques anonymisées (pub_incidents, pub_agency_scorecards, purge_events) — jamais de noms bruts, jamais de files de révision internes. Tous les champs sont documentés dans le JSON Schema ci-dessous.
Archive JSONL quotidienne
Chaque ligne publiée via le pipeline d'anonymisation SPEC §9 est exportée en JSON ligne-par-ligne une fois par jour à 08 h 30 UTC et poussée dans un dépôt git public. Les forks de l'historique complet sont encouragés.
Dépôt : https://github.com/policedata/archive
| Fichier | Contenu des lignes |
|---|---|
pub_incidents.jsonl | Un incident disciplinaire anonymisé par ligne. L'identité de l'agent est un jeton HMAC-SHA256 stable pendant la durée d'un sel ; les dates sont à précision trimestrielle. |
pub_agency_scorecards.jsonl | Note de transparence par corps (A–F) plus taux de constat, taux d'ordonnances de non-publication et nombre de suppressions. Calculé quotidiennement. |
purge_events.jsonl | Retraits/redirections/suppressions de contenu confirmés détectés sur les sources des organismes de surveillance. Chaque ligne pointe vers le corps et la copie archivée si disponible. |
manifest.json | Métadonnées d'export : horodatage, nombre de lignes par fichier, version du format. Les consommateurs devraient vérifier les nombres de lignes pour détecter les écritures partielles avant importation. |
Schémas
Des schémas lisibles par machine à octets stables accompagnent chaque export. Les consommateurs valident contre ceux-ci avant importation.
| Fichier | Description |
|---|---|
schema.json | JSON Schema draft 2020-12. $defs par table ; additionalProperties: false partout pour que les colonnes inconnues échouent à la validation. Incorpore les règles SPEC §9.2 en patterns : la regex incident_quarter rejette les dates exactes, k_anon_cohort a un minimum de 5. |
schema.jsonld | @context JSON-LD associant les noms de champs à schema.org et au vocabulaire du projet. Les consommateurs du web sémantique peuvent traiter les lignes JSONL comme des données liées en appliquant ce contexte. |
À venir
- Instantané Parquet hebdomadaire dans un dépôt MinIO public — ingestion plus rapide pour pandas / polars / DuckDB que JSONL. Mêmes lignes, format filaire différent.
- URLs de redirection stables pour les suppressions individuelles afin que les lecteurs de fil puissent pointer profond. Actuellement les valeurs <guid> RSS sont en forme URN uniquement.
Fédération
Les projets sœurs de responsabilité sont bienvenus à forker ou miroir l'archive. Les schémas sont conçus pour interopérer — les IDs de corps utilisent des slugs stables, les jetons d'agents utilisent un algorithme HMAC publié et les types d'incidents suivent un vocabulaire contrôlé documenté. Si vous construisez quelque chose qui devrait tirer du Registre, la rédaction accueille les contacts via le formulaire de contact.
Projets aval connus : Tracking (In)justice, CBC Deadly Force, Big Local News.
Licence et attribution
Le contenu de l'archive est publié sous Creative Commons BY 4.0. Attribution : « policedata.ca / Le Registre » avec un lien vers cette page. Chaque ligne porte un source_capture_id qui remonte au document original archivé via Wayback — vérifier contre cette source avant republication.
L'API en direct
Aucune API JSON n'existe encore — l'export en vrac est l'interface prise en charge. Une couche REST légère pourrait arriver plus tard pour des consultations à faible latence, mais la cadence de publication est délibérément décalée (SPEC §9.2 pose un minimum de 60 jours entre disposition et publication), alors le temps réel n'est pas un objectif.