Can a Consent-Gated Onion Relay Actually Hide Who Talks to Whom?

We built a consent-gated, federated onion relay as a measurement instrument, pre-registered 7 statistical tests, ran 9,000 circuits, and reported every null honestly.

9,000 Confirmatory Circuits
36,361 Sealed Artifacts
27,000 Per-Hop Captures
7 Pre-Registered Tests
OptinAmpOut Research July 2026 12 min read Defensive Security

Onion routing systems like Tor let anyone run a relay. But what if relays could consent to each circuit they carry — an in-band, cryptographically signed accept-or-reject handshake? Would that help privacy, hurt it, or make no difference? We built one, measured it, and committed to reporting whatever the data showed — including the nulls.

SOR Consent study hook: Can a consent-gated onion relay hide who talks to whom?
The question that motivated the study.

What We Built (and What It Isn't)

We designed a consent-gated, federated, nested-SSH onion relay — not as a product or an anonymity service, but as a measurement instrument for defensive security research. The purpose was to have a controlled data plane whose knobs (bridge on/off, cover padding, federation topology) let us precisely measure how a consent gate reshapes an adversary's view of network traffic.

Every relay hop must explicitly accept or reject each circuit through an Ed25519-signed in-band handshake. Per-hop credentials are X25519-sealed to the host's public key. Relays are organized into houses — a "house" is one independent Hack House instance (a self-contained chat-relay deployment with its own pool of relay nodes and its own keys), not a physical building. Federating houses links two or more of these separate instances so their relay pools combine into one larger shared crowd, with each circuit spanning ≥2 houses so no single house sees a whole path — either through a shared bridge node (it blind-forwards encrypted bytes and holds no chat key for either house) or a signed directory of node identities. The entire data plane is built into an existing zero-knowledge chat relay (Hack House), running in an isolated worktree. In this lab study the houses were logical groupings on our grid — house-A, house-B, and house-C were each a pool of relay containers on the one laptop, and every forwarding hop was a laptop container.

The SOR-Consent measurement instrument: consent-gated federated relay architecture
The consent-gated relay instrument — seven components, fully deterministic.
Key distinction: This is a measurement instrument for a trust model's exposure, not a service that provides anonymity. All traffic was self-generated to our own fixtures, lab-only. No external target, no live-network relay.

Containment and provenance

Every forwarder ran as an isolated Docker container on a single engine host (the laptop); node distinctness is container-level. All stochastic behavior derives from a single --sor-seed; the seed, git SHA, and node-role-to-device mapping are echoed into an immutable manifest.json, and every relay event is appended to a SHA-256-sealed events.jsonl.

The Method: Pre-Registered, Frozen, Audited

This wasn't exploratory data mining. The study was a confirmatory factorial controlled comparison: the design, variables, seeds, detectors, and analysis were frozen and hashed before any confirmatory cell ran. Every detector was calibrated only on synthetic fixtures — known-linked/known-unlinked control pairs and equiprobable-sender sets — before touching real data.

1

Pre-register

Freeze design, seeds, detectors, analysis

2

Calibrate

Validate on synthetic fixtures only

3

Run battery

180 cells, 9,000 circuits, no interim looks

4

Seal

SHA-256 every artifact before analysis

5

Analyze once

One frozen pass, report everything

This staged discipline isn't ad hoc — the whole study was designed, pre-registered, and executed under the Interpretable Context Methodology (ICM), a framework in which each phase (literature → hypothesis → design/pre-registration → build → execution → analysis → write-up) is a numbered stage whose frozen output is the sole input to the next. ICM is the structural reason the pre-registration could be SHA-256-sealed in the design stage before the build and execution stages were allowed to consume it: the provenance chain is auditable by construction rather than by convention.

Scale: 30 independent seeded runs per cell, 50 circuits per run, yielding 9,000 confirmatory circuits, 27,000 per-hop packet captures, and 36,361 SHA-256-sealed artifacts — fully seed-reproducible.

Stopping rule: All cells ran to completion. No optional stopping, no interim looks. An uninformative cell is reported inconclusive, never extended to chase significance.

The Two Questions We Asked

RQ1: Does the shared bridge leak who's talking to whom?

When federated houses route through one shared bridge node, that node observes both the entry and exit segments of circuits crossing it. Modern flow-correlation attacks can link such segments from timing and volume alone. We asked: does our bridge exhibit a measurable entry-to-exit correlation leak? And if so, does cover padding close it?

RQ1 result: correlation AUC 0.466, below chance — no measurable leak
RQ1 — the frozen correlator reads the bridge traffic below chance.

RQ1-P1: Bridge linkability

On the bridge-on / no-padding arm, the pooled pair set (75,000 entry-exit pairs: 1,500 linked, 73,500 unlinked) yielded AUC = 0.466 with a 95% CI of [0.452, 0.480]. The CI excludes 0.5 but sits below it. The frozen gate correctly refuses to call this a leak — the correlator does not link entry and exit segments better than chance.

Verdict: no measurable leak. The below-chance reading is a small artifact of the pooled correlator on this as-instrumented traffic, not a linkability finding.

RQ1-P2: Padding efficacy

Pairing the no-pad and +padding arms (30 paired runs): ΔAUC = +0.011, 95% CI [-0.002, +0.023]. The CI spans zero. No significant padding effect — moot given there was no leak to suppress. Reported because the frozen test specifies it.

RQ2: Does federation grow or shrink the anonymity set?

Intuitively, federating relay houses should enlarge the candidate-sender set an adversary faces. But a consent gate means only willing relays carry traffic. If willingness concentrates, circuits funnel through fewer paths and the effective anonymity set could shrink. We treated the sign of the federation effect as unknown and committed to reporting a shrink with equal prominence.

RQ2 result: anonymity set shrank by 0.96 bits — federation reduces anonymity as-instrumented
RQ2 — federation measurably reduced anonymity, the opposite of the motivating hypothesis.

RQ2-P1: Federation effect (two-sided)

Using the ratified per-circuit adversary posterior (Miller-Madow-corrected Shannon entropy): ΔH = -0.96 bits, 95% CI [-1.056, -0.864]. The CI is strictly below zero. Federation, as instrumented, reduces the per-circuit anonymity set by about one bit relative to a matched-N single house — the opposite of the motivating hypothesis.

Verdict: honest shrink. This is the funnelling outcome we anticipated as a live possibility. We do not re-slice cells or hunt subgroups to recover a "federation helps" story.

The funnelling mechanism test (RQ2-P3, Spearman correlation between bridge concentration and per-circuit entropy) was inconclusive: the instrument assigns a fresh willing bridge per circuit seed, so the concentration covariate has no variance and Spearman is undefined. The mechanism is not testable on this instrument as built — an honest limitation, not evidence against funnelling.

RQ3: Can a Local AI Agent Beat Random Selection?

RQ3 result: local AI agent did not beat static/random baselines under churn
RQ3 — the $0 local model did not outperform baselines. We report the null.

We also tested whether a $0 local qwen2.5:3b model could act as a churn-resilient relay selector — picking smarter paths when relays drop in and out. The answer was no: a double-null result with no throughput gain over static/random baselines, and a rebuild fingerprint not excluded at AUC 0.59. We report it plainly.

The Full Scorecard

Seven pre-registered tests, Holm-Bonferroni-corrected across the full confirmatory family. Three survived correction:

Test Measure Result Decision Survives Holm?
RQ1-P1 AUC (bridge-on) 0.466 [0.452, 0.480] No measurable leak Yes*
RQ2-P1 ΔH (fed − single) −0.96 bits [−1.056, −0.864] Shrink (negative) Yes
RQ2-P3 Spearman ρ 0.000 [0.000, 0.000] Inconclusive No
RQ1-P2 ΔAUC (nopad − pad) +0.011 [−0.002, +0.023] Padding ineffective No
RQ3-P1 (perf) Throughput gain None Null No
RQ3-P1 (latency) Latency improvement None Null No
RQ3-P2 Rebuild fingerprint AUC 0.59 Not excluded No

* RQ1-P1 rejects H0: AUC = 0.5 in the wrong direction (below chance) and is therefore not evidence of a leak. It survives Holm as a statistical rejection but carries the opposite substantive meaning.

Verdict: 7 pre-registered tests, honest nulls reported, no overclaiming
The verdict — scientific integrity means reporting the nulls as prominently as the hits.

What This Means

The headline is a double null/negative, and that's fine. The two motivating hypotheses — that a shared bridge leaks linkability and that federation grows anonymity — are both unsupported on this instrument. The one significant directional effect (RQ2-P1) points against the design's motivation: federation shrinks the anonymity set.

The value isn't the result. It's the method. We pre-committed to the nulls and reported them. The frozen-detector, sealed-artifact, Holm-corrected pipeline means a hoped-for effect can fail cleanly and a negative effect can surface without being explained away. That's what rigorous defensive research looks like.

Honest scope

All hops ran as isolated Docker containers on a single engine host (a laptop); node distinctness is container-level. This is not internet-scale, not a global-passive-adversary result. The claims are deliberately scoped to the tested lab topology and scale. Cross-machine effects, stronger adversaries, larger federations — and real multi-device distribution — are out of scope and named as future work. (For completeness: the grid inventory also lists two phones pinned as non-forwarding consenting-node labels; they hosted no engine and carried no measured traffic, so they are not part of any result.)

Reproducibility

The entire battery is seed-reproducible. One base seed (S0 = 20260719), per-cell seeds derived via SHA-256, 10,000 BCa bootstrap resamples, all sealed and checksummed. The frozen pre-registration hash is f22331a..., unedited. Any researcher can re-derive the results from the same seed.

Why We Publish This

Defensive security research often stays behind closed doors, especially when the results don't confirm the hypothesis. We're publishing because:

Need Security Research for Your Infrastructure?

We build measurement instruments, run pre-registered studies, and report honest results. If your team needs rigorous security analysis, let's talk.

Talk to Our Research Team →

References & Source Material

  1. Dingledine, R., Mathewson, N., & Syverson, P. (2004). "Tor: The Second-Generation Onion Router." USENIX Security Symposium.
  2. Egners, A. et al. (2012). "Practical Onion Routing on the Internet using SSH." SecureComm.
  3. Nasr, M., Bahramali, A., & Houmansadr, A. (2018). "DeepCorr: Strong Flow Correlation Attacks on Tor Using Deep Learning." CCS.
  4. Oh, S. E. et al. (2022). "DeepCoFFEA: Improved Flow Correlation Attacks on Tor via Metric Learning and Amplification." IEEE S&P.
  5. Rahman, M. S. et al. (2020). "Tik-Tok: The Utility of Packet Timing in Website Fingerprinting Attacks." PETS.
  6. Serjantov, A. & Danezis, G. (2002). "Towards an Information Theoretic Metric for Anonymity." PET Workshop.
  7. Díaz, C. et al. (2002). "Towards measuring anonymity." PET Workshop.
  8. Michel, F. et al. (2023). "ssh3: Faster and Rich Secure Shell Using HTTP/3."
  9. Van Clief, J. & McDermott, D. (2026). "Interpretable Context Methodology: Folder Structure as Agentic Architecture." arXiv:2603.16021. (Methodology framework under which this study was staged, pre-registered, and executed.)
  10. SOR-Consent frozen pre-registration: SHA-256 f22331a7... (binding, unedited).
  11. Full study: Hack House open-source project