anonym.legal

By · Last updated 2026-06-05

Назад на блоготТехнички

GDPR Анонимизација на Дневници: Задржете го Дебагирањето

Апликациските дневници молчешкум акумулираат е-пошти на корисниците, IP адреси и броеви на сметки. Еве како да ги споделите дневниците со трети страни, изведувачи и платформи за набљудување.

June 5, 20267 мин читање
JSON logsGDPR complianceDevOps privacylog anonymizationdata minimization

Личните Податоци се Кријат во Апликациски Дневници

Апликациските дневници се еден од највидливите GDPR површини во инженерингот. Не затоа што инженерите го игнорираат законот. Затоа што деталите за корисниците влегуваат во дневничките фајлови случајно.

Еден JSON дневник на барање може да содржи четири полиња со лични податоци:

{
  "timestamp": "2025-11-14T09:22:13Z",
  "level": "ERROR",
  "endpoint": "/api/users/profile",
  "user_email": "sara.jovanova@kompanija.com",
  "client_ip": "82.123.45.67",
  "user_agent": "Mozilla/5.0",
  "error": "ValidationError: phone format",
  "input_value": "+389 70 123 456"
}

Тој единечен запис содржи е-пошта, IP адреса и телефонски број. Помножете го тоа со милиони дневни API повици. Резултатот е голема PII активност. Бара правна основа, ограничувања и контроли.

Споделувањето Дневници со Трети Страни го Зголемува GDPR Ризикот

Тимовите споделуваат дневнички фајлови со надворешни страни во секое време:

  • Фирми за тестирање на пенетрација добиваат записи за да ги мапираат однесувањата на апликацијата
  • Надворешни консултанти користат примероци на дневници за да наоѓаат бавни точки
  • Платформи за дневници (Elastic, Datadog, Splunk) добиваат целосни излезни текови
  • SRE изведувачи пристапуваат до записите за време на инциденти
  • Dev тимови во други правни лица добиваат фајлови за дебагирање

Секое споделување поставува прашања по GDPR Член 28. Дали примателот е обработувач? Дали постои Договор за обработка на податоци? Дали имаат правна основа да ги гледаат деталите за корисниците во тие фајлови?

Платформите за дневници се вообичаен јаз. Испраќањето излез со вистински е-пошти и IP адреси на корисниците до Elastic Cloud или Datadog создава врска за обработка. Таа врска бара договор за обработка, стандардни клаузули и алатка за пренос ако платформата е надвор од ЕУ. Секоја од нив одзема време и правен преглед.

Поедноставниот пат: отстранете ги деталите за корисниците пред фајловите да го напуштат вашиот систем. Прочитајте го нашиот преглед за усогласеност за целосните правила на Член 28.

Зошто JSON Структурата го Прави Откривањето Тешко

JSON дневничките фајлови варираат во структура. Генеричкото текстуално скенирање не е доволно.

Длабочина на вгнездување: Деталите за корисниците се появуваат на која-бидело длабочина. Полето request.headers.x-forwarded-for содржи IP адреси. Полето response.body.errors[0].field_value може да содржи корисничкиот внес. Рамно текстуално скенирање ги пропушта полиња закопани во вгнездени патеки.

Неконзистентни шеми: Секоја API крајна точка произведува своја сопствена форма на излез. Auth дневниците изгледаат поинаку од платежните. Дневниците за ажурирање на профил изгледаат поинаку од двете. Пристапот со фиксна патека ги пропушта деталите за корисниците кои се появуваат на чудни патеки во контексти на грешки.

Технички вредности мешани со лични податоци: Следи на стек, кодови за грешки и временски ознаки мора да останат нетакнати. Паушалното бришење ги брише потребните полиња и го прави фајлот бескорисен.

Правилниот пристап е откривање базирано на содржина. Наоѓајте ги деталите за корисниците по тоа што се — шема на е-пошта, формат на IP, именуван ентитет — не по тоа каде седат во структурата. Ова ракува со променливи шеми без потреба за поставување по крајна точка.

Конзистентната Замена ги Задржува Дневниците Корисни

Клучниот услов е референцијален интегритет. Ако sara.jovanova@kompanija.com се появува во 47 записи низ синџир на барање, сите 47 мора да се пресликаат на иста вредност.

