---
title: OpenSecret
description: "`secret(open)`: a secret a packaged Machine names in its auth, a header or a command's env, and leaves for its composer to name (ADR-0054)."
---

# `OpenSecret`

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 OpenSecret = {
  readonly secret: string;
  readonly path: { readonly secret: string; readonly path: true } & OpenSecretMark;
} & OpenSecretMark;
```

`secret(open)`: a secret a packaged Machine names in its auth, a header or a command's env, and
leaves for its composer to name ([ADR-0054](../decisions/0054-the-kit-ships-machines-and-a-shipped-machine-leaves-its-parts-open.md)).

**Fields**: each field of [`OpenSecretMark`](type-opensecretmark.md), and these:

- `secret`: `string`
- `path`: `{ readonly secret: string; readonly path: true; } & OpenSecretMark`
