Security & threat model

v1 · Effective 2026-04-28

This page is the long-form answer to "what does ViaductCDN actually see, and what should I trust you with?" Most CDNs hand-wave this. We don’t, because the value of a privacy-positioned product depends on customers being able to evaluate it cleanly. Plain English; no marketing varnish.

The core trust model in one sentence. We may not know who runs your site (anonymous-tier signup), and we may not know who the readers are (Tor delivery, circuit-ID hashing), but we do see your content in plaintext while it passes through our edge. The privacy story is anonymity, not confidentiality. If you need both, you add application-layer encryption.

What we see in flight

We are a TLS-terminating CDN. Bytes flowing through our edge during a request-response cycle are visible to us in plaintext, including:

This is the same trust position you give Cloudflare, Fastly, AWS CloudFront, or any other CDN that terminates TLS to cache content. The only way to avoid it would be a CDN that does not terminate TLS — which in practice means giving up caching and most of the value the CDN provides. We made the conscious choice to stay caching-capable and be transparent about the trust cost.

What we log to disk

We see in flight is not the same as we log to disk. Our explicit logging policy:

LoggedNot logged
  • Request URL path
  • HTTP status code
  • Bytes sent
  • Response time
  • Site ID
  • Hashed Tor circuit ID (instead of client IP)
  • Timestamp
  • Request bodies
  • Response bodies
  • HTTP headers (no Authorization, no Cookie)
  • Client IP addresses (clearnet stripped, Tor circuit-id-hashed)
  • Query strings (path-only, query stripped)

Edge access logs retain the metadata above for 90 days for billing reconciliation and abuse triage. Administrative actions on accounts (sign-ins, configuration changes) are logged for 7 years per US business-records norms. Cryptocurrency deposit records are retained 10 years per US AML recordkeeping norms. Full breakdown on /privacy.

The non-logging is a policy commitment we operationally enforce, not an architectural constraint. We could log bodies if we changed our mind. We don’t.

What’s structurally hidden from us

The architectural pieces — what we genuinely cannot see, regardless of policy:

Origin auth secrets we hold

To proxy traffic to your origin, we hold whatever credentials your origin requires. These are stored in Azure Key Vault and mounted to edge pods via the CSI driver. They live in the trust class of secrets we explicitly accept responsibility for — meaning we treat them as load-bearing customer secrets, not just configuration. Per-customer:

Operational protections on these secrets:

What customers trust us with (the explicit list)

Mitigations available to customers

Customers who need confidentiality from us, not just anonymity, have options:

Comparison to other CDNs

For TLS termination, we are in the same trust position as Cloudflare, Fastly, AWS CloudFront, Bunny, KeyCDN, and any other CDN that caches TLS-encrypted content. They all terminate TLS at the edge to do their job. The differences:

Operational protections (high-level)

Bug bounty & vulnerability disclosure

We don’t run a formal bug-bounty program at launch. Email security@viaductcdn.com with reports. PGP key for sensitive disclosures is published on /transparency alongside the abuse-reports key. We commit to acknowledging within 5 business days and to not pursuing legal action against good-faith researchers who comply with this policy. A formal bounty program is on the roadmap once we have launch traffic to justify it.

Cross-references

Questions

Security questions: security@viaductcdn.com. General questions: support@viaductcdn.com.