Skip to content

Clarify SNI research-mode IP-leak warning accounts for remote routing - #687

Merged
kasnder merged 1 commit into
masterfrom
claude/wireguard-sni-verify-cxcmos
Jul 28, 2026
Merged

Clarify SNI research-mode IP-leak warning accounts for remote routing#687
kasnder merged 1 commit into
masterfrom
claude/wireguard-sni-verify-cxcmos

Conversation

@kasnder

@kasnder kasnder commented Jul 28, 2026

Copy link
Copy Markdown
Member

Summary

Follow-up to #685. Verified in the native packet path (app/src/main/jni/netguard/ip.c, handle_ip()) that SNI research-mode extraction runs as part of the same local block/allow decision applied to every packet, before that packet is dispatched to any egress path (direct, SOCKS5, or the WireGuard bridge). This means the existing "leaks your IP address to tracker servers" warnings were correct for direct routing but overstated for the case where remote routing (WireGuard) is also enabled — in that case only the VPN provider's IP is exposed to the tracker, not the device's real IP.

This PR is documentation/strings only, no behavior change:

  • README.md: clarify the SNI paragraph in "Example Use" to note the local-parsing + remote-routing interaction.
  • app/src/main/res/values/strings.xml: add a short parenthetical to summary_sni_enabled (the in-app settings toggle description).
  • AGENTS.md: expand the privacy-preserving-by-construction rationale (§4.2) with the handle_ip() ordering detail, so future triage doesn't repeat the "SNI isn't supported with WireGuard" assumption from Research Mode Remote Routing IP #685.

Test plan

  • Docs/strings only — no code paths changed.
  • Re-read edited files to confirm accuracy against ip.c behavior.

Generated by Claude Code

The SNI research-mode warning previously implied it always exposes the
user's real IP to tracker servers. In fact SNI is parsed locally, from
traffic already passing through the same block/allow decision used for
every other packet, before that packet is dispatched to any egress path.
When remote routing (WireGuard) is enabled, the resulting connection to
the tracker goes out through the tunnel, so only the VPN provider's IP
is exposed. Clarify this in the README, the in-app settings summary, and
AGENTS.md's privacy rationale, per the discussion in #685.
@kasnder
kasnder marked this pull request as ready for review July 28, 2026 07:10
@kasnder
kasnder merged commit 55fa9a2 into master Jul 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants