# `Latch.Error.SecurityViolation`

An integrity check required by the atproto OAuth spec failed. A caller must
not treat the user as logged in when one of these is returned.

## `reason` values
  * `:state_mismatch` - the callback `state` does not match the in-flight request
  * `:issuer_mismatch` - the callback `iss` does not match the discovered issuer
  * `:did_mismatch` - the token response `sub` does not match resolved DID

# `t`

```elixir
@type t() :: %Latch.Error.SecurityViolation{
  __exception__: term(),
  reason: :state_mismatch | :issuer_mismatch | :did_mismatch
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
