Regixo docs
Walkthrough · the engineer

Your first session

One sitting, start to finish: install Regixo, watch it map your data, fix a wrong flag and see it ripple into your compliance record, add a little context, then forward the draft. Follow along on your own machine — this is the whole free experience in about fifteen minutes.

What you need A terminal, Node 22.18+, and a reachable database (a DATABASE_URL is easiest). No Docker, no account. Screens below are static examples of what you'll see — not live widgets.
1
Run one command engineer
Ask for a data map, or type the command — either way Regixo finds your sources, asks two quick questions, and scans the structure: names and types, never the rows.
say

“Set Regixo up in this project — scan my sources and build the data map.”

Show the commandHide the commandShow the sentenceHide the sentence
run
$ npx regixo start
then

It finds your sources and scans them — names and types, never the rows. Regixo itself checks your Node version. The regulated-financial question is yours to declare: Regixo cannot infer it.

Check it worked: a dataset count and a personal-data count you recognise, plus a DRAFT record. Then read regixo statuscoverage line — it names any source that dropped out.

Show what it prints in the terminalHide the terminal outputShow what your agent reportsHide what your agent reports
what you'll see — terminal
  Regixo — maps your data, drafts your record.  Nothing leaves this machine.
▸ Detecting data sources…  ✓ Postgres  DATABASE_URL  reachable
  ? Connect & scan this source?                     [Y/n] y
  ? Is your organisation a regulated financial entity? [y/N] n
▸ scanning metadata…  63 tables · 55 with personal data
✓ your data map is ready           →  regixo open
✓ draft record generated           →  RoPA_DRAFT.html
A map of 63 datasets and a first GDPR record draft — both built for you, on your machine.
Next: open it in the browser.
2
Open the dashboard
Open the dashboard. Your browser lands on the free portal at localhost:4319 — no login. You land on the Overview.
say

“Open the Regixo dashboard in my browser.”

Show the commandHide the commandShow the sentenceHide the sentence
run
$ regixo open
what you'll see — the Overview's four stat tiles, and the compliance draft already started from the same map
Regixo data catalog · free & local

Your data map is ready.

§
A compliance draft is already started for you DRAFT

From this same map, Regixo also drafted a GDPR Article 30 record36 activities, with the legal calls left for a person. Finishing it is a legal job, not an engineering one — just know it’s ready to hand over.

Forward a copy. Your compliance team gets a link they can open — no account needed.

say

“Forward my Regixo draft record to our compliance team. Show me what would be uploaded before you send it.”

Show the commandHide the commandShow the sentenceHide the sentence
run
Stat tiles you can click to drill in, and the compliance draft Regixo started for you from the same map.
You do: click the 55 hold personal data → tile.
3
Skim the personal data
The tile drops you on the Map with the Personal data facet already ticked. The toolbar across the top counts what you are looking at — 55 of 63 datasets — and the rail below it holds your sources as collapsible folds (stripe ▸ 4 datasets · 35 personal, under this filter), with the facets above them — Source, Personal data, Art. 9, Art. 10, Undescribed — each carrying a live count, so you can see what a filter will catch before you tick it. Every flag shows the rule that matched. Open any dataset carrying a . The Map in full →
what you'll see — the Map filtered to personal data · the toolbar, the facets, and the stripe fold
Regixo data catalog · free & local

Data map

55 of 63 datasets · 170 personal-data columns

10 of 10 sources reached
55 of 63 datasets carry a , grouped under the source they came from. In the stripe fold, payment_method shows ● 10 — ten of its columns look like personal data. Open it.
Next: read its columns, and correct a flag Regixo got wrong.
4
Correct a wrong flag — and watch it ripple
Opening a dataset swaps the source cards for that dataset's detail: its description, its column table, and its lineage. Every column row carries a Correct control. Open it on the row you disagree with, set This column is to the right answer — Personal data · Special category · Art. 9 · Criminal offence · Art. 10 · Not personal data — and Save. It is a mechanical fix, never a legal judgement: it overrides Regixo's detection, survives every re-scan, and is logged in What changed. A column somebody has already corrected says so on its own row — corrected by you.
what you'll see — the Map, with a dataset open: the columns table on stripe/stripe/payment_method · the Correct control, open
Regixo data catalog · free & local

Data map

63 datasets · 170 personal-data columns

10 of 10 sources reached
Show
ColumnTypePersonal data
billing_address_countrystripe-field optional● Address by field name
Correct
A mechanical fix, never a legal judgement. It overrides Regixo’s detection, survives every re-scan, and is logged in What changed.
billing_address_line1stripe-field optional● Address by field name
Correct
A mechanical fix, never a legal judgement. It overrides Regixo’s detection, survives every re-scan, and is logged in What changed.
billing_namestripe-field optional● Personal data corrected by you
Correct
A mechanical fix, never a legal judgement. It overrides Regixo’s detection, survives every re-scan, and is logged in What changed.
idstripe-field optionalnot personal
Correct
A mechanical fix, never a legal judgement. It overrides Regixo’s detection, survives every re-scan, and is logged in What changed.
The map is the single source of truth, so the record is derived from it, never typed twice: the counts move with your call — one column marked Not personal data and the map's 170 personal-data columns reads 169 — and the RoPA activity's data categories update automatically, with no separate edit. An agent asking later gets the corrected answer too.
5
Add a one-line description
A dataset nobody has described yet says so plainly — Not described yet. You have two ways out of that, side by side in the description box: Write a description yourself, or press Draft one for me and Regixo composes one from the table and column names on this machine — no model, nothing sent anywhere. Tidy the wording and Save. A description you typed is yours and reads ✓ confirmed; a drafted one stays labelled suggested until a person accepts it.
what you'll see — the description box on an undescribed dataset (close-up)

