---
title: NamedSecret
description: "A named secret, never `secret(open)`: where a definition's Open part is a whole that holds a secret — a dispatch's target (ADR-0071) — the secret is bound with it, to a name, so the mark `secret(open)` carries may not be present."
---

# `NamedSecret`

Type, in `@jr2/orchestrator/src/http-effect.ts`. The signature of an export, or a type that it names, names this type. The [Authoring surface](../authoring-surface.md) page lists each export. This type is not an export of `@jr2/orchestrator`, so a workflow module does not import it by name.

```ts
type NamedSecret = Secret & { readonly [K in keyof OpenSecretMark]?: never };
```

A named secret, never `secret(open)`: where a definition's Open part is a whole that holds a
secret — a dispatch's target ([ADR-0071](../decisions/0071-a-run-starts-a-run-through-a-dispatch-effect.md)) — the secret is bound with it, to a name, so the mark
`secret(open)` carries may not be present. One type for the definition and the binding.

**Fields**

- `secret`: `string`
- `path`: `object`

  - `secret`: `string`
  - `path`: `true`
- `[openSecretMark]` (optional): `true`
