# MentorAnonymousIdentity enum

> How MentorAgent identifies a user who is not signed in — which decides whose memory they read and whose rate-limit allowance they spend.

- URL: https://docs.mentoragent.net/api/novior-mentoragent-options/mentoranonymousidentity
- Verified with: MentorAgent 1.2.0
- Last updated: 2026-10-27
- Packages: Novior.MentorAgent

## Definition

Namespace: `Novior.MentorAgent.Options`. Package: `Novior.MentorAgent`.

`public enum MentorAnonymousIdentity`

```shell
dotnet add package Novior.MentorAgent
```

## Values

| Value | Number | Description |
|---|---|---|
| `PerSession` | 0 | Each session gets its own key: a Blazor Server circuit, a SignalR connection, an application run. Two visitors of the same site never see each other's memories, and one visitor cannot spend everybody's rate-limit allowance. **Default.** The trade is that an anonymous visitor is not recognised on their next visit — which is what "anonymous" means: without a sign-in there is nothing to recognise them by. |
| `Shared` | 1 | Every unauthenticated session shares the single key `"anonymous"` — the behaviour before this option existed. Right for a **single-user** application (MAUI, a desktop tool, a kiosk), where it is what makes memory survive a restart. On a website it means a fact one visitor states is recalled for the next one, and `RateLimitPerUser` becomes one allowance for all of them; MentorAgent says so in the log the first time a second session reaches the shared bucket. |

---

- Previous: [MentorTelemetry class](https://docs.mentoragent.net/api/novior-mentoragent-observability/mentortelemetry.md)
- Next: [MentorConfirmationArgument record](https://docs.mentoragent.net/api/novior-mentoragent-options/mentorconfirmationargument.md)
