Drupal dispone de dos métodos de descarga de archivos: descarga pública y descarga privada. Desde la configuración del sitio podremos seleccionar el método por defecto, pero posteriormente podremos tener conjuntamente archivos públicos y archivos privados.
Cuando definimos un archivo como privado, el módulo puede controlar si el usuario tiene acceso al archivo implementando hook_file_download().