# security.signin

A sign-in failed, or succeeded from somewhere unusual

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.signin', 'Sign-in failed', { email: 'ada@example.com', attempts: 3 });
```

Writes

```ts
{
  "intent": "security.signin",
  "level": "warn",
  "alert": false,
  "message": "Sign-in failed",
  "data": {
    "email": "ada@example.com",
    "attempts": 3
  },
  "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 sign-in failed, or succeeded from somewhere unusual | `security.signin` (this page) |
| An ordinary sign-in | [`audit.signedin`](https://www.prongs.dev/docs/intents/audit/signedin.md) |
| A failed sign-in, or one from somewhere unusual (rather than [`audit.signedin`](https://www.prongs.dev/docs/intents/audit/signedin.md)) | `security.signin` (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.signin`](https://www.prongs.dev/docs/intents/auth/signin.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.signin': {
  kind: 'semantic',
  description: 'A sign-in failed, or succeeded from somewhere unusual',
  refs: ['level.warn'],
  notFor: [{ context: 'an ordinary sign-in', instead: 'audit.signedin' }],
},
```
