FruitConnect — Privacy Policy

Last updated: 2026-06-08 · Effective date: 2026-06-08 · Contact: David Kaiser, fruitconnect@davidkaiser.dk
Applications: FruitConnect for macOS (companion application) and FruitConnect for Meta Quest (Quest 2 / Pro / 3 / 3S)
Plain-language summary. FruitConnect streams your Mac's screen to a 2D panel inside Meta Quest. We do not collect analytics, telemetry, or behavioural data. We do not show ads. We do not sell, share, or rent your data. Your screen content, keystrokes, and files never reach any server we control.

What the app actually does:

Meta Horizon Platform data we access (Data Use Checkup)

FruitConnect uses the following Meta Horizon Platform features, requested through Meta's Data Use Checkup. This section articulates, in Meta's own terms, every category of Developer User Data and User Data the app collects, uses, and processes; the numbered sections referenced below give the full technical detail.

Platform featureData we accessHow we use itShared with third parties?Retention
User ID Your Meta user identifier. Binds each paired Mac to your Meta account so a different account signed in on the same headset cannot inherit or access your saved pairings (anti-hijack security). See section 1.4. No — never sent to any server we control. Until you uninstall or switch Meta account (section 1.4).
User profile Your Meta Horizon username (display name). This permission also exposes your profile photo, which FruitConnect does not access or use. Shows your display name on your paired Mac(s) so you can see who is connecting; you can override it in Settings. See section 1.4. No. Same as User ID (section 1.4).
In-app purchases A purchase request for the Pro SKU and a Meta-validated entitlement/receipt (Pro: yes/no). Unlocks the optional Pro upgrade. See section 2.3. No — billing details and purchase history are never sent to our servers. Not stored by us.
Subscriptions Your subscription status and billing-period start/end time for the Pro subscription, read from Meta. Determines whether your Pro subscription is currently active so the app can unlock unlimited streaming. See section 2.3. No. Read at runtime; not stored on our servers.

FruitConnect does not use Meta's User age group data. The app serves a single audience rated 13+ (Teens & Adults) and applies no age-based logic in the app (see section 5, Children's privacy).

1. Data stored on your device

All data below is stored exclusively on your Quest headset. None of it leaves the device unless you take an action that requires it.

1.1 Device identifier

1.2 Paired Macs

1.3 User preferences

1.4 Meta account identifier (v3.35+)

2. Data sent over the network

2.1 Local network (LAN) pairing and streaming

When your Mac is on the same Wi-Fi or USB-tethered, all communication stays inside your local network.

2.2 Internet pairing and streaming (Remote Access)

If your Mac is not on the same network, FruitConnect can connect over the internet.

2.2.1 Rendezvous mailbox

2.2.2 STUN servers

2.2.3 TURN relay (optional, build-time)

If a TURN relay is enabled in this build (some networks behind symmetric NAT require it), encrypted media bytes may be relayed through the configured TURN provider. The TURN provider sees encrypted bytes only — they cannot decrypt video, audio, or input events.

2.2.4 Encrypted media stream

Once Quest and Mac have established a WebRTC connection (via the rendezvous mailbox and STUN), all video frames, input events, and control messages are end-to-end encrypted using DTLS-SRTP (the WebRTC standard). Neither we nor any third party can read the contents of this stream.

2.3 Meta Horizon Platform (In-App Purchases & Subscriptions)

If you tap the Pro upgrade button, or whenever the app checks whether your Pro subscription is active:

Meta's privacy policy governs data Meta collects during this transaction: https://www.meta.com/privacy/policy/

2.4 Diagnostic and feedback uploads (opt-in, never automatic)

FruitConnect contains a "Send debug log" button (macOS menu) and a "Send Feedback" form (both platforms). These are the only ways the application transmits anything to a server controlled by the Licensor outside of the rendezvous mailbox described in section 2.2.

2.4.1 Diagnostic submission — https://davidkaiser.dk/fruitconnect/signal/diagnostic.php

2.4.2 Feedback submission — https://davidkaiser.dk/fruitconnect/signal/feedback.php

2.4.3 Your control

3. Data we do not collect

To make this concrete, FruitConnect explicitly does not:

4. Permissions the app requests

Android permissionWhy we request it
INTERNETRequired for Remote Access (internet pairing/streaming). Not used during LAN-only sessions.
ACCESS_NETWORK_STATEDetect whether you are online before attempting Remote Access.
ACCESS_WIFI_STATEDetect Wi-Fi changes to auto-upgrade from Remote Access to LAN when your Mac becomes reachable.
CAMERA (runtime prompt)Scan the QR code shown on your Mac when pairing. The camera feed is processed locally on the headset by ML Kit's barcode scanner; no frames leave the device. Granted only when you open the QR-scan screen, and you can deny it and use the 6-digit code instead.
horizonos.permission.HEADSET_CAMERAQuest-specific equivalent of the Android camera permission, required by the QR scanner.
com.oculus.permission.HAND_TRACKINGAllows the UI to respond to hand-tracking input as an alternative to controllers.
MODIFY_AUDIO_SETTINGSAudio focus and volume control for Mac LAN audio playback (v4 protocol). Used for playback only — RECORD_AUDIO is intentionally not requested.

The app does not request microphone, location, contacts, calendar, storage, SMS, telephony, or any other permission.

5. Children's privacy

FruitConnect is not directed at children under 13. The Meta Horizon Store age rating for this app reflects this. We do not knowingly collect personal data from children. If you believe a child has used the app on your headset, uninstalling the app will permanently delete all locally stored data.

6. Your rights

You can at any time:

For privacy questions or to exercise other rights, email fruitconnect@davidkaiser.dk and a response will be sent within 30 days.

If you are in the EU/EEA or UK, you have rights under GDPR including access, rectification, erasure, restriction, portability, and objection. Use the same email above to exercise these rights.

7. Data security

8. Open source attribution

FruitConnect is built on top of several open-source libraries (most notably WebRTC and its sub-components, plus Jetpack Compose, Kotlin, AndroidX, CameraX, and Google ML Kit on the Quest side). The complete list of components and their licenses is shipped with the application:

The same list is also available at https://davidkaiser.dk/fruitconnect/third-party-licenses.html. Including the list does not give those projects access to any of your data — it only fulfils the attribution requirement of their licenses.

9. Changes to this policy

We may update this policy as the app evolves. The "Last updated" date at the top changes when we do. Material changes that affect what data is collected or how it is used will be highlighted in-app the next time you launch FruitConnect after the update is published.

10. Contact

David Kaiser
fruitconnect@davidkaiser.dk