By · Last updated 2026-06-05

Tillbaka till BloggenAI-säkerhet

AI-kodassistenter läcker produktions-PII

Enhetstestfixtures med riktiga kunduppgifter. Loggfiler med produktionsdata för felsökning. GitHub hittade 39 miljoner läckta hemligheter år 2024.

June 5, 20268 min läsning
AI coding assistantproduction PIIdeveloper securityMCP ServerGitHub Copilot

Varför AI-kodverktyg läcker riktiga kunduppgifter

De flesta PII-läckor från utvecklingsteam är inte intrång. De är bieffekter av dagligt arbete.

Produktionsdata hamnar i testmiljöer. Därifrån når den AI-kodverktyg — och leverantörerna som driver dem.

GitHubs forskning 2025 bekräftade detta. Utvecklare läckte 39 miljoner hemligheter i offentliga repos under 2024. API-nycklar och personuppgifter dök alla upp. De flesta kom från testfixtures och fellogg. Se vår säkerhetsskyddsöversikt för hur team hanterar denna risk.

Uppdaterat för 2026: Antagandet av AI-kodverktyg har vuxit snabbt. Så har exponeringsnivån.

Hur riktiga uppgifter hamnar i utvecklingsmiljöer

Vägarna är vanliga och förutsägbara.

Testfixturefiler: Enhetstester behöver realistiska indata. Den snabbaste vägen är att kopiera rader från produktion. Utvecklaren planerar att ersätta dem "senare." Senare kommer sällan. Riktiga e-postadresser och konto-ID:n stannar kvar genom dussintals commits.

Fellogg: Ett fel kan inte reproduceras lokalt. En utvecklare hämtar en logg från livesystemet. Den loggen har kund-e-postadresser, IP-adresser och sessionstokens. Filen hamnar i projektroten och committades.

Migreringsskript: Schemaändringar inkluderar exempelrader för testmiljöer. En DBA kopierar riktiga rader som exempel. Skriptet — med äkta kundposter — hamnar i versionskontroll.

Dokumentation och README-filer: Användningsexempel använder "realistiska" indata. Realistiskt innebär ofta kopierat från riktiga användare. README:n slutar med riktiga order-ID:n och kontoadresser.

Konfigurationsfiler: Utvecklarkonfigurationer bär stagningnycklar som når riktig kunddata. Dessa filer committades med hemligheter inuti.

Vad AI-assistenter faktiskt tar emot

När utvecklare använder AI-kodverktyg skickar flera kanaler privat information ut.

Hela filens kontext: Verktyget kan ta emot hela filer. Det inkluderar testfixtures med riktiga poster, loggutdrag eller konfigurationsfiler med live-nycklar.

Urklippsklistringar: Utvecklare klistrar in kod i chatt för granskning. Det omgivande sammanhanget har ofta kunduppgifter i sig.

IDE-indexering: Cursor och GitHub Copilot indexerar lokala filer för kontext. Varje projektfil med riktiga rader blir en del av det indexet.

Felmeddelanden: Utvecklare klistrar in stackspår i AI-chatt vid felsökning. Stackspår kan innehålla kund-ID:n.

Varje kanal skickar privat information till AI-leverantörens API. Detta skapar GDPR- och HIPAA-risk. Se vår efterlevnadsöversikt för hur dessa regler gäller för utvecklingsverktyg.

GDPR och HIPAA: Viktiga fakta för utvecklingsteam

Dessa regler gäller för användning av AI-kodverktyg.

GDPR Artikel 28 — Personuppgiftsbiträde: Att skicka personuppgifter till en AI-leverantör gör den leverantören till ett personuppgiftsbiträde. Ett personuppgiftsbiträdesavtal krävs. De flesta leverantörer erbjuder DPA:er. Utvecklare som använder AI-verktyg utanför formella inköp saknar kanske ett undertecknat DPA.

GDPR Artikel 6 — Rättslig grund: Utvecklingstestning kräver rättslig grund för behandling av personuppgifter. Legitimt intresse kan gälla — men det kräver ett balanstest. Att använda riktiga kundrader när falska skulle fungera misslyckas med det testet.

