> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Collezione Users

`User` rappresenta un singolo account utente nel sistema Overleaf. Memorizza i dati di autenticazione, i flag delle funzionalità, le preferenze dell'editor, i permessi di accesso e i metadati sull'attività.

#### Identità principale e autenticazione

* `_id`: ObjectId MongoDB univoco dell'utente.
* `email` / `emails`: email principale e storico degli indirizzi email.
* `hashedPassword`: password con hash BCrypt usata per l'autenticazione locale.
* `first_name` / `last_name`: campi del nome nel profilo utente.
* `role` / `isAdmin` / `adminRoles`: flag del ruolo e dei privilegi amministrativi.
* `twoFactorAuthentication`: configurazione dell'autenticazione a due fattori (se abilitata).
* `samlIdentifiers` / `thirdPartyIdentifiers`: collegamenti a provider di identità esterni.

#### Stato e ciclo di vita dell'account

* `signUpDate`: timestamp di creazione dell'account.
* `holdingAccount`: indica se l'account è in attesa di conferma o soggetto a restrizioni.
* `must_reconfirm`: indica se l'utente deve riconfermare la propria email.
* `lastPrimaryEmailCheck`: ultima volta in cui l'email principale è stata convalidata.

#### Tracciamento di accessi e attività

* `lastLoginIp`: indirizzo IP dell'ultimo login riuscito.
* `loginCount`: numero totale di login riusciti.
* `loginEpoch`: contatore interno delle sessioni di login.
* `lastLoggedIn`: timestamp dell'ultimo login.
* `lastActive`: timestamp dell'ultima attività registrata.
* `lastFailedLogin`: timestamp dell'ultimo tentativo di login non riuscito.

#### Preferenze dell'editor (`ace`)

Definisce le preferenze dell'utente per l'editor online:

* `theme` / `overallTheme`: tema dell'editor e dell'interfaccia.
* `fontSize`: dimensione del carattere dell'editor.
* `autoComplete`, `autoPairDelimiters`: funzionalità di assistenza alla scrittura.
* `spellCheckLanguage`: lingua usata per il controllo ortografico.
* `pdfViewer`: backend del visualizzatore PDF selezionato.
* `syntaxValidation`, `mathPreview`, `breadcrumbs`: funzionalità di usabilità dell'editor.
* `enableNewEditor`: indica se la nuova interfaccia dell'editor è abilitata.

#### Flag delle funzionalità e limiti (`features`)

Controlla la disponibilità delle funzionalità per l'utente:

* `collaborators`: numero massimo di collaboratori (`-1` = illimitati).
* `versioning`, `trackChanges`: funzionalità di cronologia e revisioni tracciate.
* `dropbox`, `github`, `gitBridge`: disponibilità delle integrazioni esterne.
* `compileTimeout`: tempo massimo di compilazione (in secondi).
* `compileGroup`: gruppo di risorse di compilazione assegnato.
* `aiErrorAssistant`: flag dell'assistente AI per gli errori di compilazione.

#### Controllo degli accessi e permessi dello staff (`staffAccess`)

Definisce diritti di accesso granulari per lo staff o gli editori:

* Permessi di metriche e gestione per editori, istituzioni, gruppi, amministratori ed esperimenti.

#### Iscrizioni e integrazioni

* `enrollment.sso`: iscrizioni SSO collegate.
* `refProviders`: integrazioni con provider di riferimenti bibliografici.
* `writefull`: stato dell'account dell'assistente di scrittura Writefull.
* `dsMobileApp`: configurazione dell'app mobile (se presente).

#### Programmi ed esperimenti

* `alphaProgram` / `betaProgram` / `labsProgram`: partecipazione ai programmi di accesso anticipato.
* `labsExperiments`: funzionalità sperimentali abilitate.
* `awareOfV2`: indica se l'utente ha preso visione dell'editor V2.

#### Referral e tutorial

* `referal_id`, `refered_users`, `refered_user_count`: tracciamento dei referral.
* `completedTutorials`: avanzamento dei tutorial di onboarding e delle funzionalità.

***

Ecco un esempio reale di utente Overleaf.

<Accordion title="Esempio di utente">
  ```json5 theme={null}
  {
      _id: ObjectId('69661f10432ad80d8a7de39d'),
      enrollment: {
          sso: []
      },
      staffAccess: {
          publisherMetrics: false,
          publisherManagement: false,
          institutionMetrics: false,
          institutionManagement: false,
          groupMetrics: false,
          groupManagement: false,
          adminMetrics: false,
          splitTestMetrics: false,
          splitTestManagement: false
      },
      ace: {
          mode: 'none',
          theme: 'textmate',
          overallTheme: 'light-',
          fontSize: 12,
          autoComplete: true,
          autoPairDelimiters: true,
          spellCheckLanguage: 'en',
          pdfViewer: 'pdfjs',
          mathPreview: true,
          breadcrumbs: true,
          referencesSearchMode: 'advanced',
          syntaxValidation: true,
          enableNewEditor: false
      },
      features: {
          collaborators: -1,
          versioning: true,
          dropbox: true,
          github: true,
          gitBridge: true,
          compileTimeout: 180,
          compileGroup: 'standard',
          references: true,
          trackChanges: true,
          aiErrorAssistant: false
      },
      refProviders: {},
      writefull: {
          enabled: null,
          autoCreatedAccount: false,
          isPremium: false,
          premiumSource: null
      },
      aiErrorAssistant: {
          enabled: true
      },
      overleaf: {},
      twoFactorAuthentication: {},
      dsMobileApp: {},
      email: 'admin@overleaf.com',
      first_name: 'admin',
      role: '',
      institution: '',
      isAdmin: true,
      adminRoles: [],
      lastLoginIp: '172.19.0.2',
      loginCount: 14,
      holdingAccount: false,
      must_reconfirm: false,
      refered_users: [],
      refered_user_count: 0,
      alphaProgram: false,
      betaProgram: false,
      labsProgram: false,
      labsExperiments: [],
      awareOfV2: false,
      samlIdentifiers: [],
      thirdPartyIdentifiers: [],
      emails: [
          {
              email: 'admin@overleaf.com',
              createdAt: ISODate('2026-01-15T07:53:24.276Z'),
              reversedHostname: 'moc.faelrevo'
          }
      ],
      signUpDate: ISODate('2026-01-13T10:31:44.786Z'),
      featuresOverrides: [],
      referal_id: 'ncbyrxrr6rrfQzgp',
      __v: 0,
      hashedPassword: '$2a$12$bkfRN7zw27mwaFpUbnSsC.naeFoMAwoRxU0qk7dlPH2obhj8jx.lK',
      loginEpoch: 18,
      lastLoggedIn: ISODate('2026-01-19T05:09:01.075Z'),
      lastActive: ISODate('2026-01-19T05:06:43.145Z'),
      last_name: 'user',
      lastPrimaryEmailCheck: ISODate('2026-01-15T07:53:24.283Z'),
      featuresUpdatedAt: ISODate('2026-01-15T07:53:24.305Z'),
      completedTutorials: {
          'ide-redesign-beta-intro': {
              state: 'completed',
              updatedAt: ISODate('2026-01-18T10:55:18.095Z')
          }
      },
      lastFailedLogin: ISODate('2026-01-19T05:08:53.241Z')
  }
  ```
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.