Tier: S (1-2 days) | Type: ux
Context. Users cannot tell at a glance whether the app is talking to the default public RPC, a self-hosted one, or a proxy, or whether opt-in telemetry is on. All three matter to privacy-conscious users and are currently only visible if you dig into Settings. Note this is distinct from the existing PrivacyBadge / PrivacyTooltip in src/components/, which score per-scan address-reuse via computePrivacyScore in src/lib/privacy-score.ts (a receive-flow signal). The new chip is a header-level infra posture, not a per-scan score, so we give it a distinct component name.
Scope.
- Header chip
PrivacyPostureChip labeled "Privacy: strict / relaxed" reflecting: no telemetry AND non-default RPC vs anything else.
- Click opens a dropdown listing the actual RPC hosts per chain, telemetry state, and a "review" link to
/privacy.
- Zero network calls from the chip; reads local config only.
- Design tokens follow the existing chip pattern in
NetworkChip.tsx.
Acceptance.
Files. src/components/PrivacyPostureChip.tsx (new), src/components/Header.tsx, src/lib/telemetry.ts, src/pages/Privacy.tsx.
Tier: S (1-2 days) | Type: ux
Context. Users cannot tell at a glance whether the app is talking to the default public RPC, a self-hosted one, or a proxy, or whether opt-in telemetry is on. All three matter to privacy-conscious users and are currently only visible if you dig into Settings. Note this is distinct from the existing
PrivacyBadge/PrivacyTooltipinsrc/components/, which score per-scan address-reuse viacomputePrivacyScoreinsrc/lib/privacy-score.ts(a receive-flow signal). The new chip is a header-level infra posture, not a per-scan score, so we give it a distinct component name.Scope.
PrivacyPostureChiplabeled "Privacy: strict / relaxed" reflecting: no telemetry AND non-default RPC vs anything else./privacy.NetworkChip.tsx.Acceptance.
PrivacyBadge(per-scan score)Files.
src/components/PrivacyPostureChip.tsx(new),src/components/Header.tsx,src/lib/telemetry.ts,src/pages/Privacy.tsx.