David Barragán Merino a8ccb5e0cd 🐳 Add configurable CSP and HSTS headers to the frontend image
Ship both headers from the image so that every deployment starts from a sensible default instead of each installation deriving its own policy. Report-only mode never blocks a request, so this changes no behaviour for existing deployments, and HSTS stays absent unless PENPOT_PUBLIC_URI declares an https scheme.

The policy can be narrow because the frontend already reverse proxies its own external dependencies, so 'self' covers them. What it must permit beyond that comes from the code: 'wasm-unsafe-eval' for the render engine, 'unsafe-inline' styles for the inline style attributes of the UI, and blob:/data: for thumbnails, exports and fonts.

Closes #11374
Signed-off-by: David Barragán Merino <david.barragan@kaleidos.net>
AI-assisted-by: Claude
2026-09-01 16:13:04 +02:00
..
2024-10-30 13:30:02 +01:00
2024-10-30 13:30:02 +01:00
2024-10-30 13:30:02 +01:00
2026-01-22 13:55:41 +01:00
2025-10-28 11:04:09 +01:00
2024-10-30 13:30:02 +01:00
2024-10-30 13:30:02 +01:00
2024-10-30 13:30:02 +01:00
2024-10-30 13:30:02 +01:00
2024-10-30 13:30:02 +01:00
2026-01-22 13:55:41 +01:00
2024-10-30 13:30:02 +01:00

Penpot Docs

Penpot documentation website.

Usage

To view this site locally, first set up the environment:

# only if necessary
nvm install
nvm use
corepack enable

pnpm install

And launch a development server:

pnpm start

You can then point a browser to http://localhost:8080.

Tooling