Engagement models

Four shapes. Every quote is written against a scope.

No figure appears on this page. A published number is stale the day scope changes, and a stale number gets argued against rather than corrected. What is published instead is the shape of each commercial relationship and exactly what drives the quote, so you can estimate before you ask.

Quote per scope

Retainer

A recurring commitment for a defined capability and a defined response posture, billed on a fixed period rather than against hours consumed.

3 service lines

What you are buying

Standing access to a named capability and a contractual response time. The value is that the engagement terms are already signed when you need them, so an incident starts with a phone call rather than with procurement.

Fits

  • Incident response, where negotiating scope during an incident is the expensive part
  • Fractional CISO, where the work is judgement and continuity rather than deliverables
  • Monitoring, where the obligation is continuous by definition

What drives the quote

  • Response posture: the severity levels covered and the response time committed against each
  • Estate size, counted in issuing hierarchies, monitored certificates and enrolment paths
  • Coverage window, and whether escalation authority sits with us or stays with you

Normally used for

  • Fractional CISO
  • Incident response
  • MSSP monitoring

Wrong shape when A retainer is the wrong shape for a one-off with a hard end date. Buying twelve months of standing capability to run a three-month migration is paying for availability you have already consumed.

Fixed-scope project

A statement of work with a defined boundary, a named artifact list and an agreed completion condition. Priced against the scope, not against elapsed time.

3 service lines

What you are buying

A set of artifacts that exist at the end and did not at the beginning: an inventory, a signed hierarchy, a policy document, an assessment. Completion is the artifact being accepted, not a date passing.

Fits

  • Post-quantum migration planning, where the deliverable is an inventory and a sequenced plan
  • PKI and certificate lifecycle build-outs, where the deliverable is a hierarchy and its policy
  • CMMC readiness, where the deliverable is a scoping document, an assessment and a POA&M

What drives the quote

  • Number of distinct signing and key-agreement surfaces in the boundary
  • Whether an existing hierarchy is being extended or a new one designed and keyed
  • Whether evidence has to satisfy an external assessor, which changes what counts as done

Normally used for

  • Post-quantum migration
  • PKI and certificate lifecycle
  • CMMC readiness

Wrong shape when Fixed scope is the wrong shape when the scope is genuinely unknown. Where nobody can yet say what has to be inventoried, the honest first step is a proof of concept that establishes the boundary.

Proof of concept

A short, bounded engagement against a single named question, with a written answer as the deliverable and no obligation on either side afterwards.

2 service lines

What you are buying

An answer to one question — whether a composite lineage survives your TLS terminators, whether your enrolment path can carry an ML-DSA signature, what your issuance volume actually is. The output is a written finding, including the finding that it does not work.

Fits

  • Establishing scope before a migration project is priced
  • Validating a composite profile against a specific terminator, client or hardware fleet
  • Testing the issuance interface against a real integration before committing to it

What drives the quote

  • The number of questions. One question is a proof of concept; five is a project with a softer name
  • Whether we operate in your environment or reproduce it in ours
  • Whether the output has to be defensible to a third party or only to your own engineers

Normally used for

  • Post-quantum migration
  • PKI and certificate lifecycle

Wrong shape when A proof of concept is the wrong shape for production work. It is deliberately not hardened, not documented for handover and not supported, and pretending otherwise is how a pilot becomes an unowned production dependency.

Pay per transaction

Metered against a countable unit — a certificate issued, an evidence record anchored, a verification performed. No seat, no minimum, no contract term.

2 service lines

What you are buying

Capacity without a commitment. The unit is countable and the count is recorded on the evidence ledger, so the invoice and the audit trail are the same record rather than two systems that have to be reconciled.

Fits

  • Certificate issuance where volume is variable or seasonal
  • Evidence anchoring, where the natural unit is the record rather than the month
  • Teams evaluating the platform who should not be asked to sign anything to do so

What drives the quote

  • The unit — issuance, anchoring and verification are counted separately because their costs differ by orders of magnitude
  • Volume band, since the marginal cost of an anchor falls sharply with batching
  • Whether evidence retention is required, and for how long

