Three EU column presets added to tabular review (sub-processors, transfer mechanism, AI Act role)

counselos adds three column presets to `columnPresets.ts` that fire on EU/GDPR-flavored column headers and produce tightly constrained output: structured bullet lists for sub-processors, a closed enum for transfer mechanisms, and a defined actor taxonomy for AI Act roles. One file, 18 lines, no schema changes.

contract-reviewcompliance

The change is purely additive - three new entries prepended to the PROMPT_PRESETS array in frontend/src/app/components/tabular/columnPresets.ts. Each preset matches by column name regex and then constrains the LLM's answer format.

The sub-processor preset matches /\bsub[- ]?processors?\b/i and enforces a strict per-bullet format: name - service - country. If a DPA allows sub-processors without listing them, the prompt instructs the model to say so explicitly rather than leave the cell empty.

The transfer mechanism preset targets SCC/IDTA/international-transfer header names and pins the answer to a closed enum: "EU SCCs (module [N])", "UK IDTA", "UK Addendum to EU SCCs", "Adequacy decision ([country])", "BCRs", "Article 49 derogation ([type])", or "No transfer outside EEA/UK". If a module number is unspecified, the prompt says to note that rather than guess.

The AI Act role preset matches GPAI/provider-deployer header patterns and enumerates the six actor roles from Regulation 2024/1689, with appended " - GPAI" or " - systemic risk" suffixes where applicable.

The ColumnPreset interface used here has four fields: name, matches, format, and prompt. If your fork diverged from that shape, verify before lifting.

So what Worth a look if you're running DPA or AI-vendor addendum reviews and want downstream-parseable output rather than freeform text. The closed-enum prompt design is the right approach for any tabular column where you need to aggregate or filter results. Low adoption cost: one additive file change.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

1 commit from counselos/mike-inhouse, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
cb651b8d feat: add EU tabular presets (sub-processors, transfer mechanism, AI Act role) counselos 2026-05-04 ↗ GitHub

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-74.md from inside the repo you want the changes in.

⬇ Download capture-thread-74.md