HIPAA — BAA: Vårdgivare-utvecklare måste ha ett Business Associate Agreement med AI-leverantören. OpenAI, Anthropic och GitHub Copilot erbjuder BAA:er för företagsanvändare. Individuell användning utanför en företagsplan kanske inte täcks.

Minimering: Riktiga kundposter i testfixtures bryter mot minimeringsregeln. Falska rader tjänar samma syfte utan sekretesskostnaden.

Vår FAQ besvarar vanliga frågor om dessa regler.

Praktiska steg för utvecklingsteam

Börja med en snabb revision. De flesta team hittar problem inom den första timmen.

Omedelbara åtgärder:

  1. Granska testfixtures — sök efter e-post-, telefon- och ID-mönster.
  2. Kontrollera produktionsloggfiler i projektkataloger för kund-ID:n.
  3. Uppdatera .gitignore för att exkludera loggfiler och miljöspecifika datafiler.
  4. Ersätt riktiga poster med syntetiska generatorer som Faker eller Mimesis.

Revisionen ensam avslöjar ofta års ackumulerad exponering. Ett team hittade riktiga kund-e-postadresser i 14 testfiler skapade av sex olika utvecklare under tre år. Ingen av utvecklarna hade haft för avsikt att lämna dem kvar.

Innan varje AI-assistentsession:

  • Kör PII-identifiering på filer innan de delas.
  • För IDE-verktyg som Cursor: exkludera teskataloger från indexering.
  • För chattbaserade verktyg: granska inklistrad kod för personuppgifter.

MCP Server-tillägg:

anonym.legal MCP Server kopplar PII-identifiering till Claude Desktop och Cursor. Stegen är enkla:

  1. Öppna en fil i editorn.
  2. Anropa MCP Server: identifiera PII i filen.
  3. Granska flaggade objekt.
  4. Redigera på plats.
  5. Dela den rena filen med AI-verktyget.

Detta lägger till under 30 sekunder per fil. Det tar bort den manuella "kontrollera PII"-bördan. Se våra prisplaner för att lägga till MCP Server-åtkomst till ditt team.

Syntetiska indata — den varaktiga lösningen:

Använd aldrig riktiga rader i testfixtures. Syntetiska bibliotek producerar realistiska indata utan att exponera riktiga användare. Faker (Python/Node.js), Factory Boy (Python) och Bogus (.NET) genererar giltiga indata för vilket schema som helst. Varje bibliotek låter dig ange ett nationellt inställning och mata ut realistiska namn, e-postadresser och telefonnummer — alla påhittade.

Fallstudie: SaaS-team hittar riktiga poster i Cursor

Fyndet kom under en GDPR-revision. Ett SaaS-team som använde Cursor hittade riktiga kund-e-postadresser i enhetstestfixtures. En utvecklare hade kopierat 50 kundrader från produktion 18 månader tidigare. Dessa rader hade committats till versionskontroll och indexerats av Cursor.

Under 18 månader kom Cursor åt fixturefiler ungefär 11 000 gånger under 8 utvecklares IDE-sessioner. Varje session kan ha skickat fixtureinnehåll till Cursor API.

Vad teamet gjorde:

  1. Ersatte alla 50 riktiga rader med Faker-genererade falska indata.
  2. Uppdaterade .gitignore för att exkludera loggfiler.
  3. Lade till MCP Server för on-demand PII-identifiering innan koddelning.
  4. Fastlade en norm: inga produktionsposter i någon committad fil.

MCP Server var den viktigaste förändringen. Utvecklare kör nu identifiering innan Cursor-sessioner på kundviktad kod. Noll extra ansträngning utöver MCP-anropet.

Läs mer i vår fallstudier-sektion.

Källor

GitHub Security Research 2024. VERIFIED-EXTERNAL.

GDPR Artikel 28. VERIFIED-EXTERNAL.

HIPAA BAA-vägledning. VERIFIED-EXTERNAL.

Redo att skydda din data?

Börja anonymisera PII med 285+ entitetstyper på 48 språk.

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.