Files
logpile/bible-local
Mikhail ChusavitinandClaude Sonnet 5 f38fb2de69 feat(privacy): detect an already-sanitized source
Scan now reports PrivacyScan.Sanitized {detected, markers, strong, files,
evidence}. SanitizationMarkers recognises a value slot filled with one
repeated placeholder + separators (xxxxx.xxxx.xx, x@xxxx.xxxx.xx,
000.00.00.0, a decoy timezone) - it matches the shape, not the literal "x",
so evolving the redaction mechanism still trips it.

detected requires corroboration: strong>=2, or strong>=1 && markers>=3, or
markers>=4. A single filler-looking token is reported (markers:1) but never
asserted as sanitized, so a partial future pass or a coincidence does not
read as "done". 0.0.0.0 / 000 / UTC / Etc/UTC are too plausibly intentional
and do not count.

UI: the Customer-data panel shows "файл уже обезличен" and hides the
sanitize button when detected.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014jDYM1nnoZZ3vFz23DDaV1
2026-09-03 10:02:02 +03:00
..

LOGPile Bible

bible-local/ is the project-specific source of truth for LOGPile. Keep top-level docs minimal and put maintained architecture/API contracts here.

Rules

  • Documentation language: English only
  • Update relevant bible files in the same change as the code
  • Record significant architectural decisions in 10-decisions.md
  • Do not duplicate shared rules from bible/

Read order

File Purpose
01-overview.md Product scope, modes, non-goals
02-architecture.md Runtime structure, state, main flows
04-data-models.md Stable data contracts and canonical inventory
03-api.md HTTP endpoints and response contracts
05-collectors.md Live collection behavior
06-parsers.md Archive parser framework and vendor coverage
07-exporters.md Raw export, Reanimator export, batch convert
docs/hardware-ingest-contract.md Reanimator ingest schema mirrored locally
docs/privacy-scan.md Customer-data / anonymization scan of ingested sources
docs/log-sanitization.md In-place, length-preserving redaction of customer data
08-build-release.md Build and release workflow
09-testing.md Test expectations and regression rules
10-decisions.md Architectural Decision Log

Fast orientation

  • Entry point: cmd/logpile/main.go
  • HTTP layer: internal/server/
  • Core contracts: internal/models/models.go
  • Live collection: internal/collector/
  • Archive parsing: internal/parser/
  • Export conversion: internal/exporter/
  • Frontend consumer: web/static/js/app.js

Maintenance rule

If a document becomes stale, either fix it immediately or delete it. Stale docs are worse than missing docs.