# Install sanctions

These examples use published, verified artifacts. Keep signing keys on your server.

<span id="install-tab-script"></span><span id="install-panel-script"></span>

## Script tag

The relay is a route on your server. It signs calls as your registered app.

```html
<script src="https://cdn.comms.id/sanctions/1.1.0.js" integrity="sha384-vdFZ7fYf35bS9jFinJrPvVy466hwsYzQQGA79GayuUZjs/vAnw2Z2O0LCcLpJ113" crossorigin="anonymous"></script>
<comms-id-sanctions relay="/api/comms-id/sanctions"></comms-id-sanctions>
```

<span id="install-tab-react"></span><span id="install-panel-react"></span>

## React

```sh
pnpm add @comms-id/sanctions-react@0.2.1 @comms-id/sanctions@0.3.1
```

```tsx
import { createSanctionsBrowserClient } from "@comms-id/sanctions/browser";
import { SanctionsScreen } from "@comms-id/sanctions-react";

const client = createSanctionsBrowserClient({ relayUrl: "/api/comms-id/sanctions" });
export const Example = () => <SanctionsScreen client={client} />;
```

<span id="install-tab-sdk"></span><span id="install-panel-sdk"></span>

## Server SDK

```sh
pnpm add @comms-id/sanctions@0.3.1
```

```ts
import { createSanctionsClient } from "@comms-id/sanctions/server";
const client = createSanctionsClient({
  clientId: process.env.COMMS_ID_CLIENT_ID!,
  privateJwk: JSON.parse(process.env.COMMS_ID_PRIVATE_JWK!),
});
```

See the operation reference for request, response and command-line examples.

<span id="install-tab-relay"></span><span id="install-panel-relay"></span>

## Relay

Install the server relay into your relying-party app:

```sh
pnpm dlx comms-id add sanctions-relay
```

<span id="install-tab-api"></span><span id="install-panel-api"></span>

## Agent tools

Product tools are served at https://mcp.comms.id. The documentation MCP serves
documentation only; it does not execute product operations.

## Operations

### screen

[Read the screen API reference](/docs/reference/sanctions/sanctions/sanctions-screen).

## Upgrading

[Upgrade guide](/docs/reference/sanctions/upgrade).
