Skip to content

Commit bdc660f

Browse files
committed
feat(telemetry): add anonymous opt-out usage telemetry
Signed-off-by: Kirit93 <kthadaka@nvidia.com>
1 parent 10af3e6 commit bdc660f

31 files changed

Lines changed: 1821 additions & 82 deletions

File tree

Cargo.lock

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,16 @@ All implementation work is human-gated — agents propose plans, humans approve,
243243

244244
OpenShell is built agent-first — your agent is your first collaborator. Before opening issues or submitting code, point your agent at the repo and let it use the skills in `.agents/skills/` to investigate, diagnose, and prototype. See [CONTRIBUTING.md](CONTRIBUTING.md) for the full agent skills table, contribution workflow, and development setup.
245245

246+
## Telemetry
247+
248+
OpenShell collects anonymous telemetry to help improve the project for developers. This data is not used to track individual user behavior. It helps us understand aggregate usage of sandbox, provider, and policy workflows so we can prioritize product improvements and share usage trends with the community.
249+
250+
Disable telemetry by setting `OPENSHELL_TELEMETRY_ENABLED=false` on the gateway deployment. OpenShell propagates this deployment setting into sandbox supervisor environments so sandbox-side telemetry collection is disabled as well.
251+
252+
Telemetry events are limited to anonymous operational categories and counts, such as sandbox lifecycle outcomes, provider profile buckets, policy decision counts, and aggregate network activity denial categories. OpenShell telemetry does not collect sandbox names or IDs, hostnames, file paths, binary paths, prompts, credentials, provider names, model names, or user content.
253+
254+
Opting out applies only to telemetry emitted by OpenShell. Third-party services, model providers, inference endpoints, agents, or tools that you configure and use with OpenShell may have their own terms and privacy practices.
255+
246256
## Notice and Disclaimer
247257

248258
This software automatically retrieves, accesses or interacts with external materials. Those retrieved materials are not distributed with this software and are governed solely by separate terms, conditions and licenses. You are solely responsible for finding, reviewing and complying with all applicable terms, conditions, and licenses, and for verifying the security, integrity and suitability of any retrieved materials for your specific use case. This software is provided "AS IS", without warranty of any kind. The author makes no representations or warranties regarding any retrieved materials, and assumes no liability for any losses, damages, liabilities or legal consequences from your use or inability to use this software or any retrieved materials. Use this software and the retrieved materials at your own risk.

crates/openshell-core/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ serde = { workspace = true }
2020
serde_json = { workspace = true }
2121
url = { workspace = true }
2222
ipnet = "2"
23+
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
24+
reqwest = { workspace = true, features = ["blocking", "rustls-tls-webpki-roots"] }
2325

2426
[features]
2527
## Include test-only settings (dummy_bool, dummy_int) in the registry.

crates/openshell-core/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ pub mod progress;
2424
pub mod proto;
2525
pub mod sandbox_env;
2626
pub mod settings;
27+
pub mod telemetry;
2728
pub mod time;
2829

2930
pub use config::{ComputeDriverKind, Config, OidcConfig, TlsConfig};

crates/openshell-core/src/sandbox_env.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ pub const LOG_LEVEL: &str = "OPENSHELL_LOG_LEVEL";
2626
/// Shell command to run inside the sandbox.
2727
pub const SANDBOX_COMMAND: &str = "OPENSHELL_SANDBOX_COMMAND";
2828

29+
/// Deployment-controlled telemetry toggle propagated to the sandbox supervisor.
30+
pub const TELEMETRY_ENABLED: &str = "OPENSHELL_TELEMETRY_ENABLED";
31+
2932
/// Path to the CA certificate for mTLS communication with the gateway.
3033
pub const TLS_CA: &str = "OPENSHELL_TLS_CA";
3134

0 commit comments

Comments
 (0)