anonym.legal

By · Last updated 2026-05-29

Povratak na blogTehnička

GDPR bezbedan cevovod: Anonimizirajte pre skladistenja

dbt oznake kolona nisu GDPR komplijans. Neobradjeni podaci o kupcima stizu u vas Snowflake magacin bez maski pre nego sto se primene politike zasnovane na oznakama.

May 29, 20268 min čitanja
data pipelinedbtSnowflakedata warehouseELT anonymizationGDPR engineering

GDPR bezbedan cevovod: Anonimizirajte PII pre skladistenja

Azurirano za 2026. godinu

Oznacili ste PII kolone u dbt-u. Podesili ste dinamicko maskiranje u Snowflake-u. Osecate se GDPR-kompatibilno.

Vas izvorni sadrzaj i dalje dolazi u magacin bez maski. Maskiranje se vrsi u vreme upita. Nemaskirani sadrzaj sedi u vasoj sirovoj semi. Svako ko ima pristup sirovoj semi moze ga procitati. Vasi dbt modeli su pokrenuti pre nego sto su politike maskiranja postojale. Stare ucitane tabele nikada nisu bile maskirane.

Jaz izmedju "imamo politike maskiranja" i "nas cevovod je bezbedan" je tamo gde se desavaju GDPR povrede.

Pogledajte nas pregled komplijansa za nacin na koji anonym.legal podrzava GDPR.

Kako ELT cevovodi izlazu PII

Obrazac Extract-Load-Transform (ELT) je sada norma. On najpre ucitava izvorne podatke u magacin. Transformacije dolaze kasnije. Koraci izgledaju ovako:

  1. Ekstrakcija: Izvorni sistemi izvozaju sva polja. Salesforce CRM, Stripe placanja, Intercom podrska - sve izlazi.
  2. Ucitavanje: Izvorni podaci dolaze u semi za ingestiju magacina. Snowflake, BigQuery, Redshift rade na isti nacin. Svako PII polje je ukljuceno.
  3. Transformacija: dbt modeli ciste i spajaju podatke za analitiku.

Sloj ingestije drzi pune licne informacije. Imena, adrese elektronske poste, brojevi telefona, detalji placanja, tekst tiketa za podrsku. U mnogim timovima, inzenjeri i analitikari imaju pristup sirovoj semi. Mogu da upitaju ove tabele u bilo kom trenutku.

Maskiranje zasnovano na oznakama u Snowflake-u pomaze u vreme upita. Ali samo za pravilno podesene downstream modele. Ne maskira stare ucitane tabele. Ne blokira direktne upite seme. Svaki model i kontrolna tabla moraju biti oznaceni. To opterecenje raste kako sema raste.

Anonimizirajte pre ucitavanja

Anonimizacija PII-a na nivou cevovoda uklanja rizik sirovog sloja. Uradite to pre nego sto sadrzaj stigne u magacin.

ETL pristup (anonimizacija pre ucitavanja):

  1. Ekstrakcija iz izvornih sistema
  2. Prolaz kroz korak anonimizacije
  3. Ucitavanje cistog izlaza u magacin

Magacin nikad ne prima nemaskirani PII. Semi za ingestiju drze samo cist sadrzaj. Downstream modeli, kontrolne table i direktni upiti svi rade sa cistim izlazom.

Imate dva glavna puta.

Opcija 1 - API integracija:

Za sisteme sa webhook-ovima ili strimovanjem izvoza, preusmjerite unose kroz anonym.legal API najpre. Tiketi za podrsku koji napustaju Intercom prolaze kroz API pre magacina. Stripe izvozi rade isto.

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

Opcija 2 - Grupno predobrada:

Za dnevne ili nedeljne izvoznike CSV/JSON fajlova, pokrenite fajlove kroz grupnu obradu pre ucitavanja.

Struktura Airflow DAG-a:

extract_task >> anonymize_batch_task >> load_to_warehouse_task

Zadatak anonimizacije otprema fajlove i vraca ciste verzije. Zadatak ucitavanja obraduje ostatak.

Pogledajte nasu stranicu bezbednosnih praksi za detalje o podobradi i tokovima podataka.

Sta dbt oznake kolona rade i ne rade

dbt vam omogucava da oznacite PII kolone:

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

Oznake vam omogucavaju da:

  • Dokumentujete gde PII zivi
  • Pokrenete downstream politike maskiranja (zahteva podesavanje na nivou magacina)
  • Pratite poreklo sa alatima kao sto je Secoda

