# security.token

A bad or expired token, secret or signature was presented

Profile: [Logs](https://www.prongs.dev/docs/intents/logs.md) · Written with: [`log()`](https://www.prongs.dev/docs/profiles/logs.md) · Level: `warn`

## Example

```ts
log('security.token', 'Preview secret did not match', { ip: '203.0.113.7' });
```

Writes

```ts
{
  "intent": "security.token",
  "level": "warn",
  "alert": false,
  "message": "Preview secret did not match",
  "data": {
    "ip": "203.0.113.7"
  },
  "time": "2026-10-09T12:00:00.000Z"
}
```

## Choosing between neighbours

Find the row that describes your case, and use the intent on the right.

| If it is for… | Use |
|---|---|
| A bad or expired token, secret or signature was presented | `security.token` (this page) |

## Connections

Declared in the registry, both directions. Where an intent is used in your own code is something check and the gallery see; this site has no app code.

- Built from: [`level.warn`](https://www.prongs.dev/docs/intents/logs.md#level-warn)
- Written by: [`auth.invalid`](https://www.prongs.dev/docs/intents/auth/invalid.md)

## For registry authors

**Starter intents.** These are the intents `prongs add logs` puts in your registry. Change levels through the [`level.*`](https://www.prongs.dev/docs/intents/logs.md#level) intents, and point [`log()`](https://www.prongs.dev/docs/profiles/logs.md) at your logger.

The entry `prongs add logs` writes into your registry. Change the level through its [`level.*`](https://www.prongs.dev/docs/intents/logs.md#level) ref.

```ts
'security.token': {
  kind: 'semantic',
  description: 'A bad or expired token, secret or signature was presented',
  refs: ['level.warn'],
},
```
