- name: belora-connect
- description: CONNECT is a real-time AI interpreter for video calls (Zoom, Google Meet, etc.). It reroutes the conferencing app’s audio through virtual devices in order to translate it in both directions in real time.
- snapcraft: PRIVATE (closed-source app — happy to share the snapcraft.yaml on request)
- upstream: PRIVATE
- upstream-relation: I am the sole developer and owner of this project.
- interfaces:
- pipewire:
- request-type: auto-connection
- reasoning: The app’s core function is bidirectional audio rerouting for live interpretation. Through the PipeWire socket it creates virtual sinks/sources at runtime (
pactl load-module module-null-sink/module-remap-source) and redirects the conferencing app’s streams into them (move-sink-input/move-source-output). Withoutpipewireconnected the app cannot create or route any audio and has no function at all. Since this is required for every single use, auto-connection avoids a broken first run that would otherwise force every user to runsnap connect belora-connect:pipewiremanually. The snap is strict (base: core24) and bundlespulseaudio-utils/pipewire-bin; all operations were verified to work under strict confinement with no AppArmor denials.
- audio-record:
- request-type: auto-connection
- reasoning: The app captures the user’s microphone (and the remote party’s audio) in order to translate it in real time, so
audio-recordis required for capture. Likepipewire, it is essential to the app’s only function, so auto-connection is needed for the app to work out of the box rather than requiring a manualsnap connect.
- pipewire:
For context, this follows from the discussion at classic confinement request: CONNECT (belora-connect) where it was confirmed that strict confinement is sufficient and I withdrew an earlier classic-confinement request.