By · Last updated 2026-06-05

Povratak na BlogSigurnost AI-a

AI pomocnici za kodiranje propustaju produkcijske osobne podatke

Testne datoteke s fiksturama od stvarnih korisnika. Datoteke zapisa s produkcijskim podacima za otklanjanje gresaka. GitHub je pronasao 39 milijuna procurjelih tajni u 2024.

June 5, 20268 min čitanja
AI coding assistantproduction PIIdeveloper securityMCP ServerGitHub Copilot

Zasto AI alati za kodiranje propustaju stvarne korisnicke zapise

Vecina curenja osobnih podataka iz razvojnih timova nisu povrede. Nuspojave su svakodnevnog rada.

Produkcijski podaci ulaze u testna okruzenja. Odatle dolaze do AI alata za kodiranje — i do prodavatelja koji ih pogone.

GitHubovo istrazivanje iz 2025. potvrdilo je ovo. Programeri su procurili 39 milijuna tajni u javnim repozitorijima tijekom 2024. API kljucevi i osobni podaci su se pojavili. Vecina je dosla iz testnih fikstura i zapisa za otklanjanje gresaka. Pogledajte nas pregled sigurnosnih zastita kako bi saznali kako timovi rjesavaju ovaj rizik.

Azurirano za 2026.: Usvajanje AI alata za kodiranje brzo je raslo. Isto tako i povrsina izlozenosti.

Kako stvarni zapisi ulaze u razvojna okruzenja

Putovi su uobicajeni i predvidivi.

Datoteke testnih fikstura: Jedinicni testovi trebaju realisticne ulaze. Najbrzi put je kopiranje redova iz produkcije. Programer planira zamijeniti ih "kasnije." Kasnije rijetko dolazi. Stvarne e-poste i ID-ovi racuna ostaju kroz desece commitova.

Zapisi za otklanjanje gresaka: Greska se ne moze reproducirati lokalno. Programer povlaci zapis iz uzivog sustava. Taj zapis ima korisnicke e-poste, IP adrese i sesijske tokene. Datoteka sjeda u korijen projekta i bude commitana.

Skripte migracije: Promjene sheme ukljucuju primjere redova za testna okruzenja. DBA kopira stvarne redove kao primjere. Skripta — s pravim korisnickim unosima — ulazi u kontrolu verzija.

Docs i README datoteke: Primjeri koristenja koriste "realisticne" unose. Realisticno cesto znaci kopirano od stvarnih korisnika. README zavrsava s pravim ID-ovima narudzbe i adresama racuna.

Konfiguracijske datoteke: Razvojne konfiguracije nose kljuceve koji dosazu do stvarnih korisnickih podataka. Ove datoteke se commitaju s tajnama u njima.

Sto AI pomocnici zapravo primaju

Kada programeri koriste AI alate za kodiranje, vise kanala salje privatne podatke van.

Cijeli kontekst datoteke: Alat moze primiti cijele datoteke. To ukljucuje testne fiksture sa stvarnim unosima, izvatke zapisa ili konfiguracijske datoteke s uzivim kljucevima.

Lijepljenje iz medjuspremnika: Programeri zalijepe kod u chat radi pregleda. Okolni kontekst cesto ima detalje korisnika u sebi.

Indeksiranje IDE-a: Cursor i GitHub Copilot indeksiraju lokalne datoteke radi konteksta. Svaka datoteka projekta sa stvarnim redovima postaje dio tog indeksa.

Poruke gresaka: Programeri zalijepe traceback u AI chat pri otklanjanju gresaka. Traceback moze nositi korisnicke ID-ove.

Svaki kanal salje privatne podatke API-ju prodavatelja AI-a. Ovo stvara GDPR i HIPAA rizik. Pogledajte nas pregled uskladenosti za nacin na koji se ova pravila primjenjuju na alate za razvoj.

GDPR i HIPAA: Kljucne cinjenice za razvojne timove

Ova pravila primjenjuju se na koristenje AI alata za kodiranje.

GDPR Clanak 28 — Obradjivac: Slanje osobnih podataka prodavatelju AI-a cini tog prodavatelja obradjivacima podataka. Potreban je Ugovor o obradi podataka. Vecina prodavatelja nudi DPA-ove. Programeri koji koriste AI alate izvan formalnih nabavki mozda nemaju potpisan DPA.

GDPR Clanak 6 — Zakonska osnova: Testiranje u razvoju zahtijeva zakonsku osnovu za obradu osobnih podataka. Legitimni interes moze se primjenjivati — ali zahtijeva test balansiranja. Koristenje stvarnih korisnickih redova kada bi lazni posluzili svrsi ne prolazi taj test.

