◇ Legal · Privacy
Privacy
Policy
VJAM is built for the room, not the cloud.
No accounts. No tracking. No data leaves your device.
This policy covers the VJAM mobile app for iOS and Android.
Effective date: May 27, 2026 · Last updated: May 27, 2026
No accounts
VJAM requires no login, no sign-up, and no email address. Ever.
No cloud storage
Your assets, settings, and sessions never leave your device.
No analytics
No SDKs, no pixel trackers, no usage telemetry of any kind.
Camera = QR only
Camera is used exclusively to scan venue QR codes. No images stored.
Who we are
VJAM is developed and published by Realitycraft, an independent media technology studio based in Oakland, California. The studio is operated by Evo Heyning.
Contact: evo@playable.agency · Web: evo.ist
VJAM is open-source participatory art. The web version source is available at github.com/lightlodges/vjam.
What data we collect
The short answer: none. Realitycraft does not collect, store, transmit, or share any personal information from VJAM users. The app has no server-side component and no analytics integration.
VJAM operates entirely on your device. The only data the app handles is:
| Data type | What it's used for | Where it goes |
|---|---|---|
| Camera frames | Decoded in real time to detect and read QR codes at venues. No frames are saved, recorded, or transmitted. | Processed on-device only. Immediately discarded. |
| Bluetooth scan data | Used to discover nearby Bluetooth MIDI devices when you initiate a MIDI connection. No persistent pairing data is stored by VJAM. | On-device only. Managed by the OS Bluetooth stack. |
| Local network (WiFi) | When the WiFi/WebSocket output mode is active, VJAM opens a local WebSocket server on your device (port 8080) to send VJ control signals to a browser instance on the same network. This is purely local, no data is sent to external servers. | Local network only. No external endpoints. |
| App settings & config | Your event title, color preferences, and VJ config are saved locally in app storage (AsyncStorage / NSUserDefaults) so the app remembers them between sessions. | On-device only. Never transmitted. |
| Loaded assets | Images and video files you load into the asset library are stored in the app's local IndexedDB / file cache for use between sessions. | On-device only. Never uploaded. |
We do not use third-party analytics SDKs (such as Firebase Analytics, Mixpanel, Amplitude, or similar). We do not use crash reporting services that transmit data externally. We do not include advertising SDKs.
Device permissions
VJAM requests the following device permissions. All are optional, you can decline any of them and the rest of the app will continue to function.
| Permission | Required for | Required? |
|---|---|---|
| Camera | Scanning venue QR codes to load event configs and connect to shared sessions. The camera is only active when the QR scan screen is open. | Optional |
| Bluetooth | Discovering and connecting to Bluetooth MIDI controllers and devices when using VJAM as a hardware MIDI controller. | Optional |
| Local Network | Starting a local WebSocket server to relay VJ signals to a browser on the same WiFi network. | Optional |
| Photo Library | Not requested. Assets are loaded via file picker or drag-and-drop, not the photo library. | Not used |
| Microphone | Not requested. VJAM does not record or process audio. | Not used |
| Location | Not requested for general use. On Android, Bluetooth scanning may trigger a system-level location permission request, this is an Android OS requirement for BLE scanning, not used by VJAM for location purposes. | Android BLE only |
Children's privacy
VJAM is a general-audience app rated 4+ (iOS) and Everyone (Android). It does not knowingly collect any information from users of any age. Because no personal data is collected from any user, there is no special handling required for users under 13 (COPPA) or under 16 (GDPR).
Third-party services
VJAM does not integrate with any third-party data services, advertising networks, or analytics platforms.
The following platform-native services may be used when you actively choose to connect them:
| Service | When used | Their privacy policy |
|---|---|---|
| AirPlay (Apple) | When you choose AirPlay output mode on iOS. Handled entirely by the iOS operating system. | apple.com/privacy |
| Google Cast / Chromecast | When you choose Chromecast output mode on Android. Google's Cast SDK connects to your local Chromecast device only. | policies.google.com/privacy |
| Google Fonts | Fonts are bundled with the app and loaded locally. The app does not make requests to Google Fonts CDN at runtime. | N/A, no network request |
None of these services receive personal data from VJAM users. The connections are initiated by you, on your device, to devices on your local network.
Data security
Because VJAM collects no personal data and operates entirely on-device, there is no server infrastructure to secure and no cloud database to protect. The app's local data (settings, asset cache) is stored in the standard app sandbox, which is protected by the operating system's built-in isolation model on both iOS and Android.
Your rights
Since VJAM collects no personal data, there is no data to access, correct, export, or delete on our end. All data generated by your use of the app is local to your device and can be cleared at any time by uninstalling the app or clearing app data in your device settings.
If you are a resident of the European Economic Area, California, or another jurisdiction with specific data rights laws: because we collect no personal data, there is nothing subject to those rights in our possession. We have no data on you.
Changes to this policy
If VJAM's data practices change in any way that involves collecting personal information, we will update this policy and its effective date before releasing that version of the app. We will not retroactively apply new practices to existing users without clear consent.
The current version of this policy will always be available at evo.ist/vjam/privacy.
Contact
Questions about this privacy policy or VJAM's data practices:
Realitycraft · Oakland, California · evo.ist