By · Last updated 2026-05-29

Atpakaļ uz BloguTehniskā

GDPR drošs datu cauruļvads: anonimizēt pirms glabāšanas

dbt kolonnu atzīmes nav GDPR atbilstība. Neapstrādāti klientu dati nonāk jūsu Snowflake noliktavā nemazkoti, pirms stājas spēkā uz atzīmēm balstītas politikas.

May 29, 20268 min lasīšanai
data pipelinedbtSnowflakedata warehouseELT anonymizationGDPR engineering

GDPR drošs cauruļvads: anonimizēt PII pirms glabāšanas

Atjaunots 2026. gadam

Jūs atzīmējāt PII kolonnas dbt. Jūs iestatījāt dinamisko maskēšanu Snowflake. Jūs jūtaties GDPR atbilstoši.

Jūsu avota saturs joprojām nonāk noliktavā nemazkots. Maskēšana tiek veikta vaicājuma laikā. Nemazkots saturs atrodas jūsu neapstrādātajā shēmā. Ikviens ar neapstrādātās shēmas piekļuvi to var nolasīt. Jūsu dbt modeļi darbojās pirms maskēšanas politiku pastāvēšanas. Vecie ielādētie tabulas nekad nav tikušas maskētas.

Atšķirība starp "mums ir maskēšanas politikas" un "mūsu cauruļvads ir drošs" ir vieta, kur notiek GDPR pārkāpumi.

Skatiet mūsu atbilstības pārskatu, kā anonym.legal atbalsta GDPR.

Kā ELT cauruļvadi pakļauj PII

Extract-Load-Transform (ELT) modelis tagad ir norma. Tas vispirms ielādē avota datus noliktavā. Transformācijas nāk vēlāk. Soļi izskatās šādi:

  1. Extract: Avota sistēmas eksportē visus laukus. Salesforce CRM, Stripe maksājumi, Intercom atbalsts — viss iziet.
  2. Load: Avota dati nonāk noliktavas ievades shēmā. Snowflake, BigQuery, Redshift visi darbojas vienādi. Katrs PII lauks ir iekļauts.
  3. Transform: dbt modeļi tīra un apvieno datus analītikai.

Ievades slānī ir pilnīga personas informācija. Vārdi, e-pasta adreses, tālruņa numuri, maksājumu dati, atbalsta biļešu teksts. Daudzās komandās inženieriem un analītiķiem ir neapstrādātās shēmas piekļuve. Viņi var vaicāt šīs tabulas jebkurā laikā.

Uz atzīmēm balstīta maskēšana Snowflake palīdz vaicājuma laikā. Bet tikai pareizi iestatītiem pakārtotajiem modeļiem. Tā nemaskē vecās ielādētās tabulas. Tā nebloķē tiešus shēmu vaicājumus. Katram modelim un informācijas panelim jābūt atzīmētam. Šī slodze pieaug, pieaugot shēmai.

Anonimizēt pirms ielādes

PII anonimizācija cauruļvada līmenī novērš neapstrādātā slāņa risku. Dariet to, pirms saturs nonāk noliktavā.

ETL pieeja (anonimizācija pirms ielādes):

  1. Izvilkt no avota sistēmām
  2. Izvest caur anonimizācijas soli
  3. Ielādēt tīro izvadi noliktavā

Noliktava nekad nesaņem nemazkotu PII. Ievades shēmā ir tikai tīrs saturs. Pakārtotie modeļi, informācijas paneļi un tiešie vaicājumi visi strādā ar tīru izvadi.

Jums ir divi galvenie ceļi.

1. iespēja — API integrācija:

Sistēmām ar tīmekļa āķiem vai straumēšanas eksportiem, virziet ierakstus caur anonym.legal API vispirms. Atbalsta biļetes, kas atstāj Intercom, iet caur API pirms noliktavas. Stripe eksporti dara to pašu.

POST /api/anonymize
{
  "text": "Customer John Smith (john@example.com) reported...",
  "entities": ["PERSON", "EMAIL_ADDRESS", "PHONE_NUMBER"],
  "method": "replace"
}

2. iespēja — Partiju priekšapstrāde:

Ikdienas vai nedēļas CSV/JSON failu eksportiem, palaidiet failus caur partiju apstrādi pirms ielādes.

Airflow DAG struktūra:

extract_task >> anonymize_batch_task >> load_to_warehouse_task

Anonimizācijas uzdevums augšupielādē failus un saņem atpakaļ tīras versijas. Ielādes uzdevums apstrādā pārējo.

Skatiet mūsu drošības prakšu lapu apakšapstrādātāju un datu plūsmas detaļām.

Ko dbt kolonnu atzīmes dara un nevar

dbt ļauj atzīmēt PII kolonnas:

models:
  - name: stg_customers
    columns:
      - name: email
        tags: ['pii', 'email']
      - name: full_name
        tags: ['pii', 'personal_data']

Atzīmes ļauj:

  • Dokumentēt, kur atrodas PII
  • Aktivizēt pakārtotās maskēšanas politikas (prasa noliktavas līmeņa iestatīšanu)
  • Izsekot ciltsrakstu ar tādiem rīkiem kā Secoda

