A draft disappears from the homepage, so it looks hidden. If its detail page is still generated, anyone with the URL can open it.

This site applies !data.draft to both public queries and generated article paths. Feeds use published articles too. Translation lookup must exclude drafts before offering a language switch.

A useful check is to create a draft with a distinctive title, build, search the page output and feed, and try the expected URL. Checking the list alone misses other ways content can escape.

Turning a published article back into a draft requires another build and deployment. A hosting process that only uploads new files may leave the old page behind; confirm that obsolete paths are removed.

Images in public/ remain independent assets. An unpublished article does not protect an uploaded image. A draft flag manages editorial state; private material needs a separate access boundary.

Reference: Astro static routes.