Files
Hartmut c4b01c1bfc security: workbook path allowlist + stronger image polyglot validation (#54)
- dispo workbook imports are pinned to DISPO_IMPORT_DIR (default ./imports):
  tRPC input rejects absolute paths and .. segments, runtime reader
  re-validates containment via path.relative. Closes a path-traversal
  class that reached ExcelJS CVEs through admin/compromised tokens.
- image validator now checks the full 8-byte PNG magic, enforces PNG IEND
  and JPEG EOI trailers, scans the decoded buffer for markup polyglot
  markers (<script, <svg, <iframe, javascript:, onerror=, ...), and
  explicitly rejects SVG. Provider-generated covers (DALL-E, Gemini) run
  through the same validator before persistence — an untrusted upstream
  cannot smuggle a stored-XSS payload past us.
- added image-validation.test.ts and tightened documentation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-17 15:26:29 +02:00
..

Documentation Index

Date: 2026-03-12 Purpose: Single entry point for active CapaKraken product and technical documentation.

Canonical Documents

Topic File Use
AI excellence due diligence ai-excellence-due-diligence-roadmap.md Frank quality assessment and cleanup roadmap toward a showcase AI-built project
Showcase quality backlog showcase-quality-backlog.md Consolidated working backlog for the current quality and maintainability north star
Parallel worktree hygiene parallel-worktree-hygiene.md Keep parallel worker slices isolated and the worktree reviewable
Target CI/CD architecture cicd-target-architecture.md Canonical image-based build, deploy, and rollback flow
Active roadmap and open gaps product-roadmap.md Primary backlog and current delivery order
Estimating system design estimating-extension-design.md Workbook analysis, field mapping, and implementation plan
Dispo import implementation dispo-import-implementation.md Clean-slate Dispo v2 import design, mapping rules, staging flow, and commit policy
Dispo import ticket pack dispo-import-implementation-tickets.md Worker-ready delivery slices, dependencies, and acceptance criteria for the Dispo import
Demand/assignment cutover guide demand-assignment-migration-cutover.md Go/no-go criteria, staged cutover, and readiness artifact policy
Strategic architecture direction v2-architecture-proposal-2026-03-11.md Longer-horizon architecture target
Implementation history LEARNINGS.md Append-only decisions and lessons
Agent/project guidance CLAUDE.md Working conventions and quality gates

Archive Policy

Older plan and proposal markdown files stay in the repository only as archive notes when:

  • the feature is already implemented enough to leave the active backlog
  • the content was merged into a canonical document
  • the file still has historical value, but should not drive current work

Archive-note files should point back to the relevant canonical document instead of carrying parallel backlog state.

Current Archive Notes

All archived markdown plan and proposal files now live under docs/old-markdowns/.