Repository navigation
Releases: beskvladimir-create/pii-roundtrip
Release list
pii-roundtrip 0.3.1
The engine is unchanged and no model was queried again: every figure is recomputed from the saved predictions and answers. Full list in CHANGELOG.md.
Fixed
- Leak metric: a number left visible with dots between the groups or with several separators in a row was not counted as a leak. The fix only adds leaks. Held-out set 5: pii-guard 53.2% → 58.5% (Russian), Presidio 86.3% → 87.0% (Russian) and 56.9% → 58.1% (UK English). pii-roundtrip is unchanged on every set: 0.2% (Russian) and 0.7% (UK English).
- Corrections after an external review, as dated notes; the pre-registration and earlier release texts are not rewritten (REPORT section 10, README, HOLDOUT, CHANGELOG 0.3.0). Among them: the 0.3 restoration change followed the analysis of set 4, not set 5; set 5 was generated on 19 October 2026; pii-guard's restoration verdict on set 5 is conditional; the 0.2.2 finding on the placeholder format is withdrawn.
- The public
uv.locknow has the versions the results were computed with (transformers 5.19.0, torch 2.14.1). Earlier public lock files were re-created at export.
Added (after review, not pre-registered)
- Strict document measure: documents in which at least one value is not fully masked. pii-roundtrip on set 5: 3.3% (Russian) and 13.8% (UK English), almost entirely addresses and organisations.
- Round-trip measures: answers with a failure with Clopper-Pearson intervals, restoration without values leaked into the input, sample overlap, and a manual check of every failure.
results/holdout5_cycle_journal.md: the course of the round trip on set 5, including one interruption.
The macOS installer is the same app as in 0.3.0 (app version 0.3.1, engine 0.3).
Движок не менялся, нейросети повторно не запрашивались: все цифры пересчитаны по сохранённым предсказаниям и ответам. Полный список в CHANGELOG.ru.md.
Исправлено
- Метрика утечек: номер, оставленный открытым с точками между группами или с несколькими разделителями подряд, не считался утечкой. Исправление только добавляет утечки. Набор 5: pii-guard 53,2% → 58,5% (русский), Presidio 86,3% → 87,0% (русский) и 56,9% → 58,1% (британский). У pii-roundtrip без изменений на всех наборах: 0,2% (русский) и 0,7% (британский).
- Поправки после внешней рецензии внесены датированными пометками, предрегистрация и тексты прошлых выпусков не переписаны (раздел 10 отчёта, README, HOLDOUT, CHANGELOG 0.3.0). Среди них: доработка восстановления 0.3 сделана после разбора набора 4, а не 5; набор 5 сгенерирован 19.10.2026; вердикт по восстановлению pii-guard на наборе 5 условный; вывод 0.2.2 о формате меток отозван.
- Открытый
uv.lockтеперь содержит версии, с которыми получены результаты (transformers 5.19.0, torch 2.14.1). Прежние открытые lock-файлы создавались заново при выгрузке.
Добавлено (после рецензии, не предрегистрировано)
- Строгая метрика документов: документы, где хотя бы одно значение закрыто не полностью. pii-roundtrip на наборе 5: 3,3% (русский) и 13,8% (британский), почти целиком адреса и организации.
- Показатели полного цикла: ответы с провалом с интервалом Клоппера–Пирсона, восстановление без утёкших во вход значений, пересечение выборок, ручная проверка всех провалов.
results/holdout5_cycle_journal.md: ход полного цикла на наборе 5, включая одну остановку.
Установщик для macOS тот же, что в 0.3.0 (приложение 0.3.1, движок 0.3).
pii-roundtrip 0.3.0 and macOS app 0.3.1
pii-roundtrip 0.3.0 and the macOS app 0.3.1.
Held-out set 5. The set, its SHA-256, the threshold rules and the run plan were published in 8b8e933 before any run (HOLDOUT.en.md). Detection by every tool and the round trips ran once, from committed code.
Engine 0.3 on set 5 meets all four thresholds for both languages:
| Threshold | Russian | UK English |
|---|---|---|
| Structured identifiers ≥ 99% | 100.0% | 100.0% |
| Names, addresses, organisations ≥ 95% | 99.7% | 98.9% |
| Documents with a leak ≤ 2% | 0.2% | 0.7% |
| Restoration ≥ 99% (worse of two LLMs, 380 answers per model) | 99.9% | 100.0%, lower bound 99.0% |
The best existing tools leak in 53.2% (pii-guard, Russian) and 56.7% (GLiNER Guard Omni, UK English) of the same documents. Intervals and every other tool: REPORT.md.
Engine change. Restoration accepts a placeholder with a lost bracket (ORG_1], [ORG_1) and with words before the label inside the brackets; tested on synthetic examples. On the UK part of set 5 the LLMs altered 47 placeholders, all restored.
Honest notes. The round trip was interrupted once by an Ollama disconnect and continued from the saved answers. The 18 failed Russian occurrences include names restored correctly with rare patronymics that the evaluator's dictionary does not know, and one name in the wrong case; the evaluator's rules were fixed before the run. Whether the LLMs alter pii-guard's attribute tags more often than plain placeholders is not established: set 4 suggested it, set 5 did not.
macOS app 0.3.1: download pii-roundtrip-mac.dmg below (Apple silicon, macOS 12 or later, about 2 GB, works offline). Not yet signed with an Apple certificate: on first launch open System Settings, Privacy & Security, and click Open Anyway. SHA-256: 0e3a7bcd7a5eba77aa83f92fe7baeaf0d58132006f3500269c529d605514ee35
Full list: CHANGELOG.md.
pii-roundtrip 0.3.0 и приложение для macOS 0.3.1.
Отложенный набор 5. Набор, его SHA-256, правила порогов и план прогона опубликованы в 8b8e933 до любого запуска (HOLDOUT.md). Распознавание всеми инструментами и полный цикл выполнены один раз, с закоммиченного кода.
Движок 0.3 на наборе 5 проходит все четыре порога на обоих языках:
| Порог | Русский | Британский английский |
|---|---|---|
| Номера ≥ 99% | 100,0% | 100,0% |
| Имена, адреса, организации ≥ 95% | 99,7% | 98,9% |
| Документы с утечкой ≤ 2% | 0,2% | 0,7% |
| Восстановление ≥ 99% (худшая из двух нейросетей, 380 ответов на модель) | 99,9% | 100,0%, нижняя граница 99,0% |
Лучшие существующие инструменты на тех же документах текут в 53,2% (pii-guard, русский) и 56,7% (GLiNER Guard Omni, британский) документов. Интервалы и все остальные инструменты: REPORT.md.
Изменение движка. Восстановление принимает метку с потерянной скобкой (ORG_1], [ORG_1) и со словами перед меткой внутри скобок; проверено на синтетических примерах. На британской части набора 5 нейросети испортили 47 меток, все восстановлены.
Честные оговорки. Полный цикл один раз прервался из-за обрыва соединения с Ollama и продолжен с сохранённых ответов. Среди 18 провалившихся вхождений на русском есть верно восстановленные имена с редкими отчествами, которых нет в словаре оценщика, и одно имя в неверном падеже; правила оценщика зафиксированы до прогона. Портят ли нейросети теги pii-guard с атрибутами чаще простых меток, не установлено: набор 4 на это указывал, набор 5 нет.
Приложение для macOS 0.3.1: скачайте pii-roundtrip-mac.dmg ниже (процессор Apple, macOS 12 или новее, около 2 ГБ, работает без интернета). Пока не подписано сертификатом Apple: при первом запуске откройте «Системные настройки», раздел «Конфиденциальность и безопасность», и нажмите «Всё равно открыть».
Полный список: CHANGELOG.ru.md.
pii-roundtrip 0.2.2
pii-roundtrip 0.2.2. The engine is unchanged. The evaluation of the round trip and the way verdicts are stated changed; all figures were recomputed from the saved predictions and answers, without new model queries.
- The round-trip evaluator now recognises labels that a model rewrote in square brackets (
[PII type="…" id="…"],[Name_2]). They count as issued labels the model altered: 43 pii-guard and 29 Prompt Anonymizer occurrences in two answers, all lost by the tools' restorers. - Restated finding: the LLMs altered pii-guard's attribute tags more often than plain placeholders, and pii-guard's strict restorer turned the alterations into losses, including intact neighbouring tags. The earlier wording that the format and the prompt play no role is withdrawn.
- Recall and masking-precision intervals come from the document-level cluster bootstrap; a verdict that changes with the seed (0 to 5) is reported as undetermined, borderline.
- The restoration threshold is judged on answers without an error (Wilson interval): 40 of 40 clean answers give an interval from 91.2%, so the engine's Russian restoration is undetermined; its UK restoration (34 of 40 answers without an error with gemma4:12b) is not met.
- The engine's results on the home datasets of its components are shown for reference only. The summary lists a verdict per threshold instead of a count.
The macOS app (desktop 0.3.0) is attached again as pii-roundtrip-mac.dmg; it is unchanged since 0.2.1. Full list: CHANGELOG.md.
pii-roundtrip 0.2.2. Движок не менялся. Изменились оценка полного цикла и формулировка вердиктов; все цифры пересчитаны по сохранённым предсказаниям и ответам, без новых запросов к нейросетям.
- Оценщик полного цикла теперь узнаёт метки, которые нейросеть переписала в квадратных скобках (
[PII type="…" id="…"],[Name_2]). Они считаются выданными метками, испорченными нейросетью: 43 вхождения у pii-guard и 29 у Prompt Anonymizer в двух ответах, все потеряны восстановителями инструментов. - Уточнённый вывод: нейросети портили теги pii-guard с атрибутами чаще простых меток, а строгий восстановитель pii-guard превращал порчу в потери, в том числе соседних неиспорченных тегов. Прежняя формулировка, что формат и промпт роли не играют, отозвана.
- Интервалы полноты и точности маскирования берутся из кластерного бутстрепа по документам; вердикт, который меняется с зерном (от 0 до 5), записывается как «не определено, на границе».
- Порог восстановления оценивается по ответам без ошибок (интервал Уилсона): 40 из 40 безошибочных ответов дают интервал от 91,2%, поэтому восстановление движка для русского не определено; для британского (34 из 40 ответов без ошибок у gemma4:12b) не пройдено.
- Результаты движка на домашних наборах его компонентов приводятся справочно. Итог перечисляет вердикт по каждому порогу вместо счёта.
Приложение для macOS (desktop 0.3.0) снова приложено как pii-roundtrip-mac.dmg, с 0.2.1 оно не менялось. Полный список: CHANGELOG.ru.md.
pii-roundtrip 0.2.1 and macOS app 0.3.0
pii-roundtrip 0.2.1 and the macOS app 0.3.0. The engine is unchanged: its detection and leak figures on held-out set 4 stand.
Benchmark
- Restoration metric corrected: each placeholder occurrence issued by a tool is scored once. All held-out set 4 answers were rescored from the saved answers; no model was queried again.
- Round-trip controls on held-out set 4: the generic system prompt for pii-guard tags and for plain placeholders, and pii-guard answers restored by label type and number. With lenient parsing pii-guard tags are restored in full, so its restoration failures come from its strict restorer, not from the tag format or the prompt.
- Leak breakdown (results/leak_breakdown.json): clean and noisy documents, hard-format identifiers, entity types, supported types only.
- Published data: held-out sets 1 to 4, the LLM answers of the round trip, every tool's predictions, the clustered bootstrap and the Ollama and model versions. Every reported figure can be recomputed without running the tools or the models.
macOS app (Apple silicon, macOS 12 or later)
Download pii-roundtrip-mac.dmg below (about 2 GB, the models are inside, works offline). Drop in a Word file, a PDF or text, send the cleaned version to any AI tool, and get its answer back with the real values. The app is not yet signed with an Apple certificate: on first launch open System Settings, Privacy & Security, and click Open Anyway. Details: desktop/README.md. SHA-256: 0e8dedeb3c1ccd781394f45fb36d32e27582971084dbeadf4fd1e7134c1b27c2
CLI: clear messages instead of a Python traceback when an input or password file is missing or there is no terminal to ask for the password.
Full list: CHANGELOG.md.
pii-roundtrip 0.2.1 и приложение для macOS 0.3.0. Движок не менялся: его цифры распознавания и утечек на наборе 4 в силе.
Бенчмарк
- Исправлена метрика восстановления: каждое выданное инструментом вхождение метки оценивается один раз. Все ответы набора 4 пересчитаны по сохранённым ответам, к моделям повторно не обращались.
- Контрольные прогоны полного цикла на наборе 4: общий системный промпт для тегов pii-guard и для простых меток, ответы pii-guard, восстановленные по типу и номеру метки. При терпимом разборе теги pii-guard восстанавливаются полностью: сбои дают его строгие правила восстановления, а не формат тегов и не промпт.
- Разбивка утечек (results/leak_breakdown.json): чистые и зашумлённые документы, номера в трудной записи, типы данных, только поддерживаемые типы.
- Опубликованы данные: отложенные наборы с 1 по 4, ответы нейросетей полного цикла, предсказания всех инструментов, кластерный бутстреп, версии Ollama и моделей. Любую цифру отчёта можно пересчитать без запуска инструментов и моделей.
Приложение для macOS (процессор Apple, macOS 12 или новее)
Скачайте pii-roundtrip-mac.dmg ниже (около 2 ГБ, модели внутри, работает без интернета). Перетащите файл Word, PDF или текст, отправьте очищенную версию в любую нейросеть и получите её ответ с настоящими значениями. Приложение пока не подписано сертификатом Apple: при первом запуске откройте «Системные настройки», раздел «Конфиденциальность и безопасность», и нажмите «Всё равно открыть». Подробнее: desktop/README.ru.md.
Командная строка: понятные сообщения вместо трассировки Python, когда нет входного файла или файла пароля и когда пароль негде спросить.
Полный список: CHANGELOG.ru.md.
pii-roundtrip 0.2.0
Independent check on held-out set 4 (1,000 synthetic documents per language, frozen before the final changes, every tool run once from committed code): pii-roundtrip meets all four thresholds for Russian and for UK English.
| Held-out set 4 | pii-roundtrip | best other open tool |
|---|---|---|
| Russian documents with a leak | 0.2% [0.1; 0.7] | 53.3% (pii-guard) |
| UK documents with a leak | 0.9% [0.5; 1.7] | 55.3% (GLiNER Guard Omni) |
| Structured identifiers masked, RU / UK | 100% / 100% | 92.3% / 95.9% |
| Names, addresses, organisations, RU / UK | 99.8% / 98.7% | 73.1% / 88.8% |
| Restoration after an LLM answer (worse of two models), RU / UK | 100% / 99.6% [99.2; 99.9] | 97.2%, undetermined / no restore step |
| Masked fragments that contain personal data, RU / UK | 98.5% / 99.8% | 87.6% / 94.7% |
What changed:
- comparisons on identical data: pii-roundtrip is scored on exactly the datasets its competitor is scored on;
- masking precision reported for every tool;
- engine: legal forms of organisations, names next to initials (with typos), addresses with house and postcode, UK letter structure, labels and bank codes no longer masked;
en-GBreplacesukas the language code; installation split into extras (ru,gliner,all,bench); typed errors; versioned sessions;- reproducible synthetic generator, logged run-once held-out runs, CI.
Known limitation: on short Russian chat messages masking precision is lower than pii-guard's (89.2% against 96.5%). The benchmark was run by the author of pii-roundtrip; code, data, results and run logs are public so that it can be repeated.
Full list: CHANGELOG.md. Report: REPORT.en.md.
Русская версия
Независимая проверка на отложенном наборе 4 (1 000 синтетических документов на язык, заморожен до последних правок, каждый инструмент прогнан один раз с закоммиченного кода): pii-roundtrip проходит все четыре порога для русского и для британского английского.
| Отложенный набор 4 | pii-roundtrip | лучший другой открытый инструмент |
|---|---|---|
| Русские документы с утечкой | 0,2% [0,1; 0,7] | 53,3% (pii-guard) |
| Британские документы с утечкой | 0,9% [0,5; 1,7] | 55,3% (GLiNER Guard Omni) |
| Номера скрыты, RU / UK | 100% / 100% | 92,3% / 95,9% |
| Имена, адреса, организации, RU / UK | 99,8% / 98,7% | 73,1% / 88,8% |
| Восстановление после ответа нейросети (худшая из двух моделей), RU / UK | 100% / 99,6% [99,2; 99,9] | 97,2%, не определено / восстановления нет |
| Скрытые фрагменты с персональными данными, RU / UK | 98,5% / 99,8% | 87,6% / 94,7% |
Что изменилось:
- сравнение на одних и тех же данных: pii-roundtrip оценивается ровно на тех наборах, что и конкурент;
- точность маскирования показывается для всех инструментов;
- движок: правовые формы организаций, имена рядом с инициалами (в том числе с опечаткой), адреса с домом и индексом, структура британских писем; ярлыки и коды банков больше не скрываются;
- код языка
en-GBвместоuk; установка разделена на части (ru,gliner,all,bench); типизированные ошибки; версия формата сессии; - воспроизводимый генератор, журнал однократных прогонов на отложенных наборах, CI.
Известное ограничение: на коротких русских сообщениях из чатов точность маскирования ниже, чем у pii-guard (89,2% против 96,5%). Сравнение провёл автор pii-roundtrip; код, данные, результаты и журнал прогонов открыты, чтобы его можно было повторить.
Полный список: CHANGELOG.ru.md. Отчёт: REPORT.md.
pii-roundtrip 0.1.0
First public release of pii-roundtrip: local reversible anonymisation of Russian and UK English documents for use with external LLMs, together with an independent benchmark of existing tools.
What is included
- The engine: detection on top of pii-guard and GLiNER Guard Omni with checksum rules, consistent placeholders across a document and a conversation, tolerant restoration with Russian name inflection, an encrypted local vault, a Python API and a command-line tool. Works offline after the models are downloaded once.
- The benchmark: five existing tools and a regular-expression baseline, external datasets with a "no home dataset" rule, two frozen held-out sets of synthetic documents, and a round trip through qwen3.5:9b and gemma4:12b.
- The report in English and Russian, results and the script that reproduces them.
Key results (held-out documents, share of documents with a leak): pii-roundtrip 1% (RU) and 4% (UK); existing tools 54–100% (RU) and 57–100% (UK). With 100 held-out documents per language, neither leak rate is determined against the 2% threshold; this and other limitations are listed in the report. The same decision rule is applied to every tool.
Первый публичный выпуск pii-roundtrip: локальная обратимая анонимизация русских и британских документов для работы с внешними нейросетями и независимый бенчмарк существующих инструментов.
Что входит
- Движок: распознавание поверх pii-guard и GLiNER Guard Omni с правилами контрольных сумм, согласованные метки по документу и диалогу, терпимое восстановление со склонением русских имён, зашифрованное локальное хранилище, Python API и командная строка. После однократной загрузки моделей работает без сети.
- Бенчмарк: пять существующих инструментов и базовая линия на регулярных выражениях, внешние наборы с правилом «без домашнего набора», два замороженных отложенных набора синтетических документов, полный цикл через qwen3.5:9b и gemma4:12b.
- Отчёт на английском и русском, результаты и скрипт для их воспроизведения.
Главные результаты (отложенные документы, доля документов с утечкой): pii-roundtrip 1% (RU) и 4% (UK); существующие инструменты 54–100% (RU) и 57–100% (UK). При 100 отложенных документах на язык ни одна из долей утечек не определена относительно порога 2%; это и другие ограничения перечислены в отчёте. Одно и то же правило решения применяется ко всем инструментам.