Crosspeel

Method

Two endpoints that share an origin cannot help but agree on details their operators never thought to vary. The method looks for those agreements, measures how many of them hold, and compares the prices of the endpoints that hold them.

Nothing in the method reads a contract, a company registration, or a statement of intent. It reads responses.

What gets captured

Every endpoint is paid for and called. Everything below is recorded on every call, whether or not the current finding uses it, because an observation not taken today cannot be taken later.

How endpoints are grouped

This is method version v1. Every published cluster records the version it was produced under, so a later change to the method does not silently rewrite what was published before it.

  1. Endpoints are grouped by the capability their operator advertises. Comparison happens inside a group and never across groups.
  2. Inside a group, every pair of endpoints is scored on how often the pair agrees across a fixed set of ten fields.
  3. A pair becomes a candidate at 90.00 percent agreement or higher, across at least 30 paired observations, each using a different probe input. A paired observation is one input sent to both endpoints and the two answers compared. The inputs are deliberately varied and deliberately odd, because coincidental agreement on an ordinary input is common and coincidental agreement on thirty strange ones is not.
  4. A candidate is published only when the error wording matches character for character on at least three different inputs chosen to produce an error. Error-string agreement is necessary rather than merely contributory - an error message is the part of a service nobody rewrites when they rebrand it.
  5. Confidence is high at 30 or more paired observations with a verbatim error match, moderate at 15 to 29, andlow below 15. Low-confidence groups are stored and never published.
  6. Inside a published group, the cheapest observed member is the one nearest the origin. The distance between the cheapest and the most expensive is the spread, stated as a multiple. Every price carries the date it was observed.

The ten fields

The discriminating set a pair is scored on:

FieldWhat it holds
error_stringthe wording of an error, character for character
key_order_hashthe order the keys came back in
field_paths_hashthe full set of field names and their nesting
header_orderthe order the response headers arrived in
server_headerwhat the server calls itself
tls_issuerwho issued the certificate the server presented
ja4_fingerprintthe exact shape of the encrypted handshake
timestamp_formathow the response writes a date
float_precision_maxhow many decimal places a number carries
null_vs_omittedwhich fields come back empty rather than missing

The thresholds are starting values

The 90.00 percent agreement threshold and the 30-observation minimum were chosen by hand before the first run. They are tuned against real data and the tuned values are recorded here with the date they changed. Confidence in the current values: low.

What this cannot see

Rotation, cadence, and publication lag

Publishing how the probes are scheduled is not a leak. An operator who knows a probe is coming, but not when, and knows a finding is held back, but not for how long, is deterred by the same facts that would otherwise be a weakness.

Version history

VersionWhat changedDate
v1First version. Exact matching over the ten discriminating fields, with verbatim error-string agreement required before a group is published.2026-09-04