Oznake ne:

  • Maskiraju ucitane tabele u sirovoj semi
  • Blokiraju direktne upite tabela
  • Anonimizuju podatke u vreme ucitavanja
  • Retroaktivno maskiraju stare podatke

dbt oznake kolona su alat za upravljanje. Pokazuju vam gde se PII nalazi. Ne primenjuju "odgovarajuce tehnicke mere" koje zahteva GDPR clan 32.

Praznina maskiranja u Snowflake-u

Snoflake-ovo dinamicko maskiranje skriva sadrzaj kolone od korisnika u vreme upita. To je jaka kontrola za produkcijsku upotrebu. Ali ima jasna ogranicenja.

Kljucna ogranicenja:

  • Svaka nova kolona zahteva eksplicitnu politiku
  • Promene seme mogu ostaviti nove kolone nemaskirane dok ne azurirate politike
  • SYSADMIN i ACCOUNTADMIN uloge mogu zaobici maskiranje
  • Uvozni poslovi cesto se pokrecu sa visokim privilegijama koje preskacu maskiranje
  • Stari podaci ucitani pre nego sto su politike postavljene cuvaju se u jasnom obliku - politike se pokrecu u vreme citanja, ne pisanja

Maskiranje u vreme upita nije dovoljno. Podaci moraju biti cisti pre nego sto se cuvaju.

Dokumentacija komplijansa

GDPR pravilo o odgovornosti zahteva dokaz. Reci nisu dovoljne. Za inzenjjerske timove to znaci pisane zapise.

Evidencija aktivnosti obrade (ROPA): Dokumentujte da se informacije o kupcima anonimizuju pre ucitavanja u analiticki magacin. Korak anonimizacije je aktivnost obrade prema GDPR-u.

Beleske tehnickih zastita: Zapisite koje tipove entiteta vas cevovod cilja. Zabelesite koriscenu metodu anonimizacije. Dnevnici grupnih operacija vam to daju besplatno.

Poreklo podataka: Secoda ili ugradjeno pracenje porekla dbt-a mogu pokazati da izvorni tabele prolaze kroz korak anonimizacije pre dosezanja analiticknih modela. Ovo je vas revizijski trag.

Registar dobavljaca: Usluga anonimizacije je sub-obradilac. Njihov DPA i politika privatnosti moraju biti u vasem registru dobavljaca.

Koraci implementacije

Za cevovod sa dbt i Snowflake:

Korak 1: Revidirajte vas sirovi sloj

Pronadjite koje tabele drze licne informacije. Upitajte vase dbt oznake kolona ili vas katalog za PII-oznacene tabele.

Korak 2: Postavite opseg anonimizacije

Za svaku izvornu tabelu, odlucite koje kolone drze PII. Zatim odlucite koje zahtevaju anonimizaciju, a koje pseudonimizaciju. Telo tiketa za podrsku: anonimizirajte. ID narudzbine: pseudonimizirajte da biste sacuvali kljuceve spajanja. Vremenski pecat: zadrzite kakav jeste za analizu vremenskih serija.

Korak 3: Odaberite put implementacije

Mali tim sa grupnim izvozima: koristite grupnu obradu fajlova pre ucitavanja. Inzenjerski tim je dostupan: izgradjujte API integraciju u Airflow-u ili Prefect-u.

Korak 4: Testirajte i validirajte

Pokrenite anonimizaciju na uzorku pre pokretanja uzivo. Proverite da li dbt modeli i dalje rade. Neki modeli se spajaju na email. Ovi zahtevaju dosledne vrednosti zamene. Pseudonimizacija cuva kljuceve spajanja. Redakcija ih prekida.

Korak 5: Obradite stare sirove tabele

Sadrzaj ucitan pre nego sto je anonimizacija bila na mestu zahteva retroaktivnu obradu. Izvezite, anonimizirajte, ponovo ucitajte. Ovo je jednokratni zadatak po tabeli.

Zakljucak

Maskiranje zasnovano na oznakama pokazuje vam gde PII zivi. Ne sprecava korisnike sa pristupom semi da ga citaju. Za pravi GDPR komplijans, PII mora biti cist pre nego sto stigne do magacina. To cini sloj ingestije isto toliko bezbednim kao produkcijski sloj.

Ovo je teze od oznacavanja kolona. Ali to je ono sto "odgovarajuce tehnicke mere" stvarno znaci.

Izvori

Spremni da zaštitite svoje podatke?

Počnite sa anonimizacijom PII sa 285+ tipova entiteta na 48 jezika.

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.