Skip to main content

rusty_stack/telemetry/
mod.rs

1//! Telemetry module — opt-in anonymous hardware telemetry and stability benchmarking.
2//!
3//! This module provides:
4//! - **Benchmark**: 180-second minimum stability benchmark collecting GPU metrics
5//!   (utilization, VRAM, thermal, throttling, clock speeds) sampled every 10 seconds.
6//! - **Payload**: Anonymous hardware-only telemetry payload construction with
7//!   strict privacy boundaries (no personal data, bounded to 64 KiB JSON).
8//! - **Opt-in gate**: Telemetry is disabled by default with an explicit toggle
9//!   that takes effect immediately without restart.
10//!
11//! # Privacy Design
12//!
13//! All telemetry data is strictly hardware/benchmark data:
14//! - No username, hostname, home directory paths
15//! - No IP addresses, email addresses, or credentials
16//! - No free-form user input
17//!
18//! All payload keys are from a predefined allow-list. The payload is validated
19//! for PII before any submission attempt.
20
21pub mod benchmark;
22pub mod opt_in;
23pub mod payload;
24#[cfg(feature = "telemetry-submit")]
25pub mod submit;
26
27pub use benchmark::*;
28pub use opt_in::*;
29pub use payload::*;
30#[cfg(feature = "telemetry-submit")]
31pub use submit::*;