Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

File Share

No security coverage Under active development

Share private files with anyone, and revoke access when you need to.

File Share shares private files and media items with accounts on your site and with people who have none. A share is a set of files plus a set of recipients: site accounts, email addresses, or *@domain patterns that admit anyone at a domain. People without an account sign in with a 6-digit code or a single-use link sent to their address. Access is checked on every request, so revoking a share, a recipient or an issuer takes effect at once.

Documentation and demo video

Features

  • Share uploaded files, files already on the site, and media items. A share follows a media item when its file is replaced.
  • Recipients can be accounts, email addresses, or domain patterns. Each address and account can get an invitation with a personal sign-in link.
  • Sign-in by emailed code or single-use link. Opening a link shows a Continue button, so mail scanners cannot use it up. Codes and links are stored only as hashes, and each works once.
  • An address that belongs to an account must log in as that account. Blocking the account shuts it out.
  • Recipients can invite others. Removing a recipient removes everyone they invited.
  • Revoke a share, remove a recipient from one share or from every share, or revoke everything one account shared. Blocking or deleting an account does both.
  • Every download re-checks that the person who shared the file can still download it.
  • A log of every sign-in, download and refusal, purged after 90 days by default.
  • Optional emails to the issuer on each recipient's first download and on each invitation. Every email template can be edited.
  • Recipient sessions use their own cookie scoped to /share and never start a Drupal session, so anonymous page caching elsewhere is unaffected. The cookie works behind Pantheon's edge cache.
  • Drush commands to list, revoke and purge.
  • Tool API plugins for AI agents such as Site Agent. No tool result ever contains a sign-in link or token.

Requirements

  • Drupal core ^10.5 || ^11, and PHP 8.2 or later.
  • A private file system ($settings['file_private_path']). Only private files can be shared.
  • Optional: Media, to share media items.
  • Optional, for File Share Tools: Tool API 1.0.0-beta11 or later.

Submodules

  • File Share Tools adds Tool API plugins to create, change, list and revoke shares and read their activity, each run as the calling account. It classifies its write tools for Site Agent, so Site Agent asks for approval on every write. Experimental while Tool API is in beta.

Project status

File Share is in development on the 1.0.x branch. The File Share Tools submodule stays experimental until Tool API reaches 1.0, because that API may still change.

Similar projects

File Share adds stored, per-person access with recipients who need no account, invitations, revocation by share, recipient or issuer, and an activity log.

How this module is built

An AI coding assistant helped draft much of this module's code, tests and documentation. The maintainers review and take responsibility for every change. Contributions follow Drupal's policy on the use of AI when contributing to Drupal.

Supporting this module

File Share is developed and maintained by tbcs. Development is sponsored by:

Ask your assistant about File Share

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Oct 2026
Latest release
2 hours ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core PHP Release date
1.0.x-dev Dev 10–11 PHP >=8.2 Oct 20, 2026