Atzīmes nevar:

  • Maskēt ielādētās tabulas neapstrādātajā shēmā
  • Bloķēt tiešus tabulu vaicājumus
  • Anonimizēt datus ielādes laikā
  • Retroaktīvi maskēt vecus datus

dbt kolonnu atzīmes ir pārvaldības rīks. Tās parāda, kur atrodas PII. Tās nepiemēro "atbilstošos tehniskos pasākumus", ko prasa GDPR 32. pants.

Snowflake maskēšanas nepilnība

Snowflake dinamiskā maskēšana slēpj kolonnu saturu no lietotājiem vaicājuma laikā. Tā ir spēcīga kontrole ražošanas izmantošanai. Bet tai ir skaidri ierobežojumi.

Galvenie ierobežojumi:

  • Katrai jaunai kolonnai vajadzīga skaidra politika
  • Shēmas izmaiņas var atstāt jaunas kolonnas nemazkotu līdz politiku atjaunošanai
  • SYSADMIN un ACCOUNTADMIN lomas var apiet maskēšanu
  • Importēšanas darbi bieži darbojas ar augstām privilēģijām, kas izlaiž maskēšanu
  • Vecie dati, kas ielādēti pirms politiku iestatīšanas, tiek glabāti atklātā veidā — politikas darbojas lasīšanas, ne rakstīšanas laikā

Maskēšana vaicājuma laikā nav pietiekama. Datiem jābūt tīriem pirms to glabāšanas.

Atbilstības dokumentācija

GDPR atbildīguma noteikums prasa pierādījumus. Vārdi nav pietiekami. Inženierkomandām tas nozīmē rakstiskus ierakstus.

Apstrādes darbību reģistrs (ROPA): Dokumentējiet, ka klientu informācija tiek anonimizēta pirms ielādes analītikas noliktavā. Anonimizācijas solis ir apstrādes darbība saskaņā ar GDPR.

Tehnisko aizsardzības pasākumu piezīmes: Pierakstiet, kurus entitātu tipus jūsu cauruļvads mērķē. Atzīmējiet izmantoto anonimizācijas metodi. Partiju palaišanas žurnāli to sniedz bez maksas.

Datu ciltsraksts: Secoda vai dbt iebūvētais ciltsraksts var parādīt, ka avota tabulas plūst caur anonimizācijas soli pirms analītikas modeļu sasniegšanas. Tas ir jūsu revīzijas pieraksts.

Piegādātāju reģistrs: Anonimizācijas pakalpojums ir apakšapstrādātājs. Viņu DPA un konfidencialitātes politika jāiekļauj jūsu piegādātāju reģistrā.

Ieviešanas soļi

Dbt un Snowflake cauruļvadam:

1. solis: Auditēt neapstrādāto slāni

Noskaidrojiet, kuras tabulas satur personas informāciju. Vaicājiet dbt kolonnu atzīmes vai katalogu PII atzīmētajām tabulām.

2. solis: Iestatīt anonimizācijas apjomu

Katrai avota tabulai izlemiet, kuras kolonnas satur PII. Tad izlemiet, kurām vajadzīga anonimizācija un kurām — pseidonimizācija. Atbalsta biļetes teksts: anonimizēt. Pasūtījuma ID: pseidonimizēt, lai saglabātu savienojumu atslēgas. Laika zīmogs: saglabāt tādu, kāds ir, laika rindu analīzei.

3. solis: Izvēlēties ieviešanas ceļu

Maza komanda ar partiju eksportiem: izmantojiet partiju failu apstrādi pirms ielādes. Pieejama inženieru komanda: veidojiet API integrāciju Airflow vai Prefect.

4. solis: Pārbaudīt un validēt

Palaidiet anonimizāciju uz parauga pirms dzīvā palaišanas. Pārbaudiet, vai dbt modeļi joprojām darbojas. Daži modeļi pievienojas uz e-pasta. Tiem vajadzīgas konsekventas aizstāšanas vērtības. Pseidonimizācija saglabā savienojumu atslēgas. Rediģēšana tās sabojā.

5. solis: Apstrādāt vecās neapstrādātās tabulas

Saturs, kas ielādēts pirms anonimizācija bija spēkā, prasa retroaktīvu apstrādi. Eksportēt, anonimizēt, atkārtoti ielādēt. Tas ir vienreizējs uzdevums katrai tabulai.

Secinājums

Uz atzīmēm balstīta maskēšana parāda, kur atrodas PII. Tā neattur lietotājus ar shēmu piekļuvi to lasīt. Reālai GDPR atbilstībai PII jābūt tīram pirms noliktavas sasniegšanas. Tas padara ievades slāni tikpat drošu kā ražošanas slāni.

Tas ir grūtāk nekā kolonnu atzīmēšana. Bet tā ir jēga "atbilstošajiem tehniskajiem pasākumiem".

Avoti

Vai esat gatavi aizsargāt savus datus?

Sāciet PII anonimizāciju ar 285+ entitāšu veidiem 48 valodās.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.