Privacy Policy

Stream Deck · Last updated: April 23, 2026 · Version 1.0

One-line summary Stream Deck does not collect personal data for marketing, profiling, or advertising. Every button, action, and setting you configure stays on your Mac. The only outbound data we process is anonymous crash reports (Sentry) sent only when the app crashes, plus website favicon requests when you add a URL button.

1. Who we are

Stream Deck (hereinafter, "the App") is developed and operated by Ingeniería.dev, led by Chris Flores (hereinafter, "we", "the Developer").

2. What data we collect

Stream Deck was built with privacy by default. The App:

One exception exists, strictly for reliability: we use Sentry for anonymous crash reporting. See section 4.2 below for exactly what is sent.

3. What is stored on your Mac

The App stores the following data locally, all of it confined to the macOS sandbox:

DataPurposeLocation
Your buttons and their actions Remember the deck you configured (names, action types, URLs, script bodies, file paths, shortcut combos, System Settings targets) Mac (SwiftData)
Custom button images Store the custom image you picked for a button, if any Mac file system (~/Library/Containers/com.chris.stream-deck/Data/Library/Application Support/VirtualStreamDeck/ButtonImages/)
Favicon cache Avoid re-downloading the icon of a site you've already used in a URL button Mac file system (sandbox cache)
App preferences Floating tab visibility, menu bar visibility, tab color, language, onboarding completion macOS UserDefaults (sandboxed)

This data is never sent to the Developer's servers. If you delete the App, all preferences and button configurations are removed with it.

4. External services

4.1 Favicon fetching (when you add a URL button)

When you configure a URL button, Stream Deck fetches the website's favicon so the button can display its icon. The request goes directly from your Mac to the website you entered (or to Google's or DuckDuckGo's public favicon services as fallback), and carries no identifier, no account, and no data beyond a standard HTTPS request for an image file. The resulting icon is cached locally so we don't fetch it again.

4.2 Crash reporting (Sentry)

Stream Deck uses Sentry (sentry.io/privacy) for anonymous crash reports. Sentry runs on our behalf and only receives data when the App crashes or hits a handled error. What is sent in a crash report:

What is not sent:

Crash reports are used exclusively to diagnose and fix bugs. Sentry's retention is 90 days by default. See the full data flow in Sentry's Privacy Policy.

4.3 Apple and StoreKit

The $4.99 USD one-time purchase is processed exclusively by Apple through your Apple ID using StoreKit. Apple acts as the payment processor; we never have access to your payment card, billing address, or any payment data. See Apple's Privacy Policy.

4.4 No other external services

Beyond the three cases above (favicon fetches, crash reporting, purchase processing), Stream Deck makes no API calls, uses no analytics providers, joins no ad networks, and has no update service of its own. All app updates are distributed through the Mac App Store.

5. System permissions requested

Stream Deck requests two macOS system permissions. Both are used exclusively on your local machine and the data they enable is never transmitted:

PermissionPurposeData transmitted?
Accessibility
(AXIsProcessTrusted)
Send the keyboard shortcuts you configure (such as ⌘C or ⌘Space) to the app that is currently active. The App only emits the exact key combinations you set up. It does not read or log what you type. Never. Keystrokes are sent locally to the focused app by macOS itself.
Automation
(Apple Events)
Open the specific System Settings panels you configured as button actions (e.g. jumping straight to Wi-Fi or Bluetooth). The App only scripts the apps you explicitly configured — never in the background, never without your action. Never. Apple Events are dispatched locally by macOS between apps on the same Mac.

If you revoke either permission in System Settings → Privacy & Security, the corresponding button type will stop working but the rest of the App will continue to function.

6. Shell scripts (safety scope)

Buttons configured to run a shell script are restricted to a whitelist of safe commands: open, osascript, defaults, say, pmset, caffeinate, pbcopy, pbpaste, afplay. Pipes, command chaining, and arbitrary shell are not allowed. Scripts run locally in /bin/bash inside the App's sandbox and produce no network activity.

7. Marketing and advertising

The App displays no ads. We do not collect data for remarketing, profiling, or any promotional purpose. We do not participate in ad networks, and we do not sell information to third parties.

8. Purchase and in-app purchases

Stream Deck is a paid app on the Mac App Store: a one-time purchase of $4.99 USD. There are no subscriptions, no in-app purchases, and no premium tiers after that. Payment processing is described in section 4.3 above.

9. Minors

The App is rated 4+ and is suitable for all ages. We do not knowingly collect information from minors. Because the App requires no registration and collects no data, it complies with COPPA (US), LGPD Infantil (Brazil), and GDPR-K (EU) by design.

10. User rights (GDPR, CCPA, LFPDPPP)

Even though we collect no data, the following rights are guaranteed by design:

For any questions about your rights, please email christian@irack.mx.

11. Security

The App runs inside the macOS App Sandbox, which restricts its access to only the resources it explicitly requests. Local data is protected by macOS disk encryption (FileVault, when enabled by the user). Favicon requests to external websites use HTTPS/TLS 1.2+ whenever the site supports it.

12. International transfers

We do not perform international transfers of personal data because we do not store personal data on any server. Favicon requests go directly from your Mac to the website you entered, and we have no visibility into them.

13. Changes to this policy

We may update this Privacy Policy to reflect changes to the App or to applicable law. The current version will always be published at this URL, along with the date of the last update. Material changes will also be announced in the Mac App Store release notes.

14. Governing law

This Policy is governed by the laws of the United Mexican States, in particular the Federal Law on Protection of Personal Data Held by Private Parties (LFPDPPP). Any dispute will be submitted to the competent courts of Mexico City.

15. Contact

Privacy Officer: Chris Flores
Email: christian@irack.mx
Postal address: Av. Javier Barros Sierra 495, Santa Fe Lomas de Santa Fe Zedec Santa Fé, Álvaro Obregón 01219, Mexico City, CDMX, Mexico