Description

Not described yet — say what this dataset is for, in one line, so your team and any agent reading the catalog know what it is.

A description you type is yours. A drafted one is built from the table and column names on this machine — nothing leaves it.

say

“Draft a description for the dataset “bigquery/regixo_test/customers” in Regixo — mark it as your suggestion.”

Show the commandHide the commandShow the sentenceHide the sentence
run
The description shows on the dataset and — once confirmed — feeds your team and any connected AI agent. Do a few of your busiest tables.
Full detail: Enrich & share →
6
Assert a flow no scanner can see
Regixo traces lineage inside a warehouse automatically, but a flow that crosses systems — Stripe into your database — no scanner can see. It is yours to assert. Lineage draws as a vertical river: what flows in sits above the dataset, the dataset sits on the trunk, and what it feeds sits below, with an arrow on every edge. Each chip reads name · source — which is what stops customers · app-db and customers · mysql-db from being read as the same table. Under the river, Assert a flow: choose the direction (out of or into this dataset), name The other dataset, and press Assert. It records at dataset level only — Regixo never claims to know which column went where.
what you'll see — the lineage river on hubspot/script/contacts (close-up)

Where this data flows

Comes from2 direct

contacts· hubspotthis dataset

Feeds into2 direct

Arrows point the way data moves — down the page, into contacts and out of it. Flows inside your warehouse (including your dbt models) are found by the connector on each scan; flows between systems you assert yourself. Dataset-level only — Regixo never implies column-level flow. dashed = an endpoint Regixo hasn’t scanned; its caption says who claims the flow.

dataset-level Joins two datasets Regixo has scanned — the field suggests every scanned id. A typo fails by name, never a silent save.
The edge appears on the lineage graph tagged asserted by you, and it survives future re-scans.
7
See your own edits, logged
Open What changed (Catalog ▾ → What changed). Every edit you just made is recorded, dated — it's the start of your evidence trail.
what you'll see — the free portal · What changed
Regixo data catalog · free & local

What changed

4 changes recorded, newest first. None of them affect your GDPR record. Everything here is recorded automatically; you only act if you want to.

4 changes shown

4 days ago 7 Jul
You recorded a data flow involving customer.
mysql-db/shop/customers → stripe/stripe/customer
This says data moves between these datasets. It shows on the map and in the record.
15:14you
You recorded a data flow involving contacts.
mysql-db/shop/customers → hubspot/script/contacts
This says data moves between these datasets. It shows on the map and in the record.
15:14you
You recorded a data flow involving contacts.
app-db/app/customers → hubspot/script/contacts
This says data moves between these datasets. It shows on the map and in the record.
15:14you
Initial scan — the baseline.
23 datasets, 153 columns across 4 sources
Your starting point — every later change on this page is measured against this first scan.
14:22regixo start
A dated history you can hand an auditor later — and the same feed a scheduled re-scan appends to.
8
Forward the draft engineer → compliance
The legal calls aren’t yours — they’re your compliance team’s. Forward the draft: regixo invite. It shows exactly what will leave (metadata only), asks you to confirm, then writes a forwardable PDF and a claim link.
say

“Forward my Regixo draft record to our compliance team. Show me what would be uploaded before you send it.”

Show the commandHide the commandShow the sentenceHide the sentence
run
$ regixo invite
then

It previews what leaves the machine and waits for your yes — metadata only, never a row value.

Check it worked: a DRAFT PDF and a claim link that opens with no account. Your agent shows you the preview before sending; it never assumes consent.

Show what it prints in the terminalHide the terminal outputShow what your agent reportsHide what your agent reports
what you'll see — terminal
▸ what leaves: table & column names, types, owners  ✓
             your row values                        ✗ never
  ? Send this snapshot?  [y/N] y
✓ RoPA_DRAFT.pdf written — forward it to your compliance team
✓ claim link: https://app.regixo.com/claim/clm_7Q…
A PDF you can email and a link they open with no account — the hand-off is done. That's the finish line for the free portal.
What works today The forwardable RoPA_DRAFT.pdf and its claim link are written on your machine right now. The fully hosted portal at app.regixo.com is a launch gate, not yet switched on — so today the DRAFT PDF is what your compliance team opens.
You just did the whole free experience Installed, mapped, corrected a flag and watched it flow into the record, enriched the catalog, and forwarded a draft. What happens on the other end — your compliance team claiming, filling, and signing — is the next walkthrough.