Classic confinement request: sessionsifu

  • name: sessionsifu
  • description: SessionSifu saves and restores user desktop sessions. It records running applications, user-selected/open documents and observable window state, then can relaunch those applications and rebuild supported window layouts. The optional Privacy Recall feature is disabled by default and stores encrypted screenshots/OCR locally.
  • snapcraft: SessionSifu/snap/snapcraft.yaml at main · tpluharik/SessionSifu · GitHub
  • upstream: GitHub - tpluharik/SessionSifu: SessionSifu · GitHub
  • upstream-relation: I am the upstream author/maintainer and the snap publisher.
  • supported-category: agent/assistant that runs arbitrary user-directed code and needs to reach files and programs that aren’t known at build time.
  • reasoning: SessionSifu’s core restore operation intentionally starts the exact host applications and opens the exact local documents selected by the user when the session was saved. Those application IDs, executable paths, desktop files, argument vectors and document paths are not known when the snap is built.

Strict interfaces such as desktop, desktop-legacy, wayland, x11, home, removable-media and desktop-launch were evaluated. They can expose the UI and selected files, but they cannot provide the complete core workflow:

  1. Session capture enumerates the user’s existing host processes/windows and reads bounded process metadata such as /proc/<pid>/cmdline and eligible /proc/<pid>/fd targets to associate documents with applications.
  2. Restore resolves host desktop entries/executables and launches arbitrary user-directed host applications with validated argument vectors. desktop-launch/portals choose a handler for a URI but cannot restore the exact saved application and launch arguments.
  3. Window-layout restoration must communicate with the current user session/window manager and, where available, host tools such as wmctrl or kdotool. The required applications, files and compositor capabilities vary at runtime and cannot be declared as a fixed interface set.

Removing these operations would reduce the snap to a different product that cannot save and restore sessions. The snap therefore fits the supported agent/assistant category: it runs user-directed programs and reaches user-directed files that are unknown at build time.

This snap is the portable KDE Plasma/general GNOME edition only. It does not ship or install the GNOME Shell extension; the full Ubuntu 26.04/GNOME Shell 50 integration is distributed separately through the project’s PPA.

SessionSifu runs only as the logged-in user. It has no root helper, privileged daemon or sudo/pkexec integration. Session and Recall data remain local, Recall is off by default, and launch arguments are passed as bounded vectors rather than through a shell. The project documents its security and privacy boundaries at SessionSifu/SECURITY.md at main · tpluharik/SessionSifu · GitHub and SessionSifu/docs/PRIVACY.md at main · tpluharik/SessionSifu · GitHub .

I understand that strict confinement is generally preferred over classic. Classic is requested because the exact user-directed host application/process/session access above is the primary purpose of SessionSifu, not merely because strict packaging is inconvenient.

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

Please note that this brandnew added category is actually exclusively for AI agents (see this pending change that is supposed to make the wording more clear)

Your tool looks like a generic session management extension to the GNOME desktop instead, I doubt it can fall into this category …

Hey @tpluharik

It is plausible that there are technical reasons why this snap needs classic to work properly in all scenarios, but please note that classic confinement is a sensitive matter and it is reserved for mature, well-known applications published by mature, well-known entities. As of today, I believe that this snap 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

Thus, considering these factors, I think this snap should not get classic confinement as of now.