# noust compliance

Choose compliance frameworks (ENS, ISO 27001, NIS2, CIS, SOC 2, GDPR) and their controls.

```bash
noust compliance [OPTIONS] COMMAND [ARGS]...
```

Subcommands: [`check`](#noust-compliance-check), [`controls`](#noust-compliance-controls), [`disable`](#noust-compliance-disable), [`enable`](#noust-compliance-enable), [`frameworks`](#noust-compliance-frameworks), [`set`](#noust-compliance-set), [`show`](#noust-compliance-show), [`status`](#noust-compliance-status)

## noust compliance check

Judge this server framework by framework, with the clause of each finding.

```bash
noust compliance check [OPTIONS]
```

| Option | What it does | Default |
|---|---|---|
| `--framework` | Judge this framework (repeat for more); the ones that are on by default. |  |
| `--all` | Also show the controls that pass. |  |
| `--settings-only` | Judge the settings without reading the server's state. |  |
| `--json` | Print the result as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust compliance controls

List every control: its value in force, its default, its setting, and who forces it.

```bash
noust compliance controls [OPTIONS]
```

| Option | What it does | Default |
|---|---|---|
| `--json` | Print the controls as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust compliance disable

Turn frameworks off. What they forced goes back to the default, or to a stricter framework or setting that still asks for it.

```bash
noust compliance disable [OPTIONS] FRAMEWORK...
```

Arguments: `frameworks_`

| Option | What it does | Default |
|---|---|---|
| `--yes`, `-y` | Do not ask for confirmation. |  |
| `--json` | Print the plan as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust compliance enable

Turn frameworks on, after showing which controls change and the clause each serves.

```bash
noust compliance enable [OPTIONS] FRAMEWORK...
```

Arguments: `frameworks_`

| Option | What it does | Default |
|---|---|---|
| `--yes`, `-y` | Do not ask for confirmation. |  |
| `--json` | Print the plan as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust compliance frameworks

List the frameworks, whether each is on, and how many controls it asks of.

```bash
noust compliance frameworks [OPTIONS]
```

| Option | What it does | Default |
|---|---|---|
| `--json` | Print the frameworks as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust compliance set

Set a control's own value (on or off, a number, a choice; "none" for no limit).

```bash
noust compliance set [OPTIONS] CONTROL VALUE
```

Arguments: `control`, `value`

| Option | What it does | Default |
|---|---|---|
| `--yes`, `-y` | Do not ask for confirmation. |  |
| `--json` | Print the plan as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust compliance show

Show one framework: what it asks of each control, the clause it serves, and what stays yours.

```bash
noust compliance show [OPTIONS] FRAMEWORK
```

Arguments: `framework`

| Option | What it does | Default |
|---|---|---|
| `--json` | Print the framework and its whole mapping as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust compliance status

Show which frameworks are on, which controls they force, and which you set yourself.

```bash
noust compliance status [OPTIONS]
```

| Option | What it does | Default |
|---|---|---|
| `--json` | Print the state as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

