Classic confinement request for sage-file-manager

Snap: sage-file-manager — file manager per Linux (Flutter + Rust).

Why classic is required:

  • Core function is arbitrary host filesystem management (browse/copy/move/delete anywhere the user has access, including /mnt, /media, network mounts, system paths) — impossible under strict/home confinement.

  • Spawns host system tools directly: sudo/pkexec (package install/remove, mount.cifs, disks), host package managers (apt, dnf, pacman, zypper, snap, flatpak) for the integrated package manager and system updater.

  • Launches host applications and opens files with host defaults (xdg-open, gio launch, .desktop execution, terminal emulators).

  • Reads host configuration: /etc/os-release, /proc/mounts, dconf/gsettings themes, removable-media automount.

A strictly-confined file manager cannot fulfill any of the above; classic is inherent to the app category (like other file-manager/IDE classic snaps).

To make the review of your request easier, please use the following template to provide all the required details and also include any other information that may be relevant.


  • name: name of the snap
  • description: description of the snap
  • snapcraft: URL pointing to the snapcraft.yaml if publicly available
  • upstream: URL pointing to the upstream repository, if open-source. Otherwise, ‘PRIVATE’
  • upstream-relation: relation of the snap publisher with the upstream project
  • supported-category: supported classic confinement category that the snap fits within. The list of supported categories can be found here
  • reasoning: technical reasons for why the existing interfaces are not sufficient for the snap to work under strict confinement.

I understand that strict confinement is generally preferred over classic.

I’ve tried the existing interfaces to make the snap to work under strict confinement.

Note that snappy-debug can be used to identify possible required interfaces. See https://snapcraft.io/docs/debug-snaps for more information.

This request has been added to the queue for review by the @reviewers team.

Hello @marcodg1 :slight_smile:

Arbitrary host filesystem access (browse/copy/move/delete across mnt, media, network mounts, etc.) is indeed not achievable under strict confinement, home and removable-media only cover a subset, and this is a legitimate known limitation.

File managers are not currently on the formal list of supported classic categories, but they have been discussed with the snapd architects, and the leaning has been positive with important caveats: the publisher must be directly associated with the upstream project, and the upstream project must have a reasonably sized, established user base.

As of today, I believe that sage-file-manager doesn’t meet this criteria because of the following reasons:

  • The project seems to be very fresh, according to the upstream repository,
  • The projects seems to have little/none community around according to upstream repository (contributors, issues, PRs, etc).
  • I could not find evidences that the project has a strong enough user base currently.

Finally, the snap falls into categories that are explicitly unsupported for classic confinement:

  • management snaps
  • 3rd party installer snaps (eg, for native packages, appimages, flatpaks, snaps, etc)
  • Direct access to sudo/pkexec

Thus, considering these factors, I think sage-file-manager should not get classic confinement as of now.