About Telemetry
What does telemetry do?
In general, software telemetry collects information such as user behavior, system performance, and error reports, and sends it to the developers. This helps developers improve user experience, fix bugs, and optimize product performance.
However, unlike such software, Noctiluca Server's telemetry is designed to collect only the minimum information necessary to analyze the cause when an error occurs or the application is forced to terminate abnormally.
This is because Noctiluca Server, as a remote desktop software, has very powerful privileges due to its nature of controlling the system's screen and input.
Is Noctiluca Server's telemetry enabled by default?
We believe that your privacy is more important, even if it makes development more difficult.
Therefore, Noctiluca Server's telemetry is disabled by default, and no information is collected or transmitted until you explicitly enable it.
Are there regions where telemetry is unavailable?
Noctiluca Server's telemetry has regional restrictions enabled. Noctiluca Server's telemetry is unavailable within the European Economic Area (EEA) and the United Kingdom.
For more details, please refer to the Noctiluca Server End User License Agreement (EULA).
What information does telemetry collect?
Noctiluca Server's telemetry collects the following information:
- Error messages: Messages and codes generated when system errors or exceptions occur.
- Stack traces: Call stack information at the point where the error occurred.
- Device information: Basic system information such as OS version, CPU architecture, and memory capacity.
Where is the collected information sent?
The information collected by Noctiluca Server's telemetry is sent to the Sentry platform, an error tracking platform by Functional Software, Inc.
Sentry is a platform that helps developers monitor and analyze errors occurring in applications in real time.
Which Sentry region is it sent to?
Noctiluca Server's telemetry data is sent to Sentry's US region.
While Sentry operates multiple regions, Noctiluca Server is configured to send data using the US region.
Tell me more about what information is collected.
The error reports sent to Sentry include the following fields:
| Category | Field Name | Description |
|---|---|---|
| - | message | The error message that occurred. |
| - | Stack Trace | The call stack information at the point where the error occurred. |
App | Device | A device identifier. This field is unfortunately scrubbed on the Sentry server side. |
| - | level | The severity of the error. (e.g., fatal) |
| - | handled | Whether the error was caught within the app. |
| - | mechanism | The error occurrence mechanism. (e.g., mach) |
| - | environment | The build environment. (e.g., release) |
User | ID | A randomly generated UUID created at installation. It is not linked to the user's actual identity. |
User | IP Address | The IP address field. Always replaced with 0.0.0.0 before transmission. |
App | App Build | The app build number. |
App | Build ID | The app bundle identifier. (e.g., app.noctiluca.server) |
App | Build Name | The app name. (e.g., NoctilucaServer) |
App | Build Type | The build type. |
App | ID | The app installation identifier. Randomly generated at installation. |
App | In Foreground | Whether the app was in the foreground when the error occurred. |
App | Is Active | Whether the app was in an active state when the error occurred. |
App | Start Time | The time the app was started. |
App | Version | The app version. (e.g., 0.9.0) |
Operating System | Build | The OS build number. (e.g., 25B78) |
Operating System | Kernel Version | The kernel version string. |
Operating System | Name | The operating system name. (e.g., macOS) |
Operating System | Rooted | Whether the device is jailbroken. |
Operating System | Version | The OS version. (e.g., 26.1.0) |
Device | Architecture | The CPU architecture. (e.g., arm64) |
Device | Family | The device family. (e.g., macOS) |
Device | Free Memory | The available memory at the time of the error. |
Device | locale | The system locale. (e.g., ko_KR) |
Device | Memory Size | The total memory capacity. |
Device | Model | The hardware model identifier. (e.g., MacBookPro18,4) |
Device | Simulator | Whether the environment is a simulator. |
Device | Usable Memory | The usable memory. |
What privacy measures are in place?
Before sending error reports to the Sentry server, Noctiluca Server performs scrubbing on the device to ensure that personally identifiable information is not included.
Specifically, the following measures are taken:
- IP address masking: The
User.IP Addressfield is always replaced with0.0.0.0before transmission. Your actual IP address never reaches the Sentry server. - Unlinked user identifiers:
User.IDandApp.IDare randomly generated UUIDs created at installation, and are never linked to the user's actual identity (name, email, account, etc.). - On-device scrubbing: All fields except the
App.Devicefield are scrubbed on the device before transmission.
About the App.Device field
The App.Device field is a device identifier automatically generated by the sentry-cocoa SDK. We have not yet found a way to scrub this field on the client side, so it is unfortunately scrubbed on the Sentry server side instead.
If you know how to scrub this field on the client side within sentry-cocoa, please contact us at [email protected].
