> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Module: runtime/adapters/policy

> Reference for the bijection/runtime/adapters/policy entry point.

## Type Aliases

### NarrowingProgram

Ƭ **NarrowingProgram**: `Object`

The pipeline and the definition and program digests of its publication
group. Any change is another program and needs a new review.

#### Type declaration

| Name | Type |
| :- | :- |
| `producer` | `string` |
| `definition` | `string` |
| `program` | `string` |

***

### NarrowingProposal

Ƭ **NarrowingProposal**: `Object`

The immutable proposal a narrowing reviews.

#### Type declaration

| Name | Type | Description |
| :- | :- | :- |
| `dataset` | `string` | - |
| `program` | [`NarrowingProgram`](https://docs.bijection.com/api/modules/runtime_adapters_policy#narrowingprogram) | - |
| `markings` | `string`\[] | Sorted, distinct `<resource>:<key>` marking names. |

***

### NarrowingConsentReceipt

Ƭ **NarrowingConsentReceipt**: `Object`

An exact retry of the same issuer and request recovers this consent,
including after withdrawal, without creating or reactivating authority.

#### Type declaration

| Name | Type |
| :- | :- |
| `id` | `string` |
| `disposition` | `"issued"` \| `"recovered"` |
| `state` | `"available"` \| `"revoked"` \| `"consumed"` |

***

### NarrowingConsentStatus

Ƭ **NarrowingConsentStatus**: `Object`

Retained lifecycle only; `use` alone decides current sponsorship.

#### Type declaration

| Name | Type | Description |
| :- | :- | :- |
| `id` | `string` | - |
| `state` | `"available"` \| `"revoked"` \| `"consumed"` | - |
| `expiresAt` | `number` | - |
| `proposal` | [`NarrowingProposal`](https://docs.bijection.com/api/modules/runtime_adapters_policy#narrowingproposal) | - |
| `proposer` | `string` | Native principals, never credentials. |
| `sponsor` | `string` | - |

## Variables

### narrowingConsents

• `Const` **narrowingConsents**: `Object`

Called by the consuming component; the native owner identifies it.

#### Type declaration

| Name | Type |
| :- | :- |
| `issue` | (`input`: \{ `request`: `string` ; `proposal`: [`NarrowingProposal`](https://docs.bijection.com/api/modules/runtime_adapters_policy#narrowingproposal) ; `evidence`: `string` ; `expiresAt`: `number`  }) => `Promise`\<[`NarrowingConsentReceipt`](https://docs.bijection.com/api/modules/runtime_adapters_policy#narrowingconsentreceipt)> |
| `use` | (`id`: `string`, `proposal`: [`NarrowingProposal`](https://docs.bijection.com/api/modules/runtime_adapters_policy#narrowingproposal)) => `Promise`\<`boolean`> |
| `revoke` | (`id`: `string`) => `Promise`\<`null`> |
| `status` | (`id`: `string`) => `Promise`\<[`NarrowingConsentStatus`](https://docs.bijection.com/api/modules/runtime_adapters_policy#narrowingconsentstatus)> |

***

### transactionEvidence

• `Const` **transactionEvidence**: `Object`

Facts supplied by the executing transaction. These confer no authority.

#### Type declaration

| Name | Type |
| :- | :- |
| `insertions` | () => `Promise`\<readonly \{ `table`: `string` ; `record`: `string`  }\[]> |
| `created` | (`record`: `string`) => `Promise`\<`boolean`> |
| `admittedCalls` | () => `Promise`\<readonly \{ `id`: `string` ; `installation`: `string` ; `component`: `string` ; `function`: `string` ; `args`: [`Value`](https://docs.bijection.com/api/modules/values#value) ; `result`: [`Value`](https://docs.bijection.com/api/modules/values#value)  }\[]> |

## Functions

### narrowingDeclassification

▸ **narrowingDeclassification**(`marking`): `Object`

The exact native check that lowers a marking: `<resource>:declassify` on
its key. Clearance dominance confers no declassification.

#### Parameters

| Name | Type |
| :- | :- |
| `marking` | `string` |

#### Returns

`Object`

| Name | Type |
| :- | :- |
| `permission` | `string` |
| `resource` | \{ `type`: `string` ; `key`: `string`  } |
| `resource.type` | `string` |
| `resource.key` | `string` |

***

### narrowingProposal

▸ **narrowingProposal**(`input`): [`NarrowingProposal`](https://docs.bijection.com/api/modules/runtime_adapters_policy#narrowingproposal)

Canonical proposal in the native field order, refusing malformed input.

#### Parameters

| Name | Type |
| :- | :- |
| `input` | [`NarrowingProposal`](https://docs.bijection.com/api/modules/runtime_adapters_policy#narrowingproposal) |

#### Returns

[`NarrowingProposal`](https://docs.bijection.com/api/modules/runtime_adapters_policy#narrowingproposal)

***

### narrowingProposalDigest

▸ **narrowingProposalDigest**(`proposal`): `string`

The binding a proposer's sealed decision-subject evidence names:
SHA-256 of the canonical proposal.

#### Parameters

| Name | Type |
| :- | :- |
| `proposal` | [`NarrowingProposal`](https://docs.bijection.com/api/modules/runtime_adapters_policy#narrowingproposal) |

#### Returns

`string`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.