TunnelVision

0003 — Never bypass third-party SSL pinning

Context

TunnelVision can decrypt HTTPS by presenting a leaf certificate signed by a user-installed local CA. Apps that pin their certificates will reject that CA and their handshake against us fails. There is a temptation (and the original product sketch floated it) to “bypass pinning automatically” so those apps become inspectable too. Doing that would require defeating another app’s security control — hooking it, stripping its pinning, or otherwise subverting protections its developers deliberately added.

Decision

We never bypass third-party SSL pinning. When a client rejects our CA, we mark the flow notInspectable, tear down the interception attempt, and relay the flow untouched. We do not hook other processes, strip pinning, force trust, or retry to break it. This is a hard, non-negotiable boundary. See ../spec/relay-and-tls.md.

Consequences

Alternatives considered