C3PA Explorer
In-browser explorer for the C3PA privacy-policy dataset
Episodes & demos
- S01E01 Playhttps://jpeckenpaugh.github.io/c3pa-explorer/ ► Watch (opens in a new tab)
About
C3PA Explorer is a proof-of-concept web app for exploring the C3PA Dataset (400 expert-annotated privacy policies, CCPA/CPRA) at both the source level (verbatim annotator spans) and the derived level (deterministically re-extracted text units). It ships two runtimes sharing one SPA and SQLite schema: a FastAPI edition with a Python backend over a normalized SQLite database, and a browser edition running entirely in-browser on sql.js (SQLite compiled to WebAssembly) against a prebuilt, signed snapshot. The derived layer is produced by backend/extract.py, a fully deterministic rule-based pipeline (no trained models) that drops chrome, extracts leaf text blocks, merges lead-ins with lists, splits sentences with abbreviation/URL/email guards, classifies units as sentence or typed fragment, and performs 3-tier annotation re-alignment. A dashboard shows corpus stats and label distributions; documents can be browsed and searched, document detail has Source/Sentences/Fragments tabs with clickable alignment provenance, and a unit explorer supports filtering and exporting timestamped ZIP archives with partition files and meta.json. The browser edition auto-loads a signed snapshot (verified against envelope and db hashes in builds.json) and runs queries in a Web Worker with no server or network calls after download; a nav modal can switch to a FastAPI backend. Snapshots can be rebuilt on Google Colab via the included notebook, and tests cover backend API, frontend units, and FastAPI/ sql.js parity.
Summary
A proof-of-concept web app for exploring the C3PA Dataset (400 expert-annotated CCPA/CPRA privacy policies) at both the source level (verbatim annotator spans) and the deterministically re-extracted derived level.
Tech
- JavaScript
- Python
- FastAPI
- sql.js
- WebAssembly
- Bootstrap 5
- SQLite
- Jupyter
Tags
- annotation
- dataset-explorer
- fastapi
- nlp
- privacy-policies
- sql.js