Request for uinput installation and auto-connection for aiche-desktop

name: aiche-desktop

description: Desktop AI voice-to-text application that records speech, transcribes it, and can insert the resulting text into the currently focused application.

snapcraft: PRIVATE

upstream: PRIVATE

upstream-relation: Official publisher and upstream developer

interfaces:

uinput: request-type: installation reasoning: The snap uses uinput for an optional user-initiated Smart Insert workflow on Linux, where transcribed text is inserted into the currently focused application. The snap is strictly confined otherwise, but this feature requires synthetic input support that is not available through standard unprivileged interfaces.

uinput: request-type: auto-connection reasoning: Smart Insert is an advertised workflow of the application. Without automatic connection, users must perform a manual interface connection step before the feature works. We are requesting auto-connection to provide a functional default install experience for the user-initiated insertion workflow.

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

The uinput interface provides the ability to inject synthetic input events (keyboard/mouse) system-wide, which is considered a high-risk capability from a confinement and security perspective.

The feature appears to be optional and convenience-oriented, rather than essential for the core functionality of the application. so I would be aligned towards manual-connection

Also a follow-up question

  • Have you considered a clipboard-based approach for your use-case, where user pastes the content manually?

(#askForInfo)

Thanks for the follow-up.

We do support a clipboard fallback for manual paste. However, Smart Insert is a primary workflow on Linux, not just a convenience feature. The application is designed to transcribe speech and insert the result into the currently focused application as part of the same user action.

This also has an accessibility aspect for us: we support a hands-free mode for users who have difficulty typing on a keyboard and want to write messages, enter text in any application, or work entirely by voice. Requiring copy and paste breaks that flow.

Our use of uinput is limited to that user-initiated text insertion path. If auto-connection is not acceptable, we can proceed with manual connection and keep clipboard paste as the fallback, but our preferred outcome remains installation permission plus auto-connection for uinput.

Thanks for more context. We understand that Smart Insert is positioned as a primary workflow and that it has accessibility implications, particularly for hands-free usage. That is a valid consideration for this snap for allowing use of uinput as an optional capability.

However, from a confinement and platform security standpoint, uinput remains a super-privileged high-risk interface due to its ability to inject arbitrary input events system-wide. This will require the process to go through publisher-vetting process. So +1 for manual-connection to uinput the interface to this subject to the successful completion of publisher-veeting process. (#voteFor)

Other @reviewers , feel free to raise concerns.

Hello @aiche!

I believe the described functionality is reasonable for granting use of the uinput interface. Based on the optional nature of this feature, I agree with @0xnishit that manual-connection makes the most sense from the security perspective. This is a +1 (#voteFor) from me as well for manual connection upon successful publisher vetting.

Given that this is a private snap, please follow the instructions in this forum post to begin the vetting process and let us know here once it is complete. Thank you!

Voting period has ended. This request is approved with 2 votes for and 0 votes against.

Hey @aiche , let us know if you have completed the verified publisher process as mentioned by @elisehdy above

Yes, the Verified Publisher request has now received the required policy-reviewer approvals:

https://forum.snapcraft.io/t/verified-publisher-request-for-aiche-technologies-llc/50983

Please proceed with granting uinput installation/use for manual connection, as approved in this thread.

Revision 3 is already pending manual review due to the uinput allow-installation constraint:

https://dashboard.snapcraft.io/snaps/aiche-desktop/revisions/3/

If possible, please apply the declaration and approve or rerun the review for revision 3. If the existing revision cannot be reused, please let me know and I will upload a new revision.

Thanks.

+2 for, 0 against, manual-connection to uinput has been granted to this snap. This is now live

Thanks. The Verified Publisher process is complete, and the uinput manual-connection declaration is now live.

Revision 4, version 1.1.16, is still pending review due to the uinput allow-installation constraint:

https://dashboard.snapcraft.io/snaps/aiche-desktop/revisions/4/

Could you please approve or rerun the review for revision 4 now that the declaration and publisher vetting are complete?

Separately, the Verified Publisher badge currently shows the publisher name as “Pavel Pravdin” instead of “AICHE Technologies, LLC.” I already raised this in the Verified Publisher thread, but it may require store/account-side action. Could you please let me know where that correction should be handled, or route it to the appropriate team?

Thanks.

hey @aiche , it was blocked due to

gnome-extensions-dir:
   interface: personal-files
   write:
   - $HOME/.local/share/gnome-shell/extensions

We have granted uinput interface, not personal-files. Can you check whether it is needed or not, and if needed, kindly create a new forum ticket for that. Thanks