# pllm.verification Python API

Public objects, practical usage, and research context for pllm.verification.

[View canonical HTML](https://pllm.run/sdk/reference/python/pllm/verification/)

Document ID: `pllm.docs.reference.python.pllm.verification`  
Release: `0.1.0`

Verification components and checks bind optional result verification to explicit soundness and one-use material policies. Presence documents API availability, not complete model, security, or deployment coverage; check [implementation status](/sdk/reference/status/) before relying on a path.

## Research context

Relevant design inputs: [Slalom](/research/papers/r07-slalom/). PLLM's implementation and evidence claims remain independent.

## Python SDK example

The example performs a bounded offline task and checks an observable result. It does not download a checkpoint or contact a provider.

```python
import pllm.verification as verification

verifier = verification.FreivaldsVerify(target_failure_bits=48)
assert verifier.get_params()["target_failure_bits"] == 48
```

API: [`pllm.verification`](/sdk/reference/python/pllm/verification/#objects-and-signatures)

## Objects and signatures

### `LinearCheckKey`

Immutable `LinearCheckKey` record carrying `challenge`, `input_projection`, `modulus`, `model_fingerprint`, `stage_id` for the workflow where verification components and checks bind optional result verification to explicit soundness and one-use material policies.

- Canonical object: `pllm.runtime.linear_integrity.LinearCheckKey`
- Kind: `class`
- Signature/type: `(challenge: 'np.ndarray', input_projection: 'np.ndarray', modulus: 'int', model_fingerprint: 'str' = '', stage_id: 'str' = '') -> None`
- Public exports: `pllm.verification.LinearCheckKey`
- Public members: `property check_count: 'int'`

### `LinearCheckResult`

Immutable `LinearCheckResult` record carrying `valid`, `expected`, `observed` for the workflow where verification components and checks bind optional result verification to explicit soundness and one-use material policies.

- Canonical object: `pllm.runtime.linear_integrity.LinearCheckResult`
- Kind: `class`
- Signature/type: `(valid: 'bool', expected: 'np.ndarray', observed: 'np.ndarray') -> None`
- Public exports: `pllm.verification.LinearCheckResult`

### `LinearIntegrityError`

Raised when a LinearIntegrity condition prevents the requested operation from completing.

- Canonical object: `pllm.runtime.linear_integrity.LinearIntegrityError`
- Kind: `class`
- Signature/type: `signature not exposed`
- Public exports: `pllm.verification.LinearIntegrityError`

### `check_linear_result`

Checks one linear output against supplied integrity material.

- Canonical object: `pllm.runtime.linear_integrity.check_linear_result`
- Kind: `function`
- Signature/type: `(input_value: 'np.ndarray', output_value: 'np.ndarray', key: 'LinearCheckKey', *, raise_on_failure: 'bool' = True) -> 'LinearCheckResult'`
- Public exports: `pllm.check_linear_result`, `pllm.verification.check_linear_result`

### `create_linear_check_key`

Create a client secret check key for a server matrix.

- Canonical object: `pllm.runtime.linear_integrity.create_linear_check_key`
- Kind: `function`
- Signature/type: `(weight: 'np.ndarray', *, modulus: 'int', checks: 'int' = 2, seed: 'int \| None' = None, model_fingerprint: 'str' = '', stage_id: 'str' = '') -> 'LinearCheckKey'`
- Public exports: `pllm.create_linear_check_key`, `pllm.verification.create_linear_check_key`

### `FreivaldsVerify`

Selects component `pllm/freivalds-verify/v1` during `offline-online`; it provides `authenticated-one-use-freivalds` for roles client, preparation.

- Canonical object: `pllm.verification.FreivaldsVerify`
- Kind: `class`
- Signature/type: `__init__(self, target_failure_bits: int=40) -> None`
- Public exports: `pllm.verification.FreivaldsVerify`
- Public members: `descriptor: ComponentDescriptor`; `target_failure_bits: int`; `__init__(self, target_failure_bits: int=40) -> None`; `classmethod describe(cls) -> ComponentDescriptor`

### `LinearIntegrity`

Selects component `pllm/linear-integrity` during `online`; it provides `hidden-linear-integrity-check` for roles client.

- Canonical object: `pllm.verification.LinearIntegrity`
- Kind: `class`
- Signature/type: `__init__(self) -> None`
- Public exports: `pllm.verification.LinearIntegrity`
- Public members: `descriptor: ComponentDescriptor`; `__init__(self) -> None`; `classmethod describe(cls) -> ComponentDescriptor`

### `VerificationScheme`

Immutable `VerificationScheme` record carrying `component`, `params` for the workflow where verification components and checks bind optional result verification to explicit soundness and one-use material policies.

- Canonical object: `pllm.verification.VerificationScheme`
- Kind: `class`
- Signature/type: `constructor not exposed`
- Public exports: `pllm.verification.VerificationScheme`
