# security.limited

A caller hit a rate limit

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.limited', 'Rate limit hit on validate-feed', { ip: '203.0.113.7' });
```

Writes

```ts
{
  "intent": "security.limited",
  "level": "warn",
  "alert": false,
  "message": "Rate limit hit on validate-feed",
  "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 caller hit a rate limit | `security.limited` (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: [`limit.rate`](https://www.prongs.dev/docs/intents/limit/rate.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.limited': {
  kind: 'semantic',
  description: 'A caller hit a rate limit',
  refs: ['level.warn'],
},
```
