Security & privacy

A tool that can press keys on your PC should be boring about security. Here is exactly what SofaDeck does and doesn't do.

LAN-only

SofaDeck serves the deck on your local network. It doesn't open ports on your router or relay through a cloud server.

Paired devices only

A phone must scan the one-time QR code and type the PIN shown on the PC before it can press anything.

No telemetry

The app doesn't collect usage statistics, crash reports or analytics. There's no account to create.

Two internet calls, both optional

A daily update check on sofadeck.com (you can turn it off) and, if you buy Pro, a license check with Gumroad. Nothing else.

Local network only

SofaDeck runs a small web server on your PC that is reachable from devices on the same local network. It does not use UPnP to open ports on your router, and there is no SofaDeck cloud service in between — your phone talks straight to your PC. From outside your home network, there is nothing to connect to.

That also means SofaDeck is only as private as your network. Use a Wi-Fi password, keep your router updated, and treat public or shared networks (hotels, dorms, offices) with care: on those, only pair devices you control and quit SofaDeck when you're done. Windows helps here — allowing SofaDeck on Private networks only means it isn't reachable when your laptop is on a network you've marked Public.

Pairing

A phone can't simply browse to your PC and start pressing buttons. Pairing works in two halves: the QR code shown on the PC carries a one-time pairing code (valid for 10 minutes, usable once), and the 6-digit PIN shown next to it must be typed on the phone. Five wrong PINs cancel the code. Only after both does the phone receive its own device key, which it presents on every later connection; the PC stores only a hash of it. Everything else is refused, and SofaDeck ignores requests from outside your local network even if a router port were forwarded.

You can see and remove paired devices from SofaDeck on the PC. Remove a device and its key stops working immediately — do this if you lose a phone or give one away.

What the buttons can do

The phone sends "press button 7" or a sentence like "volume 30", not programs to run; the actions live on the PC. Paired phones can add and rearrange buttons (you can switch that off), but they can't create command, script, file or custom-program buttons unless you allow it in SofaDeck's settings on the PC — those are set up on the PC. Shut down, restart, sleep and sign out always ask for confirmation first.

Voice

Voice is push-to-talk: nothing listens until you tap the mic button. Speech-to-text is done by your phone's browser (which may use Google's or Apple's speech service, depending on your phone), and only the recognised text reaches SofaDeck. The PC's own microphone is never used, and no audio is stored by SofaDeck.

Phone browsers only allow the microphone on secure (https) pages, so SofaDeck talks to your phone over https using its own local certificate, created on your PC the first time it runs. You trust it once on the phone (the pairing page shows how) or accept the browser warning. That certificate is limited to home-network addresses such as 192.168.x.x, so it can't be used to impersonate real websites, and its private key never leaves your PC.

No telemetry, no account

The SofaDeck app contains no analytics or tracking. It doesn't report what you do and doesn't need an account. It makes two kinds of internet request: once a day it downloads sofadeck.com/download/latest.json to see whether an update exists (turn this off in Settings), and if you activate Pro it sends your license key to Gumroad's license API to confirm it's valid — on activation and about once a week after.

This website is separate from the app and uses privacy-friendly analytics to understand which pages help people — details are in the privacy policy.

Downloads you can verify

Every release on the download page is listed with its SHA-256 checksum, and the page shows how to check it with one PowerShell command. Only download SofaDeck from www.sofadeck.com. In-app updates are cryptographically signed: SofaDeck only installs an update whose signature matches the release key built into the app and whose checksum matches. Early builds aren't Authenticode-signed yet, so Windows SmartScreen may ask you to click More info → Run anyway the first time.

On a Mac

SofaDeck for Mac is a direct download from this site, signed with Dixon App Studio's Apple Developer ID and notarized by Apple, so macOS checks it for known malware before it first opens. It isn't in the Mac App Store because the App Store's sandbox doesn't allow one app to launch and control others — which is the whole point of a control deck. The same pairing, local-network and no-telemetry rules above apply. macOS adds two permission prompts you stay in charge of: Local Network (so phones on your Wi-Fi can reach it) and Accessibility (only needed for hotkeys, typing and media keys; you can switch it off in System Settings → Privacy & Security at any time). In-app updates on a Mac also check Apple's signature and notarization before the new version replaces the old one.

Reporting a security issue

If you think you've found a security problem, please email support@dixonappstudio.com with "Security" in the subject and steps to reproduce it. We'll reply, fix confirmed issues promptly and credit you in the changelog if you'd like.