Telemetry-Free Report Format
Goals
- Useful for debugging without leaking sensitive data.
- No identifiers, no IPs, no endpoints, no device identifiers.
- Coarsened timestamps for plausible deniability.
File Name
report.jsonlogs.json(tester build manual export)
Schema
schema:shadownet.report.v1
Example
json
{
"schema": "shadownet.report.v1",
"app_version": "v0.1.0",
"generated_at_unix": 1776280000,
"generated_hour_unix": 1776280000,
"go_version": "go1.23.0",
"goos": "android",
"goarch": "arm64",
"mode": "inside",
"errors": [],
"summary": {
"state_present": true,
"profiles_loaded": 6,
"selected_family": "reality",
"sing_box_running": true,
"selection_source": "policy",
"selection_confidence": "0.85",
"profile_families": {
"reality": 3,
"hysteria2": 2,
"tuic": 1
},
"profile_health": {
"cooldown_count": 1,
"failing_count": 2
}
}
}Privacy Rules
- Never include:
- IPs/domains/ports - profile IDs - file paths - persistent device identifiers - raw logs by default
Sharing Guidance
- Share only if safe.
- Prefer sending
report.jsonplus a short scenario description:
- network type (Wi-Fi/mobile) - country/region only if safe - scenario (DPI/heavy blocking/offline)
Tester Build Log Export (logs.json)
Used for controlled rollout triage. Generated only when the tester explicitly taps Export Logs.
Minimal Schema (Example)
json
{
"schema": "shadownet.logs.v1",
"version": "v0.1.0-test3",
"tester_mode": true,
"share_anonymous_diagnostics": false,
"generated_at": "2026-04-18T13:00:00Z",
"events": [
{
"event": "connection_fail",
"reason": "DNS_FAILURE",
"retry_count": 2,
"success": false,
"ts": "2026-04-18T12:58:00Z"
},
{
"event": "NETWORK_SWITCH",
"ts": "2026-04-18T12:59:00Z"
}
],
"last_errors": [
{
"component": "agent",
"reason": "DNS_BLOCKED",
"ts": "2026-04-18T12:58:00Z"
}
],
"logs": [
"12:58:00 [connection][WARN] failed reason=DNS_BLOCKED",
"12:59:00 [network][INFO] switch detected"
]
}Hard Exclusions
- Never include IP addresses.
- Never include domain names or endpoint URLs.
- Never include full runtime configs or bundle contents.
- Never include personal identity fields.