-
name: tscr
-
description: TSCR – Top Secret Chrono Crypt is a proprietary multi-platform desktop cybersecurity and cryptography application. It provides text, file and folder protection, multiple encryption profiles, a Secret Vault, secure secret generation, integrity and system tools, multilingual support, licensing, and desktop integration. TSCR is designed as a local-first / offline-first desktop security application.
-
snapcraft: PRIVATE (Store revision under review: OpenID transaction in progress )
-
upstream: PRIVATE
-
upstream-relation: I am the original author, developer, maintainer, and publisher of TSCR.
-
supported-category: None of the currently listed supported categories exactly fits TSCR. This request is submitted under the documented case where the application requires access to host resources / desktop integration that is not currently adequately supported by existing snapd interfaces.
-
reasoning:
We did not choose classic confinement as a shortcut or because we were unwilling to make TSCR work under strict confinement.
We first created and extensively tested a strictly confined TSCR build and spent significant effort adapting the existing desktop application to the Snap sandbox. We tested the available Snap interfaces and added the appropriate interfaces wherever they could correctly provide the resources required by the application.
We were eventually able to make the strict build run, but only after substantial adaptation and testing. More importantly, the resulting strictly confined package is materially degraded compared with the normal TSCR desktop application and with the tested classic-confinement build.
1. Severe runtime performance degradation under strict confinement
In our testing, the strictly confined build runs approximately 5–10 times slower during normal application operation, depending on the operation, than the equivalent native/classic build on the same system.
TSCR is a cybersecurity and cryptography application performing encryption/decryption, file and folder processing, Secret Vault operations, integrity and system operations, secure local storage workflows, and other security-related processing.
A performance regression of this magnitude is therefore not merely a cosmetic packaging issue. It directly affects normal application use and produces a substantially degraded user experience.
Publishing such a build would mean that Snap users receive a significantly slower version of TSCR than users of the same official application distributed through other channels such as the native build, DEB and AppImage.
2. Required KDE Plasma global desktop shortcut integration is unavailable under strict confinement
TSCR provides desktop-level global F9 / Alt+F9 shortcuts through KDE KGlobalAccel.
During strict-confinement testing we confirmed that normal session D-Bus communication itself works, but access to
org.kde.kglobalaccel, which is required by the existing TSCR global-shortcut integration, is denied by AppArmor.We tested the available Snap interfaces and were unable to find an interface that provides equivalent access to the existing KGlobalAccel integration.
org.freedesktop.portal.GlobalShortcutsis present on the test system, but replacing the existing integration with a portal-specific implementation would require changing the application itself and maintaining a separate Snap-specific desktop integration path. This is not simply a matter of enabling an existing interface.As a result, the strictly confined build cannot provide the same existing global desktop integration as the normal TSCR application.
3. Strict confinement materially changes the desktop/runtime environment expected by the application
During strict-confinement development we also had to work around Snap-specific differences in the application environment, including the confined home/runtime context versus the user’s actual desktop environment.
This is especially relevant for TSCR because it is a local-first desktop security application whose normal workflows interact with user-selected files and folders, removable storage, the operating-system credential store, system information, and desktop-level integration.
We used the available Snap interfaces wherever they correctly represented those requirements. The classic request is therefore not an attempt to obtain unrestricted access merely for convenience.
4. The classic-confinement build has been built and tested successfully
After the strict-confinement work, we produced and tested a classic-confinement build of TSCR.
The classic build provides the expected behaviour of the existing desktop application without the severe runtime degradation and desktop-integration restrictions observed in the strict build.
Therefore, this request is not based simply on strict confinement being difficult to package.
We actually built the strict version, tested it extensively, tested the available interfaces, diagnosed the remaining AppArmor/D-Bus limitation, and succeeded in making the application run under strict confinement.
The problem is that the resulting strict package is not an equivalent production version of TSCR.
It suffers from substantial performance degradation and cannot provide important existing host desktop integration. For a security application, distributing a materially slower and functionally reduced version only to Snap users would not be a good representation of the application and would provide an unnecessarily inferior user experience.
The purpose of the classic-confinement request is therefore to allow the Snap distribution to provide the same practical functionality, desktop integration and runtime characteristics as the official TSCR desktop application.
If snapd later provides interfaces that allow TSCR to achieve equivalent application behaviour and desktop integration under strict confinement, we would be willing to re-evaluate strict confinement.
Official TSCR website: https://tscr.x10.mx/
I understand that strict confinement is generally preferred over classic.
I’ve tried the existing interfaces to make the snap work under strict confinement.