v4.0.0: дизайн Nubes, логотип, ZIP без mapping.csv внутри, CSV отдельно с датой-временем
Deploy drhider / validate (push) Waiting to run
Deploy drhider / validate (push) Waiting to run
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Ответ Соннета v3 — нумерация вместо генерации фейков (2026-07-12)
|
||||
|
||||
## Q1. Нумерация vs фейки
|
||||
- ✅ Адреса без абракадабры, код проще, аудит прозрачнее
|
||||
- ❌ Документ нечитаем (`Лицо_0042 заключил договор с Компания_0003`)
|
||||
- Вывод: для аудита/хранения — отлично, для показа людям — фейки лучше
|
||||
|
||||
## Q2. Глобальный счётчик на весь пакет
|
||||
Одна сущность в разных документах → один номер. `TwoPassObfuscator` хранит counters.
|
||||
|
||||
## Q3. Сохранять формат?
|
||||
Рекомендация: `Тип_NNNN` — проще всего, аудит максимально прозрачен.
|
||||
|
||||
## Q4. mapping.csv — главный документ аудита
|
||||
Да, это улучшение. mapping.csv — секретный ключ деобфускации.
|
||||
|
||||
## Q5. Номера vs UUID
|
||||
Номера (`Лицо_0042`) — лучше для читаемости и аудита.
|
||||
|
||||
---
|
||||
|
||||
## План изменений
|
||||
|
||||
### Удалить
|
||||
- `drhider/generators/` — все 12 файлов
|
||||
- `drhider/checksum.py` — больше не нужен (ИНН без контрольных сумм)
|
||||
- `drhider/random_utils.py` — больше не нужен
|
||||
|
||||
### Изменить
|
||||
- `scanner.py`: добавить `TYPE_PREFIXES` + `_next_token()`, убрать импорты генераторов
|
||||
- `obfuscator.py`: `TwoPassObfuscator` хранит `counters` dict
|
||||
- `config.py`: убрать словари имён/городов (RU_SURNAMES, ...)
|
||||
|
||||
### Новая логика замены
|
||||
```python
|
||||
TYPE_PREFIXES = {
|
||||
"person_name": "Лицо", "company": "Компания", "phone": "Телефон",
|
||||
"email": "Email", "address": "Адрес", "inn": "ИНН", ...
|
||||
}
|
||||
_FALLBACK = "Данные"
|
||||
|
||||
def _next_token(entity_type, counters):
|
||||
prefix = TYPE_PREFIXES.get(entity_type, _FALLBACK)
|
||||
counters[prefix] = counters.get(prefix, 0) + 1
|
||||
return f"{prefix}_{counters[prefix]:04d}"
|
||||
```
|
||||
Reference in New Issue
Block a user