Aller au contenu

Policies

Ce contenu n’est pas encore disponible dans votre langue.

The Limits & Policies page (/admin/limits) exposes runtime-tunable policy. Most settings can be changed without restarting the server; a small number require a restart and are flagged accordingly in the UI.

Per-IP and per-user request budgets, enforced in front of the endpoint dispatcher.

PolicyDefaultScope
global100 req/minper IP, sliding window
auth10 req/minper IP
sync30 req/minper authenticated user
ai (auth)30 req/minper user
ai (anon)5 req/minper IP

The Retry-After strategy and burst windows are configured alongside.

Per-user object caps enforced before any sync push commits. Defaults:

ObjectCap
Templates100
AI providers20
Sessions10,000
Memories500
Todos500

A push that would exceed a cap is rejected with 409 quota_exceeded. The client surfaces this in the Cloud Sync settings.

Controls account lifecycle:

  • Allow self-signup — whether /auth/register is open to the public.
  • Require email verification — whether new accounts must confirm before signing in.
  • Allowed OAuth providers — toggle Google / Microsoft / Entra individually.
  • Password complexity — minimum length, required character classes (for local accounts).

Caps on the size of AI proxy traffic to keep costs bounded.

SettingPurpose
Max input charsHard ceiling on prompt length sent to upstream providers
Max output tokensCap requested from upstream (per request)
Daily token budgetOptional per-user token budget over a rolling 24h

The policies above are read from IOptionsMonitor<T> and re-bind on change. A small set of settings — database provider, JWT signing key, encryption master key — only take effect after a restart. The UI shows a banner with a “Restart now” button when an unsaved change requires a restart, and the restart is performed via the configured RestartCapability (which defaults to a process-level restart and is skipped in environments where it isn’t safe).