One route, many pages
A [slug] route can render every page in a collection. /privacy, /terms, /license all resolve to [slug]/+page.svelte. The content comes from the matching Markdown file.
Load by slug
In +page.js, read params.slug, look up the Markdown file, and return its metadata and body. If it does not exist, call error(404).
Shared layout
All legal pages share the same layout: page header, body container, footer. The route renders the shared layout. The content fills the body.
Summary
A dynamic route plus a content collection replaces a folder of near-identical page files. One template, many pages.