Privacy Policy
SceneView SDK, SceneView Demo app and this website — Last updated: October 2, 2026
What This Policy Covers
| Surface | What it collects |
|---|---|
| SceneView SDK (the library developers add to their apps) | Nothing. No telemetry of any kind. |
SceneView Demo app (Google Play io.github.sceneview.demo, App Store) | Usage analytics, crash reports and a notification token, through Google Firebase. |
| This website (sceneview.github.io) | Page-view analytics with Google Analytics. |
The SceneView SDK
The SDK sends nothing anywhere. It contains no analytics or crash-reporting dependency, has no opt-out flag because there is nothing to opt out of, and talks to no server of ours. It only loads the files your app asks it to load. An app built with SceneView is covered by that app’s own privacy policy, not this one. If you want to measure your own app, the Measure your AR funnel recipe shows how to do it with your own analytics account.
The SceneView Demo App
SceneView Demo is the free showcase app for the SDK. Everything below applies to it on both Android and iOS.
When it starts: in the European Economic Area, the United Kingdom and Switzerland, the app asks at first launch whether to share usage statistics and crash reports, and Firebase does not start until you answer, unless you already turned notifications on (they need Firebase to reach you): before you answer, no usage statistics or crash reports are collected or sent, and the only thing sent is what delivering the notifications you allowed requires. If you choose Don’t share, or close the question without answering, nothing is collected and you are not asked again. The app tells whether to ask from the device’s country, language and time zone settings, read on the device and sent nowhere. Elsewhere, usage statistics and crash reports are on by default and can be turned off at any time.
On iPhone, iPad and Mac, the question appears over the home screen a moment after the app opens, or when you close a demo you opened from a link. It applies to updates too: if you installed an earlier version, the app asks once, unless you had switched Share usage statistics off, which it keeps as Don’t share. If you choose Don’t share and later allow notifications on iPhone or iPad, Firebase starts for notifications only, with analytics and crash reports still off. The Mac app has no notifications.
Usage analytics (Google Analytics for Firebase)
- Events: which demos you open and how long you stay, interactions inside a demo (for example placing or moving a model), the steps of the AR flow (session started, surface found, first model placed, tracking lost), taps on links that leave the app, your answer to the notification prompt, and changes to the app’s settings. Firebase also records standard events such as first open, session start and screen views.
- Device and app information: device model, operating system version, app version, language, and an approximate location (country, region or city) that Google derives from your IP address. Google Analytics does not log or store IP addresses.
- An app instance ID: a random identifier that Firebase creates for this installation. It is not your name, email, phone number or advertising ID, and reinstalling the app creates a new one.
- Why: to see which demos are useful, where the AR flow fails, and what to fix or improve next.
Crash reports (Firebase Crashlytics)
- What: when the app crashes or hits a serious error, a report with the stack trace, the app’s state at that moment, device model, operating system version, free memory and disk space, app version, a random Crashlytics installation ID, and the last few analytics events before the crash.
- Why: to find and fix crashes.
Notifications (Firebase Cloud Messaging)
- What: if you allow notifications, the app registers a push token with Firebase Cloud Messaging, along with the app version, device model, language and time zone that Firebase needs to deliver messages.
- How they are sent: notifications (for example about new demos or releases) go to topics — groups of devices — never to a person picked out by name or behaviour. We do not build a profile of you.
- Why: to deliver the notifications you agreed to receive.
What the app does not collect
- No account, name, email address, phone number, contacts, photos or files.
- No advertising identifier (Android advertising ID or Apple IDFA), no advertising SDK, and no cross-app or cross-site tracking — which is also why the app never shows Apple’s tracking prompt.
- No location of our own: analytics only get the approximate location Google derives from the IP address. The Android Geospatial demos use your precise location, but only through Google ARCore, as described below.
- No camera images, AR video or face data in analytics or crash reports — see below.
- Nothing is sold, used for advertising, or shared with data brokers.
Camera and AR
- The app uses the camera only for augmented reality, through Google ARCore on Android and Apple ARKit on iOS. Camera access is requested when you open an AR demo.
- Camera frames are processed on your device, in real time, for plane detection and object placement. They are never sent to us or included in analytics or crash reports. A recording is made only when you start one in a recording demo, and it stays on your device (or in your Photos library on iOS) unless you share it.
- The Android app runs on Google Play Services for AR (ARCore), which is provided by Google and governed by the Google Privacy Policy. While AR is in use, ARCore itself sends Google usage, performance and diagnostic data with its own identifiers, to measure and improve ARCore.
On-device machine learning (Android)
The Android machine-learning demos (object detection, and the on-device prompt demos) run on Google ML Kit and, where the phone supports it, on Android AICore with Gemini Nano. Images and text are processed on your device and are not sent to us. When one of these demos is used, ML Kit and AICore themselves send Google usage and performance metrics (such as which feature ran, how long it took, and errors), with their own identifiers, to measure and improve those services. This is Google’s collection, governed by the Google Privacy Policy; it does not go through the app’s analytics, so the Share usage statistics answer does not control it, and the app has no switch of its own to stop it. You avoid it by not opening those demos. ML Kit terms and data use.
Google ARCore cloud features (Android)
A few Android demos — Cloud Anchors and the Geospatial demos (Rooftop, Terrain, Streetscape) — rely on Google’s ARCore cloud services. To power these sessions, Google processes sensor data (e.g., camera and location). When you host or resolve a Cloud Anchor, visual data from the camera is sent to Google to map the anchor; the Geospatial demos also send your precise location, after you grant the location permission. Google uses this data only to provide the feature, and marks the camera data for automatic deletion. None of it is sent to us. Learn more about how Google Play Services for AR handles your data. The iOS app does not use these services.
Face data (TrueDepth API / ARKit face tracking)
- What is used: when you open an AR face demo on iOS, the app uses Apple’s ARKit face tracking (which relies on the TrueDepth camera) to obtain a real-time facial mesh — face geometry and expression coefficients. On Android, the equivalent demo uses Google ARCore Augmented Faces. The app takes no photographs of your face.
- Purpose: face data is used solely to render real-time 3D effects anchored to your face inside the demo, on screen, while the demo is open. It is not used for identification, authentication, profiling, or any other purpose.
- Storage and retention: face data is processed in memory, on your device only. It is never recorded, stored, written to disk, or retained — it is discarded as each camera frame is rendered, and entirely released when you leave the demo.
- Sharing: face data never leaves your device. It is not sent to us, to Google Firebase, or to any other third party, and it is never part of analytics events or crash reports.
Online 3D content
Some demos search for or download free 3D models and environments from public libraries (Poly Haven, Sketchfab, Icosa Gallery) and from GitHub or sceneview.github.io. These requests go straight from your device to those services, which see your IP address as any website you visit would. The app sends them no identifier and no personal data; their own privacy policies apply.
In-app bug reports (Android)
The Android app has an optional “Report a bug” sheet. It needs no permission, records neither screen nor audio, and never uploads anything itself. It assembles, on your device, an optional screenshot of the app’s own window, the app’s own recent log lines, any text you type, and device and app context (app version and build, Android version, device manufacturer and model, ABI, screen size, locale). You then choose where it goes: an app you pick in the Android share sheet, or a pre-filled public GitHub issue that you review and submit yourself. If you dismiss the sheet, the report is discarded.
Releases up to 4.18.x shipped a consent-gated screen and voice recorder that uploaded to the SceneView feedback service. It has been removed; recordings sent by those versions are deleted automatically 90 days after they were received.
Who Processes the Data, and for How Long
Firebase is provided by Google, which processes this data on our behalf as a service provider: Crashlytics and Cloud Messaging under the Firebase data processing terms, and Google Analytics for Firebase under the Google Analytics terms. Data may be processed on Google servers outside your country, including in the United States. All of it travels over encrypted connections (TLS).
| Service | Data | Kept for |
|---|---|---|
| Google Analytics for Firebase | Usage events, device and app information, app instance ID, approximate location | 14 months, then deleted. Aggregated reports with no identifier can be kept longer. |
| Firebase Crashlytics | Crash reports, Crashlytics installation ID | 90 days |
| Firebase Cloud Messaging | Push token, Firebase installation ID | While the token is valid. Uninstalling the app invalidates it, and Firebase expires tokens unused for 270 days. |
More detail: Privacy and Security in Firebase and the Google Privacy Policy.
Your Choices
- Answer the first-launch question: in the EEA, the UK and Switzerland, the app asks once (Android, iPhone, iPad and Mac), at first launch, whether to share usage statistics and crash reports. Share and Don’t share are equal choices, and closing the question counts as Don’t share.
- Turn off analytics and crash reporting: in the app, open About › Privacy & notifications and switch off Share usage statistics. The same switch gives your consent later if you declined. From then on, that device sends no analytics events and no crash reports. Switching it off also clears the analytics data waiting on the device, deletes crash reports not yet sent, and resets its app instance ID, so if you turn it back on, the app starts with a new one.
- Turn off notifications: use the Notifications switch under About › Privacy & notifications (Android, iPhone and iPad), or your phone’s notification settings for SceneView Demo. You can also decline the permission when the app asks.
- Start over: uninstalling the app removes its identifiers from your device; a new installation gets new ones.
- Ask for deletion or access: email thomas.gorisse@gmail.com. Because the app has no accounts, we can only find data through an identifier from your device; we will tell you what we can find and delete it. Anything we cannot single out expires on the schedule above.
Legal basis: in the EEA, the UK and Switzerland, analytics and crash reports rely on your consent, asked at first launch before anything is collected (on Android, iPhone, iPad and Mac) and withdrawable at any time with the same switch. Elsewhere, they rely on our legitimate interest in keeping a free app working and improving it, and you can object at any time with that switch. Notifications rely on your consent, given through the system permission prompt and withdrawable at any time. You have the right to access, correct, delete, restrict or port your data, and to lodge a complaint with your data protection authority (in France, the CNIL).
This Website (sceneview.github.io)
The documentation and showcase website uses Google Analytics 4 (measurement ID G-HX1JWGSMTH) to count page views and which links visitors follow, so we know which docs and platforms are worth maintaining. Google Analytics does not store IP addresses, no advertising features are enabled, and the tag is not loaded at all when your browser sends Do Not Track or Global Privacy Control. The site works fully without it, including with content blockers. Website and app analytics use different identifiers and are never combined to identify a person.
Children’s Privacy
The app is not directed at children under 13 and does not knowingly collect data from them.
Changes to This Policy
When the app starts collecting something new, this page is updated, with a new date at the top, before that version is released.
Contact
SceneView is an open-source project maintained by Thomas Gorisse, who is responsible for the data described on this page.
- Email: thomas.gorisse@gmail.com
- GitHub: github.com/sceneview/sceneview/issues
- Source code: the SDK and both demo apps are open source at github.com/sceneview/sceneview.