Architecture
Stealth sits between the employee’s display and whatever is capturing it. Protected windows are excluded from capture and a frosted stand-in is drawn in their place, all on the device. The employee keeps seeing the real window; Zoom, Teams, Meet, Loom, OBS, and other capture tools record the frost.
A separate path talks to the license and policy service. That path never carries screen contents.
Boundary: screen pixels are never transmitted. Stealth does not read window titles, page contents, or browser addresses. Nothing about what is on screen is stored or uploaded.
Permissions
| Permission | Why | What it can see | Leaves the device? |
|---|---|---|---|
| macOS Screen Recording | Show the employee their real window while the share receives frost | Frames of the protected window, rendered back to the same display in real time — never written to disk | No |
| macOS Input Monitoring (optional) | Move the frost before the Dock does on ⌘Tab, Dock clicks and window clicks, so an app switch never flashes to the meeting | Modifier-key and mouse-button events only — no keystroke contents | No |
| Windows | No permission prompt. Protected windows are excluded from capture with a Windows API | Window bounds and process identity | No |
| Network | License validation, team policy, updates | Email, license key, anonymous device id, policy version | Yes — those fields only |
Stealth does not ask for Accessibility, Automation, or any other macOS permission. Screen Recording is the one it needs: it is how macOS lets Stealth mirror a protected window back to you while the share receives frost. Those frames stay in memory on the device and are drawn straight back to the screen. macOS 15 re-confirms this grant with a system dialog (“bypass the system private window picker”) after each Stealth update and roughly monthly; that is Apple’s standard cadence for every app that captures the screen, and it is not a new permission.
Network behavior
- License / policy:
https://stealth-license.adsbg6.workers.dev— validate, deactivate, silent MDM activate, team policy. Team keys re-check about every five minutes (fail-open on network errors). - Team portal: the same worker, from
getstealth.app/team.html, for magic-link login, seats, invites, and MDM token download. - Payments: Stripe Checkout and Customer Portal. We never see full card numbers.
- Email: Resend, from
[email protected]and support mail to[email protected]. - Website: Cloudflare Pages/CDN for getstealth.app. Google Analytics 4 on the marketing site only — not inside the desktop app.
- Updates: Mac checks
version.jsonon getstealth.app; Windows uses Microsoft Store updates.
There is no telemetry about which apps you protect or whether a screen share is in progress.
Data handling
| Data | Stored? | Where |
|---|---|---|
| Screen pixels / window titles / message contents / browser addresses | No | — |
| Buyer / member work email | Yes | License KV, Stripe, Resend |
| License key, anonymous device id | Yes | License KV; key also in macOS Keychain / Windows credential store |
| Team policy (apps, frost settings, locks) | Yes | License KV; pushed to enrolled devices |
| Seat quantity, subscription status | Yes | Stripe + License KV |
| Billing metadata, invoices | Yes | Stripe |
| Website analytics (pages, clicks) | Yes, anonymized IP | Google Analytics |
| Pilot request form fields | Email only | Sent to support; IP used for short rate-limit |
Software supply chain
- Mac: Developer ID signed and notarized. Distributed as a DMG from getstealth.app.
- Windows: distributed through the Microsoft Store.
- Updates: Mac version file on the same site; Windows via Store. We do not ship unsigned blobs from the license worker.
- Vulnerability reports: [email protected].
Subprocessors
- Stripe — payments, subscriptions, invoices, customer portal.
- Cloudflare — website, DNS, CDN, Workers, KV for licenses and team records.
- Resend — license, invite, and transactional email.
- Google Analytics — marketing site only.
- Microsoft — Store distribution and (if you use Intune) your own MDM tenant, not ours.
Where Stealth fits
Already use data loss prevention (DLP)? Stealth complements your existing security controls by protecting sensitive information that’s accidentally visible during screen sharing and recording. It also works on its own — nothing else to buy or configure first.
What we don’t claim
Stealth is not SOC 2 or HIPAA certified. It is not a DLP suite, CASB, or secure workspace. It does not inspect files, email, USB, or clipboard. Full-display share is protected; sharing a single application window is not. That honesty is deliberate — a security review will find the limit anyway.
Enterprise packet
If you need a security questionnaire, W-9, order form, or DPA discussion, email [email protected]. We will not invent badges we don’t have.
Start with 10 devices
Run the policy on a pilot group before the security review has to cover 500 seats.
Start a 14-day team pilot