Regixo docs
For the compliance team·Only if you process for clients·see the whole journey ↗

The processor record — Article 30(2)

If your company handles personal data on a client’s behalf, GDPR asks you for a second, separate record — not a section of your own.

Article 30(2) shapes it differently on purpose: it is organised per client, and it has no purpose, no lawful basis, no retention and no data-subject categories. Those calls belong to your client, not to you.

Regixo drafts it from two things you declare, and marks the rest as yours.

Land here from: Understand the record (your own Article 30(1) record). You need this page only if you act as a processor for someone else — a SaaS company hosting customer data, an agency running a client’s systems, a payroll bureau.

Optional · EU compliance module You need this only if your company must keep a GDPR Article 30 record — it is an optional module on top of the free data catalog. If that is not you, you can skip this section.

1 · Do you need this record at all?

One question decides it: for the data in this system, who decides why it is used?

If…You are the…The record you keep
Your company decides why and how the data is used — your own users, staff, customers.ControllerYour Article 30(1) record. This is the default.
A client decides why and how, and you only act on their instructions — you host it, run it, or process it for them.ProcessorAn Article 30(2) record, as well — this page.
Both, in different systems — your own product and work you do for clients.BothBoth records. Regixo keeps them separate, as the law does.

Being a processor is a fact about a relationship, not something a scanner can detect. Regixo never guesses it — you declare it, and the next two steps are that declaration.

2 · Declare how your company acts

The goal: Regixo drafts the Article 30(2) record only once you say you act as a processor. Until then nothing changes, and existing setups are untouched — the default is controller.

You edit regixo.yml yourself — it is a declaration about your company. Your agent can do the re-draft afterwards.

say

“Rebuild my Regixo draft paperwork from the current map.”

Show the commandHide the commandShow the sentenceHide the sentence
run
$ # set it in regixo.yml, then re-draft
$ regixo report      # re-draft only · regixo start also re-scans
regixo.yml — the one line that turns it on
actsAs: both        # controller (default) · processor · both

How to check it worked: restart the portal, then open the Compliance ▾ menu — it gains a Processor record entry, “Art. 30(2) — processing you run for clients”. The portal reads actsAs at start-up, so one that was already running will not show it until it restarts.

Open it before you have declared any client and the page says so itself: “No sources are declared role: processor with a processorFor client yet — declare them in regixo.yml and re-run regixo start.” That is step 3.

3 · Say whose data each source holds

The goal: the record is organised per client, so every processor-role source has to name the client whose data it holds. Two per-source declarations do it.

regixo.yml — per source
  - id: client-warehouse
    kind: sql
    driver: snowflake
    connectionRef: SNOWFLAKE_URL
    region: eu-west-1
    role: processor                    # this system holds someone else's data
    processorFor: "Northwind Retail Oy" # whose

A source declared role: processor with no processorFor is not guessed onto a client and not dropped — it lands in an unassigned bucket as an open call, so you see it and fix it. The record says so in its own words:

the unassigned note, verbatim from the record
These sources are declared processor-role but name no controller — add
`processorFor: "<client>"` to each in regixo.yml so its processing lands on
that client's section.

4 · What the record contains — and what it deliberately omits

An Article 30(2) record is not a copy of your own record with the names changed. It carries these, per client:

FieldWhere it comes fromArticle
Controller — the clientYour processorFor declaration.30(2)(a)
Controller contactneeds you — Regixo has no way to know it.30(2)(a)
Categories of processingsuggested from the kinds of personal data the mapped sources hold — yours to confirm or rewrite.30(2)(b)
Transfers outside the EUsuggested — detected from the hosting region of that client’s sources, with the country as a value.30(2)(c)
Transfer safeguardneeds you when a transfer is detected — the Chapter V ground.30(2)(c)
Security measuresneeds you — “where possible” in the law, and an honest blank here until you describe them.30(2)(d)
Personal data seenfound — mechanical evidence from the scan. Supplementary, not a statutory Article 30(2) item.
What is deliberately absent, and why

There is no purpose, no lawful basis, no retention period and no categories of data subject on this record.

That is not a gap Regixo will fill later — those are the controller’s calls under Article 30(1), and they belong on your client’s own record. Offering you fields for them would invite you to make decisions that are not yours to make.

If you need them for a system, that system is one where you are the controller, and it belongs on your own record instead.

what you’ll see — the Processor record: the letterhead, and one client section (a static picture, not a live app). The client sections render flat rather than as cards — the page does not yet carry the styling the record and DORA pages do.

GDPR · ART. 30(2) · RECORD OF PROCESSING CARRIED OUT ON BEHALF OF CONTROLLERS

Processor record DRAFT

The record you keep for the processing you run for clients — organised per controller, as the law shapes it. It deliberately has no purpose, lawful basis or retention: those calls belong to each client’s own record.

1 controller · 3 fields need you — fill one: regixo annotate set "processor:Northwind Retail Oy" <field> "<value>"

1. On behalf of Northwind Retail Oy

ControllerNorthwind Retail Oy
Controller contactAdd Northwind Retail Oy’s contact details (Art. 30(2)(a)) needs you
regixo annotate set "processor:Northwind Retail Oy" controllerContact "…"
Categories of processingHosting, storage and processing of Email, Name, Phone data on Northwind Retail Oy’s behalf suggested
Personal data seenEmail, Name, Phone found
Transfers outside the EUYes — Stripe is hosted in US (us-east-1) suggested
Transfer safeguardPick the Chapter V ground that covers this transfer — an adequacy decision (Art. 45), an Art. 46 safeguard such as the Commission’s standard contractual clauses, or an Art. 49 derogation. See: regixo annotate grounds needs you
regixo annotate set "processor:Northwind Retail Oy" transferSafeguard "…"
Security measuresDescribe the technical and organisational security measures for this processing (Art. 30(2)(d)) needs you
regixo annotate set "processor:Northwind Retail Oy" securityMeasures "…"

Sources: client-warehouse, stripe · 14 datasets

5 · Answer your part

The goal: close the open calls. They are addressed by client, using the key processor:<client> — the client’s declared name, so the key survives every re-scan.

run
$ regixo annotate list
$ regixo annotate set "processor:Northwind Retail Oy" securityMeasures "…"

This one’s yours. These are statutory answers about your own organisation — a person writes them, never an agent.

The five fields you can fill on a client section are controllerContact · processingCategories · transfersOutsideEU · transferSafeguard · securityMeasures. Ask for purpose, lawfulBasis or retention here and Regixo refuses by name — they are not fields on this record.

--confirm records an answer as a named person’s act, and --why records the reasoning behind it. Both work exactly as they do on your own record — same rules, same attribution, same store. See Fill the RoPA for how confirming works.

Where the answers live Processor answers ride the same rows as your Article 30(1) answers, addressed processor:<client>. So they travel in regixo catalog export, survive re-scans, and are attributed to whoever confirmed them — there is no second place to look.

6 · What is not built

Stated plainly

Sealing the processor record is not built. The draft is complete and useful on its own — it is a real Article 30(2) record you can read, fill and hand over — but there is no signed, OFFICIAL version of this record the way there is for your Article 30(1) record. Unlocking and signing covers the controller record and the DORA register today.

The client’s representative slot is not modelled. Article 30(2)(a) also asks, where applicable, for the client’s representative. The client’s name and contact are here; the representative is not, and the record does not pretend otherwise.

How you know the record is finished