# llm-ingestion-pipeline-security ## Kontekst Gjenbrukbar, minimal defensiv layer for LLM **ingestion**-pipelines (write-time), til forskjell fra query-time chatbot-guardrails. Pakker det arkitektoniske kontraktet — sanitize → fence → tool-less karantenert transform → per-stadium capability-isolasjon → scan output før commit → fail-secure — som komponerbar, framework-agnostisk kode. Referanse-implementasjon: `claude-code-llm-wiki` Stage B (`tools/wiki_ingest/`). Lexikon-seed: `injection-patterns.mjs` fra `llm-security`-pluginen. Repoet er på **v0.2 (alpha)**: stdlib-kjernen er bygget og testet (12 moduler + topp-nivå wiring, showcase + korpus), inkl. OKF-adapter og aktivt-innhold- detektor (EchoLeak-klassen) i output-gaten. Mode-b `import_bundle` skanner reserverte strukturfiler (`index.md`/`log.md`) i mottatte bundles i stedet for å path-avvise dem; upload-front-end beholder shadow-reject (`allow_reserved=False`). Output-gatens decode-and-rescan mater dekodet base64-klartekst gjennom BÅDE lexicon og secret-egress (LLM02), så en base64-innpakket credential fanges som `decoded:egress:*` i stedet for å forsvinne; hex-innpakket er en dokumentert restgap (entropy eksponerer kun base64-klartekst). Start med `docs/BRIEF.md` for design, `README.md` for bruk, `docs/PLAN.md` for byggerekkefølgen. ## Konvensjoner - Norsk for dialog og planer, engelsk for kode og innhold (repoet er publisert). - Ingen GitHub — kun Forgejo (`git.fromaitochitta.com`). - Remote satt: offentlig `open/`-speil på Forgejo; push hver commit (durabelt autorisert). - Minimal-dependency: stdlib-first kjerne; ML/judge-detektorer bak extras. ## Communication patterns ### Linking to local files When pointing to local files in responses, always use markdown link syntax with a descriptive name: - Use `[Human-friendly name](file:///absolute/path)` — never bare `file:///...` URLs or autolinks ``. - Always use absolute paths. Never `~/` or relative paths. - For multiple files, render as a bullet list of named markdown links. Why: bare `file://` URLs only render the first as clickable across multiple lines. Named markdown links make each entry independently clickable and look cleaner. Example: - [Brief](file:///Users/ktg/repos/llm-ingestion-pipeline-security/docs/BRIEF.md)