HIPAA — BAA: Zdravstveni programeri moraju imati Ugovor o poslovnom suradniku s prodavateljem AI-a. OpenAI, Anthropic i GitHub Copilot nude BAA-ove za poslovne korisnike. Individualno koristenje izvan poslovnog plana mozda nije pokriveno.

Minimizacija: Stvarni korisnicki unosi u testnim fiksturama krse pravilo o minimizaciji. Lazni redovi sluze istoj svrsi bez troskova privatnosti.

Nas FAQ pokriva uobicajena pitanja o ovim pravilima.

Prakticni koraci za razvojne timove

Zapocnite s brzom revizijom. Vecina timova pronalazi probleme u prvom satu.

Neposredne radnje:

  1. Revidirajte testne fiksture — trazite uzorke e-poste, telefona i ID-a.
  2. Provjerite produkcijske datoteke zapisa u projektnim direktorijima za korisnicke ID-ove.
  3. Azurirajte .gitignore da iskljuci datoteke zapisa i podatkovne datoteke specificne za okruzenje.
  4. Zamijenite stvarne unose sintetickim generatorima kao sto su Faker ili Mimesis.

Sama revizija cesto otkriva godinama akumuliranu izlozenost. Jedan tim pronasao je stvarne korisnicke e-poste u 14 testnih datoteka koje je stvorilo sest razlicitih programera kroz tri godine. Nijedan od programera nije namjeravao ostaviti ih tamo.

Prije svake sesije s AI pomocnikom:

  • Pokrenite otkrivanje osobnih podataka na datotekama prije dijeljenja.
  • Za IDE alate poput Cursora: iskljucite testne direktorije iz indeksiranja.
  • Za alate temeljene na chatu: pregledajte zalijepljeni kod za osobne podatke.

Dodatak MCP servera:

anonym.legal MCP server povezuje otkrivanje osobnih podataka u Claude Desktop i Cursor. Koraci su jednostavni:

  1. Otvorite datoteku u uredivacku.
  2. Pozovite MCP server: otkrij osobne podatke u datoteci.
  3. Pregledajte oznacene stavke.
  4. Redaktirajte na licu mjesta.
  5. Podijelite cistu datoteku s AI alatom.

Ovo dodaje manje od 30 sekundi po datoteci. Uklanja rucnu duzhnost "provjeri osobne podatke". Pogledajte nase planove cijena za dodavanje pristupa MCP serveru vasem timu.

Sinteticki unosi — trajno rjesenje:

Nikada ne koristite stvarne redove u testnim fiksturama. Sinteticke biblioteke proizvode realisticne unose bez izlaganja stvarnih korisnika. Faker (Python/Node.js), Factory Boy (Python) i Bogus (.NET) generiraju valjane unose za bilo koju shemu. Svaka biblioteka vam omogucuje postavljanje lokalizacije i izlaz realisticnih imena, e-posta i brojeva telefona — sve laznih.

Studija slucaja: SaaS tim pronalazi stvarne unose u Cursoru

Nalaz je dosao tijekom GDPR revizije. SaaS tim koji koristi Cursor pronasao je stvarne korisnicke e-poste u fiksturama za jedinicne testove. Programer je kopirao 50 korisnickih redova iz produkcije 18 mjeseci ranije. Ti redovi su bili commitani u kontrolu verzija i indeksirani od Cursora.

Tijekom 18 mjeseci, Cursor je pristupio datotekama fikstura otprilike 11 000 puta kroz 8 programerskih IDE sesija. Svaka sesija mozda je slala sadrzaj fiksture Cursor API-ju.

Sto je tim ucinio:

  1. Zamijenio svih 50 stvarnih redova Faker-generiranim laznim unosima.
  2. Azurirao .gitignore da iskljuci datoteke zapisa.
  3. Dodao MCP server za otkrivanje osobnih podataka na zahtjev prije dijeljenja koda.
  4. Postavio normu: nema produkcijskih unosa ni u jednoj commitanoj datoteci.

MCP server bio je kljucna promjena. Programeri sada pokrecru otkrivanje prije Cursor sesija na kodu koji se odnosi na korisnika. Nula dodatnog napora izvan MCP poziva.

Procitajte vise u nasem odjeljku studija slucaja.

Izvori

GitHub sigurnosno istrazivanje 2024. VERIFIED-EXTERNAL.

GDPR Clanak 28. VERIFIED-EXTERNAL.

Smjernice HIPAA BAA. VERIFIED-EXTERNAL.

Spremni za zaštitu vaših podataka?

Započnite anonimizaciju PII-a s 285+ vrsta 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.