The canonical, public specification behind every AutoPQC exposure score. Five weighted dimensions, one combination formula, one override rule, and the arithmetic that turns the 42 assets of the illustrative reference estate (synthetic, not customer data) into its estate score of 75 / 100. This page is the authority — where a knowledge-base article and this page disagree, this page wins.
theos-method-v1.0 supersedes theos-method-v0.1 (published 2026-07-25). Reports issued under theos-method-v0.1 remain valid for what they were, but stay pinned to that version — see the revision history below.
§01 · Principles
Why the score can be trusted.
Deterministic
The same inputs, scored under the same method version, produce the same integer every time. There is no sampling and no randomness at scoring time, and nothing in the scoring path is a model output that cannot be restated as a rule.
Version-stamped
Every score, report and export carries the method version that produced it. A score is never silently recomputed under a newer version, and figures are never compared across a major bump as though they were the same measurement.
Explainable
Five dimensions, five fixed weights, one rounding rule and one floor rule. A finding can be walked backwards from tier to raw observation without asking us anything.
Peer-reviewable
The full dimension table, the combination formula and the reference estate's derivation (illustrative — a synthetic reference estate, not customer data) are published on this page rather than held for a briefing. A reviewer who disagrees can point at the dimension, not just reject the number.
Checked against a bound
A measurement is not finished when it agrees with somebody else's; it is finished when it has been checked against a limit that cannot be exceeded. We published a worked example of that rule — including the defect it caught in a public dataset — at /research/bitcoin-quantum-exposure.
Published, not gated
This specification sits at a public URL with no login and no sales conversation required to read it. What changes between versions is recorded in the open, in the revision history below.
§02 · Dimensions
Five dimensions, one hundred points.
Each discovered cryptographic asset is scored 0–100 on every dimension below against a published anchor rubric, then the five sub-scores are combined.
| Dimension | Weight | What it measures | Scores high when |
|---|---|---|---|
Primitive Fragility primitive_fragility | 30 | How completely a known quantum algorithm defeats the primitive at its deployed parameters | The primitive falls outright and no parameter increase rescues it |
Confidentiality Horizon confidentiality_horizon | 25 | How long the protected data must stay confidential after it could be captured | The obligation runs for decades, so captured traffic keeps its value |
Reachability reachability | 20 | How easily an adversary can reach the asset or record its traffic today | The asset is internet-facing, or its transcript crosses a network you do not control |
Change Cost change_cost | 15 | Effort, coordination and blast radius of replacing the primitive in place | Many dependent parties must move together, or the change touches a signing root |
Substitution Gap substitution_gap | 10 | Distance from a standardised, deployable replacement | No standardised replacement exists, or no shipped library implements one |
Weights are integers and sum to 100. They are fixed for the lifetime of this method version.
§03 · Combination
A weighted mean, rounded half-up, then one floor.
The aggregation is a weighted arithmetic mean, rounded half-up to an integer. The fragility floor is then applied as an explicit rule on that integer, not folded into the arithmetic above it.
exposure(asset) = round_half_up(
0.30 * primitive_fragility
+ 0.25 * confidentiality_horizon
+ 0.20 * reachability
+ 0.15 * change_cost
+ 0.10 * substitution_gap
)
# every dimension is scored 0-100 against the published anchor rubric
#
# fragility floor, applied AFTER rounding, on the integer, never before it:
# if primitive_fragility == 100 and reachability >= 60:
# exposure = max(exposure, 65)
#
# the floor only ever raises a score. it is never applied to lower one.The floor is evaluated after rounding, on the same integer a reviewer reads, not on an intermediate real number nobody sees. An asset whose primitive is completely defeated and which is meaningfully reachable cannot be tiered below Elevated, even when its data is short-lived and the fix is a one-line configuration change. The floor lifts a score to 65 — it never lowers one — and where it binds, the finding record keeps both the computed value and the floored value.
§04 · Worked example
One asset, worked in full.
Illustrative — not a record from the synthetic reference estate — chosen because the shape is common in the sectors we work in.
asset tls-edge-payments-01 (illustrative)
primitive RSA-2048 key transport, TLS termination at the edge
primitive_fragility 100 x 0.30 = 30.00
confidentiality_horizon 95 x 0.25 = 23.75
reachability 100 x 0.20 = 20.00
change_cost 65 x 0.15 = 9.75
substitution_gap 30 x 0.10 = 3.00
------
raw 86.50
round half-up 87
fragility floor (65) not binding
tier Acute (85-100)Fragility and Reachability are both at maximum and together contribute 50 of the 87. Substitution Gap is low because FIPS 203 gives a standardised key-establishment replacement and mainstream TLS stacks already ship a hybrid mode. Change Cost sits mid-band because the cutover has to be coordinated with clients outside this organisation's control. Taking Change Cost to zero would move the asset to 77 — still Elevated. Nothing short of replacing the primitive removes this asset from the migration programme.
§05 · Estate roll-up
From 42 assets to 75 / 100.
The estate score is a criticality-weighted mean of asset scores. Criticality is declared during intake on three bands — Core (k=3), Supporting (k=2), Ancillary (k=1) — so a small population of consequential assets is not diluted by a large population of low-consequence ones.
| Cohort | Assets | k | Mean | k × n | Contribution |
|---|---|---|---|---|---|
| Internet-facing TLS termination, RSA key transport | 8 | 3 | 90 | 24 | 2,160 |
| Internal service-mesh mTLS, ECDSA P-256 | 11 | 2 | 70 | 22 | 1,540 |
| Code-signing and firmware keys, ECDSA P-256 | 5 | 3 | 86 | 15 | 1,290 |
| Batch file transfer, SHA-1 integrity and 3DES | 7 | 1 | 61 | 7 | 427 |
| Archived backups, RSA key wrapping | 5 | 2 | 68 | 10 | 680 |
| Data at rest, AES-256-GCM with SHA-384 | 6 | 1 | 33 | 6 | 198 |
| Totals | 42 | — | — | 84 | 6,295 |
The first five cohorts contain the 36 illustrative assets outside Contained. This includes classical weaknesses as well as quantum exposure; it is not a count of 36 quantum-vulnerable assets.
estate = sum(k * n * cohort_mean) / sum(k * n)
= 6295 / 84
= 74.940...
round half-up = 75
tier = Elevated (65-84)That is the published 75 / 100. It sits ten points above the floor of Elevated and ten below Acute. The estate tier can change when a sufficiently influential cohort changes. It is a criticality-weighted mean of 42 illustrative asset scores, derived here rather than asserted.
§06 · Tiers
Four bands. No gaps, no overlaps.
Every integer from 0 to 100 belongs to exactly one tier. These four words are the only tier names used anywhere on this site.
A defeated primitive on a reachable asset holding long-lived data. Captured traffic stays valuable well beyond any plausible migration schedule.
Obliges
First wave. Remediation design starts before anything else in the backlog.
The primitive is quantum-exposed and the asset belongs inside the migration programme. One or two dimensions are moderating the score rather than the underlying problem being smaller.
Obliges
Second wave. Planned in the same programme as Acute, scheduled behind it.
Either the primitive holds today and the data will outlive it, or the primitive is exposed but nothing reaches it. Real, and not urgent.
Obliges
Third wave, or a standing review item, re-examined at every method version bump.
Conformant cryptography, or exposure with no reachable path and no meaningful horizon.
Obliges
No action. Kept in the inventory so a configuration drift is visible.
No service level. No deadline.
We attach no service level and no deadline to any tier. A tier is our recommendation about ordering, not a decision about your budget, your change freeze or your regulatory position. Where a genuine dated obligation exists, it comes from a regulator — CNSA 2.0 for national security systems, DORA for in-scope financial entities since 17 January 2025 — never from Theos Quantum. An Acute tier is our strongest recommendation and nothing more.
§07 · Tier distribution
The synthetic reference estate, tier by tier.
An estate tier of Elevated is a mean. The distribution behind it is what a migration programme is actually run from.
| Tier | Assets | Share | What it contained |
|---|---|---|---|
| Acute | 13 | 31% | Internet-facing TLS termination, and the code-signing and firmware keys |
| Elevated | 16 | 38% | Internal service-mesh mTLS, and RSA key wrapping on archived backups |
| Watch | 7 | 17% | Batch file transfer using SHA-1 for integrity and 3DES for confidentiality |
| Contained | 6 | 14% | Data at rest under AES-256-GCM with SHA-384 |
| Total | 42 | 100% | 36 of the 42 illustrative assets are outside Contained |
The synthetic example has six assets in Contained and 36 outside it. These tiers are not a binary quantum-vulnerability classification.
§08 · Limits
What this score is not.
- Not a probability. An exposure score of 87 does not mean an 87% chance of anything, and no dimension encodes a belief about an attacker's budget or intent.
- Not a percentage of anything. The scale is 0–100 by construction, not because it measures a share of a whole.
- Not a Q-Day forecast. We do not estimate when a cryptographically relevant quantum computer will exist, and no dimension needs that date to be computed. See Claims we refuse to make, linked below.
- Not a general security rating. The score covers cryptographic exposure to quantum attack only. It says nothing about patch posture, identity hygiene, network segmentation or operational resilience.
- Not comparable across organisations. Two estates with the same score are equally urgent relative to the same rules, not equally at risk in any absolute sense.
- Not a compliance verdict. A tier is a recommendation about sequencing, not a finding that you passed or failed an audit.
§09 · Revision history
Two versions, published in the open.
Five factors named for discovery mechanics — algorithm family, data longevity, exposure surface, migration difficulty, operational criticality — with LOW / MODERATE / HIGH / CRITICAL tiers, and the synthetic example’s 75/100 was asserted rather than derived.
Renamed and reweighted the five dimensions around what a reviewer needs to contest a score — Primitive Fragility, Confidentiality Horizon, Reachability, Change Cost, Substitution Gap — added the fragility floor override, moved to the Acute / Elevated / Watch / Contained tier vocabulary, and derived the synthetic example’s 75/100 arithmetically from six weighted cohorts instead of asserting it.
Reports issued under theos-method-v0.1 stay pinned to that version. Their scores, tiers and dimension names are frozen as published and are not comparable across this major version bump — replay the underlying estate under theos-method-v1.0 rather than reading figures from the two versions side by side.
§10 · Versioning policy
Semantic versioning, applied to a scoring method.
Patch = wording only, no score can move. Minor = additive, some scores may move. Major = breaking, scores are not comparable.
theos-method-v<MAJOR>.<MINOR>[.<PATCH>]
theos-method-v0.1 superseded — retained for reports issued under it
theos-method-v1.0 current — the published specification
theos-method-v1.0.1 patch — wording only; no score can move
theos-method-v1.1 minor — additive; some scores may move
theos-method-v2.0 major — breaking; scores are not comparable§11 · Cite this methodology
Open and citable.
Theos Quantum Technologies. (2026). The Theos Method
(Version 1.0) [Methodology specification]. https://www.theosquantum.com/methodology§12 · References
What this specification is built on.
- [01]NIST FIPS 203 — Module-Lattice Key-Encapsulation Mechanism (ML-KEM)
- [02]NIST FIPS 204 — Module-Lattice Digital Signature Algorithm (ML-DSA)
- [03]NIST FIPS 205 — Stateless Hash-Based Digital Signature Algorithm (SLH-DSA)
- [04]NIST IR 8547 (draft) — Transition to Post-Quantum Cryptography Standards
- [05]NSA CNSA 2.0 — Commercial National Security Algorithm Suite 2.0 & timeline
- [06]CISA / NSA / NIST — Quantum-Readiness: Migration to Post-Quantum Cryptography factsheet
- [07]NIST SP 800-57 — Recommendation for Key Management
- [08]Mosca, M. — Cybersecurity in an era with quantum computers: will we be ready?
§13 · Further reading
The construction, restated in the Knowledge Base.
This page is the authority. These articles walk through the same construction at essay length, with more worked reasoning and more cross-links.
How the exposure score is built
The full construction, restated in article form, with the same arithmetic.
What the risk tiers mean
Why the boundaries sit where they do, and what a tier does not authorise.
Reproducing our numbers
What each published illustrative figure measures, and where it stops transferring to your estate.
How the method is versioned
The change policy, notice periods, and the Evidence Ledger that records every revision.
Claims we refuse to make
The assertions — dated forecasts, breach probabilities — we will not attach to a number.