Block a user
[pentest] DELETE /api/pastes/{id} performs deletion without any authentication or deletion token
[pentest] Burn-after-read counter race: single-read paste can be fetched multiple times concurrently
[pentest] Password-protected and unlisted pastes are exposed in public listings /api/public
[pentest] Burn-after-read counter race: single-read paste can be fetched multiple times concurrently
Security pentest sweep
Findings split into followup issues: #58 (burn race, MED), #59 (security headers, MED), #60 (expires_in clamp, LOW). Both CRITICALs fixed in cb23707 and deployed in v0.2.0. Non-exploitable items…
Security: fix burn-after-read race (atomic conditional delete)
Security: add security headers middleware (CSP, X-Frame-Options, Referrer-Policy)
Security: clamp expires_in at API boundary (reject zero/negative, cap 1yr)
Blind pentest against dev build on k3s
Refactor: project structure cleanup
k3s deployment complete (palette namespace on goyplex-vm): Deployment v0.2.0 image, PVC 5Gi, Service, IngressRoute palette.archfox.org (letsencrypt-dns). Pull secret palette-regcred. Verified: pod…