Normally used for

  • Certificate issuance
  • Evidence anchoring and verification

Wrong shape when Metering is the wrong shape when what you need is somebody accountable. A per-transaction relationship carries no response obligation; the moment you need one, that is a retainer.

Side by side

Choosing between the four

The deciding question is rarely price. It is whether you are buying an artifact, an obligation, an answer or capacity.

Engagement model comparison
ModelBilling unitWhat completion meansResponse obligation
RetainerFixed periodIt does not complete. It renews or it ends.Yes — severity levels and response times written into the agreement.
Fixed-scope projectScope documentThe named artifacts exist and have been accepted.For the duration of the project only.
Proof of conceptOne questionThe question has a written answer, including a negative one.None. It is deliberately not production work.
Pay per transactionCountable unitEach transaction completes on its own.None. The moment you need one, that is a retainer.

Two shapes frequently run together: a project to build the hierarchy, then a retainer to hold the response obligation once it is carrying production traffic.

What can be quoted

22 lines, and what a quote against each one may contain

22 offerings. Each one states what runs and what does not, in the catalogue's own words rather than a summary of them, because an offering shown without its status is the specific defect this catalogue exists to prevent. A line marked as not built is designed and specified and nothing more, and saying so here is cheaper than being found out later.

6 live12 partial1 blocked3 not built
Build status to commercial posture
StatusWhat it meansWhat a quote may contain
LiveRunning in production and reachable today.Quotable as delivery. The capability runs today, so a fixed-scope project or a retainer can commit to it.
PartialImplemented and exercised by tests, with a named gap that is not yet closed.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.
BlockedCode exists but a specific defect prevents it from performing its function.Not quotable as delivery. The specific defect is named in the evidence column and a quote may cover diagnosing or repairing it, not depending on it.
Not builtDesigned and specified. No implementation exists.Not quotable as delivery at any price. A proof of concept establishing whether it should be built is the only honest engagement against this line.

The mapping is applied uniformly rather than per deal, which is what makes it worth publishing.

