# Get Started with Sentinel

This guide takes you from zero to a running Sentinel instance protecting a real form. 

## Before you begin

You'll need:

- A place to run Sentinel — Docker is the quickest way to get started, and doesn't require an external database up front.

Sentinel runs on an automatic 30-day trial if you don't configure a license key. A license is required for production use — see [License](/docs/sentinel/security/license/).

## Step 1 — Install Sentinel

Pull and run the Sentinel image from GitHub Container Registry:

```bash
docker run -d \
-p 8080:8080 \
-v altcha_sentinel_data:/data \
ghcr.io/altcha-org/sentinel:latest
```

Open `http://localhost:8080` and sign in with the default credentials `root` / `root` — change the password immediately. See [Install with Docker](/docs/sentinel/install/docker/) for the other registries, port requirements, and persistence details.

Prefer Kubernetes, AWS ECS, Azure App Services, or Bunny.net? See the [Install overview](/docs/sentinel/install/) for the rest of the deployment targets.

## Step 2 — Create a Security Group and API Key

Sign in to your Sentinel instance and:

1. Create a **Security Group** — this holds the detection settings (challenge difficulty, Autopilot, rate limits, and more) applied to a given app or environment. See [Security Groups](/docs/sentinel/configure/security-groups/).
2. Generate an **API Key** for that Security Group — the widget uses this to fetch challenges, and you'll need the matching secret to verify submissions server-side. See [API Keys](/docs/sentinel/configure/api-keys/).

## Step 3 — Add the widget to your form

Install the widget and point its `challenge` attribute at your Sentinel instance:

```html
<form method="POST" action="/submit">
<!-- your form fields -->

<altcha-widget
challenge="https://sentinel.example.com/v1/challenge?apiKey=key_..."
></altcha-widget>

<button type="submit">Send</button>
</form>
```

Full setup instructions (npm install, CDN script, configuration options) are on the [Widget Integration](/docs/integration/widget/) page.

## Step 4 — Verify submissions on your server

In your form handler, verify the payload's server signature using your API Key Secret. See [Server Integration](/docs/integration/server/) for library examples in your language.

## Step 5 — Test and tune

1. Submit your form and confirm the request appears in the Sentinel dashboard.
2. Review the risk score and signals Sentinel captured for that request.
3. Leave [Autopilot](/docs/sentinel/features/autopilot/) on to let Sentinel tune challenge difficulty automatically, or adjust your Security Group's policy manually.

## Next steps

- **[Features](/docs/sentinel/features/)** — what each detection layer does and when to enable it.
- **[Use Cases](/docs/sentinel/use-cases/user-registration-protection/)** — recommended configurations for common scenarios like sign-up, login, and forms.
- **[Integration Checklist](/docs/sentinel/integration-checklist/)** — a launch-readiness checklist before you go to production.
