Privacy Policy
Effective May 6, 2026
Mirage ("we", "our", "the app") is a window and desktop streaming application developed by Ethan Lipnik in the United States. This policy describes what information Mirage processes, how it is used, the services we rely on, and the choices you have. For privacy requests, contact [email protected].
Streaming Data
Screen content, audio, and input events are streamed directly between your devices over your local network, a peer-to-peer link, or your own VPN. Mirage does not route streaming media through external servers, and no screen content is stored or recorded by Mirage.
Remote sessions keep media payload encryption enabled. Mirage Pro also includes local media encryption controls. Free-tier local sessions may run without encrypted media payloads. When media encryption is enabled, video, audio, and supported clipboard payloads use per-session key derivation with AES-256-GCM.
iCloud
Mirage uses Apple's CloudKit to enable automatic device discovery and trust between devices signed in to the same iCloud account. The following data may be stored in your private iCloud container:
- Device identifiers and host names for discovery
- Identity keys for establishing trust between your devices
- Hardware metadata hints used for device icons
This data is stored in your personal iCloud account and is governed by Apple's iCloud privacy policies. You can remove it at any time from within the app or through iCloud settings.
Subscriptions
Mirage Pro subscriptions are processed through the App Store using Apple's StoreKit entitlement infrastructure and Mirage's local subscription cache. We do not receive or store your payment details. All billing is handled by Apple.
Mirage stores a local entitlement cache so Mirage Pro access can continue temporarily during App Store connectivity failures. Subscription state is not shared with a third-party subscription processor.
Support Requests
If you contact support, we process the email address and message content you provide so we can respond and troubleshoot the issue. Avoid sending screen content, credentials, or other sensitive information unless requested for a specific support case.
Error Reporting
Mirage uses Sentry for crash and error reporting. The level of diagnostic data sent is configurable:
- None: no diagnostics are sent
- Crashes Only: only crash reports are sent
- Errors: crashes and non-fatal errors are sent
Client and host apps default to "Errors." When enabled, crash reports may include device model, OS version, app version, crash stack traces, curated breadcrumbs, and technical context. Client diagnostics may include the same pseudonymous correlation identifier used by analytics and subscriptions. Raw iCloud record identifiers, raw stream media, message bodies, credentials, and payment details are not forwarded.
Analytics
Anonymous Analytics is off by default in App Store builds and only starts after you enable it in Settings, onboarding, or the host capture benchmark submission toggle. TestFlight beta builds keep Anonymous Analytics on automatically for beta testing. When Anonymous Analytics is enabled, Mirage uses PostHog US Cloud to send feature usage events such as app launch metadata, connection attempts/outcomes, stream start/stop outcomes, opt-in host capture benchmark summaries/stage metrics, and session-duration signals, using a pseudonymous correlation identifier as PostHog's distinct ID. PostHog person profiles, screen capture, screen view capture, and lifecycle event capture are disabled. Analytics data is used to understand adoption, identify stuck points, and prioritize development.
Legal Bases for EU and UK Users
Where EU or UK data protection law applies, Mirage relies on contract necessity for core app functionality and subscriptions, legitimate interests for security, diagnostics, and TestFlight beta analytics, consent for App Store build Anonymous Analytics, and legal obligation where required by law. You can withdraw consent-based choices in Settings.
Retention
Local settings, host preferences, trust/cache metadata, and subscription cache entries remain on your device until you reset them or remove the app and its container data. Subscription cache entries may be used for up to 45 days during App Store connectivity failures. iCloud discovery records remain until you remove them from Mirage or iCloud. Diagnostics and analytics records are retained only as needed for reliability, security, product analytics, and support.
International Transfers
Mirage is operated from the United States and uses Apple, Sentry, and PostHog infrastructure that may process data outside your country. Where transfer safeguards are required, Mirage relies on the safeguards offered by those providers, including their data processing terms and transfer mechanisms.
Data We Do Not Collect
- We do not collect or store the contents of your screen on Mirage-operated servers
- We do not track your location
- We do not sell personal data or share it for advertising or behavioral tracking
- We do not use advertising SDKs or behavioral tracking
Third-Party Services
Mirage integrates the following third-party services, each with their own privacy policies:
Your Choices
You can control diagnostics and Anonymous Analytics in Settings. You can remove your iCloud discovery data from within the app or by managing your iCloud storage through System Settings. Subscription management is available through the App Store.
Your Privacy Rights
Depending on where you live, you may have rights to request access, correction, deletion, restriction, portability, objection, and withdrawal of consent for personal data that Mirage controls. EU and UK users may also lodge a complaint with their local data protection authority, including the UK Information Commissioner's Office for UK users. To make a request, contact [email protected].
Children's Privacy
Mirage is not directed at children under the age of 13. We do not knowingly collect information from children.
Changes to This Policy
We may update this privacy policy from time to time. Material changes will be communicated through the app or this page.
Contact
If you have questions about this privacy policy, please contact [email protected].