Every offering with its status, evidence and commercial posture
OfferingStatusEvidence for that statusQuotable asDeposited work behind it
CygnetLib and Cygnet ProviderPartialProvider and library implemented. The hybrid X25519 + ML-KEM-768 suite still needs an OID under the Sanctum private enterprise arc; the candidate 1.3.6.1.4.1.65953.9.1 is not yet assigned, so composite artefacts are not wire-stable across implementations.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.CygnetLib Cryptographic Library (20 source files); Cygnus Cryptographic Engine (159 source files)
Cygnus Foundry — cloud PKIBlockedThe service, routes and policy layer exist, but cygnus-cloud-pki cannot currently issue a certificate: certificates.py line 113 returns a placeholder PEM rather than signing a CSR. Until that is replaced the API answers, and the answer is not a certificate.Not quotable as delivery. The specific defect is named in the evidence column and a quote may cover diagnosing or repairing it, not depending on it.Cygnus Foundry Cloud PKI (39 source files); Sanctum PKI Stack (102 source files)
Sanctum AEGISPartialCanonicaliser, DER encoder, OID registry, tier resolver and an intermediate-representation compiler at IR version 1 are implemented. Filed as a provisional under docket SANCTUM-AEGIS-PPA-2026-06-10; the non-provisional is not yet prepared.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.None
Scryptorium and CygnusScryptPartialCompiler and language implemented with a deterministic intermediate representation. The gap is authorship, not code: the standard library of policies an operator would start from is not written.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.CygnScrypt Compiler and Runtime (34 source files); Scryptorium Compiler (5 source files)
QZT — quantum-safe zero-trust overlayPartialNode runtime, control panel and the desktop tray are built; the panel renders live node state. ALBIREO handshake resumption is unimplemented at crates/qzt-node/src/runtime.rs line 435, so a dropped session renegotiates in full, and qzt-node does not yet expose GET /pulse.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.CygnduitZT Transport (53 source files)
Sanctum LINK — attested enrolmentNot builtSpecified end to end, including the billing model where the successful enrolment is the billable event. No implementation exists.Not quotable as delivery at any price. A proof of concept establishing whether it should be built is the only honest engagement against this line.None
sanctum-chain — evidence ledgerPartialSeven tables with an append-only trigger on the event table, a Merkle leaf store, signed tree heads and anchor records, on PostgreSQL behind a typed API. Verified against a real Postgres 18 instance: 356 tests pass, append-only triggers fire, and total supply is conserved on every path. Signed-tree-head signing fails closed when the YubiKey is absent, which means a cloud deployment produces no signatures at all rather than weak ones — correct, and a deployment constraint worth stating. The hardening sits on an unmerged branch, so the default branch still carries the older behaviour.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.Cygnus Convergence (30 source files)
Anchoring and proof of existenceLiveDeployed and exercised on Sanctum PEN, chain 65953. YSTPAnchor is at 0x606f5b677234d5d912ac8fcda4db3bccb1611515, carrying 3,653 runtime bytes — the deployed code length matches the compiled size exactly — and it verifies the YubiKey P-256 signature on-chain through the P256VERIFY precompile standardised in RIP-7212 and EIP-7951, so authority rests in the signature and not in the sending account. The precompile was probed on the live chain before deployment and returns empty on invalid input, which is the specified behaviour. The authority key is registered: P-256 on YubiKey serial 37290121, PIV slot 8E, transaction status 0x1 in block 72,737, and getKey reads back active. The contract confirms SANCTUM_PEN as 65953, agreeing with the 1.3.6.1.4.1.65953 arc. Read-back rather than receipt: owner, SANCTUM_PEN and getKey were all queried after the fact. What is still not true is external checkability — the RPC does not answer from outside the perimeter, so a reader cannot repeat these calls. Anchor cadence stays once per 24 hours by design: anchoring costs roughly 66 ms against 0.50 ms for a rekey, a 177-fold ratio that argues for infrequent anchors and frequent rekeys.Quotable as delivery. The capability runs today, so a fixed-scope project or a retainer can commit to it.None
Open timestamp receiptsNot builtNo receipt serialisation exists anywhere in the codebase; the format is named in two README files and nowhere else. Compatibility with standard clients is not claimed and will not be claimed until a receipt produced here verifies in one.Not quotable as delivery at any price. A proof of concept establishing whether it should be built is the only honest engagement against this line.None
SCN — settlement and tokenomicsPartialMint, vesting, burn, governance voting and treasury modules are implemented and covered by the suite. The two defects previously published here — conflicting 002 migrations, and contract execution committing partial state — are both fixed and regression-tested on a branch that has not been merged. The on-chain unit is deployed: SanctumCoinX at 0xfedd5a48895eca9d7ad1a637ee7db2d8d4266d52 on chain 65953, an 8-decimal ERC-20 with a one-billion cap and a YubiKey-gated bridge-in, 5,391 runtime bytes on chain against 5,391 compiled. It reads back symbol SCNX, 8 decimals, and its anchor bound to the deployed YSTPAnchor. The off-chain mint schedule, vesting and treasury modules that meter it remain on an unmerged branch, which is why this is partial rather than live.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.None
Deterministic contract executionPartialInterpreter, gas accounting and the state model are implemented, and the execution path has been rewritten to run inside one Postgres transaction: the contract row and every reachable balance row are locked in sorted order, the engine runs copy-on-write, and on failure no state and no contract-driven ledger movement commits while the payer still pays for gas consumed. Nine defects were fixed, one critical — a threshold condition that did not deduplicate signatures by address, letting a single signer satisfy an N-of-M rule by replaying one signature. 58 regression tests plus 30 against real Postgres. All of it is still on an unmerged branch, which is the gap: the on-chain suite this meters is deployed on chain 65953, the interpreter that meters it is not merged.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.None
Attested collectiblesPartialCollections, tokens, transfers and marketplace listings exist in schema and routes, and the on-chain pair is deployed: SanctumComposites at 0x11620f6a2f092d062ef8efed6cec0736237a52f3, an ERC-721 with ERC-2981 royalties and immutable provenance, 7,518 runtime bytes, reading back symbol SCOMP; and SanctumMarketplace at 0x7f277208a180dce0bc89d86d5e9ba55831ef6604, 5,203 bytes, with paymentToken bound to the deployed SCNX and a protocol fee of 250 basis points against a contract cap of 1,000. What keeps this partial is not the code: no collection has been issued, and the treasury, validator and staker sinks all still point at the deployer address, so the split is nominal until they are separated.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.None
Chain as a servicePartialTenant provisioning, per-tenant usage accounting, the fee schedule and the three tiers are implemented. The tenant dashboard single sign-on is forgeable as written: the token is verified against an environment variable that defaults to the empty string, which lets anyone mint a valid session for any tenant. That must be fixed before a tenant is onboarded.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.None
Validator set and reputationPartialValidator set, reputation scoring and block records are implemented. The set is not distributed: it runs as a single operator today, which means the reputation model is instrumentation rather than consensus.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.None
Machine-payable verificationNot builtThe commercial design is settled — bill the successful verification, keep the client permissively licensed — and the payment rails exist externally. Nothing is wired up on the Sanctum side.Not quotable as delivery at any price. A proof of concept establishing whether it should be built is the only honest engagement against this line.None
Post-quantum migration readinessLiveDelivered as an engagement today. This is the offering that Executive Order 14412 and OMB M-26-15 turned from advisory work into a dated obligation, including a cryptographic bill of materials whose stated purpose is automated assessment of cryptographic assets.Quotable as delivery. The capability runs today, so a fixed-scope project or a retainer can commit to it.Sanctum PQC Validator (2 source files)
NIST SP 800-171 assessment evidenceLiveDelivered as an engagement. Repositioned in July 2026: with third-party certification suspended and self-assessment against NIST SP 800-171 Revision 2 the operative requirement, the deliverable is the evidence index rather than assessor readiness.Quotable as delivery. The capability runs today, so a fixed-scope project or a retainer can commit to it.None
Fractional CISOLiveDelivered on retainer today. The register, the reporting cadence and the insurance-readiness review are all manual work product; none of it is generated from the platform yet, so the engagement scales with hours rather than with software.Quotable as delivery. The capability runs today, so a fixed-scope project or a retainer can commit to it.None
Sanctum IntelPartialSources and scoring are defined and the ticketing integration is designed. The poller that closes the loop from advisory to ticket is not yet deployed, so triage runs on request rather than continuously.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.None
Service desk and MDR triageLiveRunning on a hosted desk with ten queues, ten seats and published resolution targets. The two security queues are deliberately capped at zero automated resolution: a human signs every incident.Quotable as delivery. The capability runs today, so a fixed-scope project or a retainer can commit to it.None
Enterprise Control CenterLiveDeployed and serving. Node deployment from the console is the next capability and is not yet wired.Quotable as delivery. The capability runs today, so a fixed-scope project or a retainer can commit to it.Cygnary Control Plane (186 source files)
Endpoint and device operationsPartialEnablement is in place on the managed platform and device enrolment works. The join to Sanctum policy is not built, so today it is a competent RMM rather than a control-plane extension.Quotable as delivery only around the named gap. The scope document states the gap in the catalogue’s words and the quote excludes closing it unless closing it is the engagement.None

Status and evidence are rendered verbatim from the same catalogue the services and platform pages render, so no line can read as available here and blocked there.

Common terms

True of every engagement regardless of shape

These are not negotiated per deal, so they are stated once here rather than discovered later.

Standing terms

  • Every quote is written against a named scope. A quote without a scope document attached is not a quote we issued.
  • Artifacts produced under a project are yours, including the source form of any policy, profile or inventory.
  • Where an engagement depends on a capability that is not yet built, the statement of work names it and the quote excludes it. Nothing is sold on the assumption that it ships during the engagement.
  • Retainers state the severity definitions and the response commitment in the agreement itself, not in a linked page that can be edited afterwards.

Bring a scope, get a number

If the scope is not yet knowable, the honest first engagement is a proof of concept that establishes the boundary. Engagement detail is on the services page.