Current implementation status
This table reflects@premai/reticle 0.5.1 and the reviewed Reticle source at commit 6024585.
The client discovers one CPU module (
SEV-SNP or TDX) and an optional NVIDIA evidence bundle, then calls the corresponding high-level methods. The NVIDIA EAT token can contain multiple detached GPU claims even though module discovery reports only the NVIDIA vendor module.
Prem documentation and deployments target AMD SEV-SNP, Intel TDX, and NVIDIA confidential-computing GPUs. The exact hardware model, firmware, TCB, and policy acceptance decision must come from verified evidence and an explicit policy, not from a model alias.
What verified attestation policy means
A complete policy decision needs four distinct inputs:- Authenticity: the report or token verifies against manufacturer collateral.
- Freshness: the evidence contains the verifier’s nonce.
- Configuration: security-relevant claims meet required TCB, debug, and confidential-mode rules.
- Identity: measured values match a release-specific approved reference set.
Where Reticle runs
Reticle is the verifier library, not a component that must run on the GPU cluster. The attestation endpoint runs with the confidential runtime to obtain hardware evidence. Reticle runs in the SDK or proxy process and verifies that evidence. The Rust implementation is also published as a WASM package for supported JavaScript environments.How the SDK gates a request
With the defaultattest: true, @premai/api-sdk performs this sequence:
- Builds a Reticle client against
PROXY_URLand authenticates with the Prem API key. - Adds the requested model to the attestation query.
- Calls the high-level
client.attest()method. - Reads an
x-session-idfrom the returned attestation headers. - Sends the encrypted inference request with that session ID.
Routing and session pinning
Routing has two separate meanings:- Commercial/API routing: the gateway authenticates the API key, applies limits and billing metadata, and selects the service path for the requested alias while handling encrypted content.
- Attestation-linked routing: the attestation response supplies a session ID that the SDK attaches to the encrypted inference request so the platform can associate it with the attested backend path.
Model aliases are not assurance profiles
Model-list and completion types do not includeassurance, attestation, tee, or provider-backed/Reticle-verifiable fields.
- OpenAI-format and direct SDK completions can return a backend-resolved model ID in
response.model. - The Anthropic adapter returns the requested alias in its
modelfield. - Neither response is a substitute for an assurance profile.
Use the high-level Reticle API
Install the published package:attest() or a high-level component method:
client.attest() performs module discovery first.
Do not use request methods as verification
The published type definitions warn that these low-level methods request and parse evidence but do not perform cryptographic or measurement checks:request_* call is not an attestation pass.
Multi-GPU attestation and load balancing
Multi-GPU inference can use several physical GPUs for one model backend. The inspected NVIDIA parser accepts multiple detached GPU JWTs, checks that overall-token submodule digests have matching detached tokens, verifies the returned JWT signatures, and applies nonce validation to each returned GPU claim. That is only part of a multi-GPU decision. The reviewed client does not expose the per-GPU claims or verdicts to the application, reject every possible extra detached token through an exact-set comparison, or demonstrate that the session and load balancer are bound to the appraised GPU set. The currentCheckValidator implementation for selected per-GPU certificate fields also requires code-owner review because its boolean failure condition does not match the field names’ apparent meaning.
End-to-end multi-GPU attestation is not established until the application can audit the exact GPU set and the serving path fails closed when topology or scheduling changes.
CPU technologies and other processors
AMD SEV-SNP and Intel TDX are confidential-VM technologies with remote-attestation formats and manufacturer collateral that Reticle implements. Other CPUs are not automatically insecure; they are unsupported by this verifier unless there is a corresponding confidential-computing architecture, evidence format, collateral path, and policy implementation. Support for one CPU family is significant because it lets a remote client authenticate hardware evidence and freshness for that family. It does not make all workloads, measurements, or firmware states acceptable without policy checks.GPU technologies
NVIDIA confidential computing is hardware- and firmware-dependent. “Hopper” and “Blackwell” are architecture families, not sufficient policy inputs. A verifier must examine the actual signed token and claims for the deployed SKU and software stack. GPUs without a supported confidential-computing mode and attestation format cannot provide the same remote evidence through Reticle. They may still run inference, but the client cannot transfer NVIDIA confidential-computing claims to them.Audit records
An audit record should contain non-sensitive decision metadata, such as:- request/support ID and time;
- requested alias and resolved model ID when exposed;
- verifier and policy version;
- evidence type, hardware identity fields, and TCB result;
- nonce/freshness result;
- reference-set identifier and measurement result when implemented;
- allow/deny decision and reason.
Known gaps
- Expected CPU measurement comparison remains TODO in the reviewed client source.
- The API does not expose a model assurance profile.
- NVIDIA tokens can carry multiple GPU claims, but exact-set appraisal, exposed per-GPU verdicts, and scheduler binding are not established end to end.
- Reproducible release images and a public release-to-measurement mapping are separate requirements.
- Package and runtime version reporting currently disagree for the Confidential Proxy.
These findings apply to the reviewed package and source versions. Changes to Reticle, the SDK, endpoints, or policy require new source and live validation.

