Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). Varbase Media Header 9.2.1 Minor update available for module varbase_media_header (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

File Crusader

7 sites No security coverage
View on drupal.org

This module prevents files attached to unpublished content from being accessed via their public URLs. It automatically moves these files to a protected location when their parent entity is unpublished, enhancing security and ensuring files respect content publishing status.

File Crusader is a Drupal module that enhances file access control by moving public files to an inaccessible path when their parent entity is unpublished. This prevents users from accessing files via their public URLs once the content they were attached to is not published.

Problem It Solves
In Drupal core, files stored in the public file system remain reachable by direct URL even if the parent content (such as a node or media entity) is unpublished. File Crusader closes that gap by programmatically relocating those files into a protected location when their parent is unpublished — ensuring that files truly respect entity publishing state.

Key Features
- Automatically moves public files to an inaccessible private path when their parent entity is unpublished.

- Respects the publish/unpublish status of all parent entities before acting.

- Shows warnings when a file cannot be unpublished due to active references (for example, attached to another published entity).

- Supports unpublishing single media entity files when the media parent is unpublished.

Use Cases
- Ensuring that unpublished content does not leak associated files via direct URLs.

- Preventing user access to attached media or images when parent content is unpublished.

- Improving security posture for sites with restricted or sensitive media.

In the future, this module could be useful for organizations which change administrations and need to ensure old policy documents cached in search engines are not accessible and interpreted as current.

Installation
composer require 'drupal/file_crusader:^1.0@alpha'

Compatibility
- Drupal 10
- Drupal 11

Activity

Total releases
2
First release
Feb 2026
Latest release
3 months ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Releases

Version Type Release date
1.0.0-alpha4 Pre-release Mar 30, 2026
1.0.0-alpha3 Pre-release Feb 11, 2026