Правила за пресликување:

  • sara.jovanova@kompanija.comuser1@example.com (иста вредност во целиот фајл)
  • 82.123.45.67192.0.2.1 (IP на RFC 5737 документација — јасно дека не е вистински)
  • +389 70 123 456+389 XXX XXX XXX (маскиран)

Со тоа пресликување, програмер може да го следи user1@example.com низ 47 записи, да го реконструира синџирот на барање и да ја поправи грешката — без да ги гледа вистинските детали за корисниците.

Овие метаподатошни полиња остануваат непроменети:

  • Временски ознаки (не корисничките податоци)
  • Кодови за грешки и типови (не корисничките податоци)
  • Следи на стек (може да содржат технички ID-а, не корисничките податоци)
  • HTTP методи, патеки, статусни кодови (не корисничките податоци)
  • Метрички вредности и бројки за латентност (не корисничките податоци)

Резултатот е фајл кој функционира за работа на дебагирање. Не содржи вистински детали за корисниците. Видете го нашиот речник за разликата помеѓу анонимизација и псевдонимизација под GDPR.

Случај на Употреба: Споделување Дневници за Пенетрациско Тестирање

SaaS фирма водеше квартален безбедносен преглед со надворешен тим за пенетрациско тестирање. Опсегот бараше 90 дена производен API излез за да се мапираат auth текови и да се анализираат шеми на грешки.

Суров обем: 180 MB JSON фајлови. Број на лични податоци: 4.200 уникатни е-пошти на корисниците, 1.800 уникатни IP адреси, 340 делумни броеви на сметки во контексти на грешки.

Без претходно отстранување на деталите за корисниците, споделувањето на тие фајлови би барало:

  • Договор за обработка на податоци со фирмата за пенетрациско тестирање
  • Алатка за пренос по GDPR Член 46 (фирмата беше надвор од ЕУ)
  • Преглед на известување на субјектот на податоци

Секое од нив додава правна работа и времетраење.

Со применета маскирање на лични податоци:

  • Времетраење на обработка: 25 минути за 180 MB
  • Излез: 180 MB структурно идентични фајлови, сите е-пошти и IP адреси заменети со безбедни вредности
  • Резултат: тимот за пенетрациско тестирање доби целосен контекст; ниту еден вистински детал за корисниците не го достигна нив
  • GDPR резултат: не е потребен договор за обработка — исчистениот излез не се смета за корисничките податоци под GDPR

Видете го нашиот FAQ за вообичаени прашања за тоа што се смета за анонимно под GDPR.

Интегрирање на Маскирање на Лични Податоци во CI/CD

За тимови кои редовно споделуваат излез, овој чекор може да се извршува во постоечки процеси.

Ротација на дневници:

  1. Скриптата за ротација се извршува ноќно
  2. Чекорот за маскирање се извршува пред архивирање или испраќање до која-бидело платформа за дневници
  3. Маскираните фајлови одат до надворешни системи
  4. Оригиналните фајлови остануваат интерни со целосно задржување

Скрипта пред споделување:

  1. Инженерот треба да сподели примерок со изведувач
  2. Ја извршува скриптата: input=raw-logs/ output=clean-logs/
  3. Ја споделува папката clean-logs/
  4. Не е потребен рачен преглед на лични податоци

Пристап со придружна апликација:

  1. Придружната апликација го маскира излезниот тек пред проследување
  2. Маскирањето во реално време ја одржува корисноста за анализа на дневници
  3. Платформата добива нула вистински детали за корисниците

Интеграција на Политиката за Задржување

GDPR Член 5(1)(е) бара ограничување на складирање. Маскирањето на лични податоци се вклопува во секоја политика за задржување.

  • Суров излез зачуван 7 дена (за секојдневна работа на дебагирање)
  • Маскирани верзии зачувани 90 дена (за анализа на трендови и преглед на инциденти)
  • Чекорот за маскирање се извршува на ден 7

Ова ја задоволува ограничувањето на складирање. Го отстранува ризикот од долгорочно чување на суров излез.

Извори

Подготвени да ги заштитите вашите податоци?

Започнете со анонимизација на PII со 285+ типови на ентитети на 48 јазици.

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.