← Methodology library · DBR core methodology
Methodology · Score components

The four-bar component breakdown. Why each weight is what it is.

Every Cipherwake report shows the DBR score as a sum of four weighted components. This page is a focused companion to the core DBR methodology — it documents only the visualizer, the weights, and how to read each component in isolation.

What the visualizer shows

Four horizontal bars on every report, each scored 0-10, each labeled with its weight. The total DBR score is:

DBR = (keyExchange × 0.50) + (certLifetime × 0.10) + (keyPersistence × 0.20) + (subdomainScale × 0.20)

The four components

ComponentWeightWhat low (0-3) meansWhat high (7-10) means
keyExchange50%Hybrid post-quantum TLS (e.g., X25519MLKEM768) — handshake is quantum-resistantRSA-only or RSA-fallback accepted — handshake decryptable post-CRQC
certLifetime10%Aggressive rotation (≤30 days, e.g. ACM 14-day) — minimal classical-compromise windowMulti-year cert lifetime — long classical blast window
keyPersistence20%Fresh keypair per cert renewal (CT-log verified)Same public key reused across many years of cert rotations — single compromise unlocks years of harvested traffic
subdomainScale20%Narrow hostname coverage, no wildcardWildcard SAN across many active subdomains, all sharing one key

Why these weights

The weights reflect what each component actually measures for the HNDL threat model:

HSTS, headers, email security, and other ASM signals are reported as findings on every report but do not contribute to the DBR score. They measure different threat models (downgrade defense, email spoofing, XSS) and conflating them with HNDL would create perverse incentives.

Methodology changelog

v1.1 — 2026-05-09 (current)

v1.0 — 2026-05-06 (original)

Weights: keyExchange 35%, certLifetime 25%, keyPersistence 15%, subdomainScale 25%. PQC discount: 0.7× multiplier on cert/keyPersistence/subdomainScale when hybrid PQC detected. keyPersistence measured HSTS rather than CT-log key reuse. Methodology bug: HSTS-as-key-persistence created incentive to weaken downgrade defense. Replaced by v1.1.

Why no PQC discount in v1.1?

v1.0 applied a 0.7× multiplier to all non-keyExchange components when hybrid PQC TLS was detected, on the rationale that "PQC mitigates direct HNDL risk so secondary components should drop." On reflection, this is methodologically muddy:

v1.1 makes the design honest: PQC's effect is fully captured inside keyExchange (raw=1 for hybrid PQC, vs. raw=5 for ECDHE-only and raw=7-9 for RSA fallback / RSA-only). Combined with the 50% weight on keyExchange, that already gives PQC adopters a strong, defensible advantage — without artificially discounting unrelated components.

Score range — why the floor is ~1.5, not 0

The lowest achievable score in 2026 is approximately 1.5/10 (Grade A), even for a domain doing everything right: hybrid PQC TLS, ≤30-day cert rotation with a fresh key per renewal, and a narrow non-wildcard public surface. The floor exists because subdomainScale bottoms out at raw=3 ("narrow public surface") — any reachable HTTPS domain has at least some blast radius, and the score honestly reflects that.

A literal 0 would require technology that is not yet deployed anywhere on the public internet: pure ML-KEM TLS without classical hybrid, ML-DSA (FIPS 204) certificate signatures throughout the chain, and zero public-facing surface. Hitting 1.5 today means you've done everything currently possible — the score is calibrated against present-day cryptographic reality, not a theoretical future where the floor moves down as deployment of pure-PQC primitives becomes practical.

Coverage gaps (roadmap)

Things this score does NOT yet capture, queued for future versions:

How to read the bars

What this view does NOT claim

Try it