Ga naar hoofdinhoud

Dataportabiliteit

Libre WebUI exporteert/importert een JSON-archief per gebruiker via Instellingen → Gegevensbeheer voor verplaatsing of herstel. Het is geen volledige serverback-up.

Archiefversie 3

{
"format": "libre-webui-user-data",
"version": 3,
"integrity": {
"algorithm": "sha256",
"canonicalization": "libre-json-sort-v1",
"digest": "<64 lowercase hexadecimal characters>"
}
}

Bevat voorkeuren (zonder gekozen stemprofielreferentie), chatmappen, sessies/berichten/takken/beoordelingen/artefacten, Notities, kennisverzamelingen en geëxtraheerde documentinhoud, metadata, koppelingen en segmenten.

Embeddings zijn afgeleid en worden niet geëxporteerd. Regenereer na import. Het archief bevat geëxtraheerde tekst, niet originele bytes.

exclusions vermeldt bewust:

  • accounts, wachtwoorden, sessies en OAuth;
  • providerreferenties en versleutelde variabelen;
  • gekloonde stemopnamen en transcripties;
  • persona's en geheugen;
  • gegenereerde media;
  • revisies en bijlagen van notities;
  • Work-taken, runs, sandboxes en volumes.

Kanalen, meldingen, agenda's en automatiseringen zijn instantie/teamstate en gaan met volledige back-up.

Gebruik dezelfde ENCRYPTION_KEY voor volledig herstel en back-up ook Work-volumes. Zie SQLite-migratie en Work.

Integriteit en validatie

SHA-256 beschermt payload. libre-json-sort-v1 laat integrity weg, sorteert objectsleutels, behoudt arrays en hasht compact UTF-8 JSON. Verkeerd digest wordt geweigerd.

Het is geen digitale handtekening of vertrouwelijkheid. Behandel als privégegevens.

Export gebruikt dezelfde schema-, grootte-, ID- en telcontroles als import en bevestigt maximaal 50 MiB.

Limieten: 50 MiB; 100 mappen; 5.000 sessies; 100.000 berichten; 100 Notities met 200/200.000 tekens; 5.000 verzamelingen; 5.000 documenten; 100.000 segmenten; algemene velden 2.000.000 en IDs 256.

Veilige import

Voorcontrole toont totalen, maken/overschrijven/overslaan, remaps en waarschuwingen. Ze verifieert digest, migreert formaten, valideert alles en plant zonder schrijven. Losse relaties worden geweigerd. De echte import herhaalt dit en schrijft in één transactie op SQLite/PostgreSQL; fout rolt alles terug.

  • Duplicaten overslaan houdt gelijke IDs en voegt nieuwe toe; voorkeuren worden samengevoegd.
  • Bestaande overschrijven vervangt gelijke IDs; afwezige records worden nooit verwijderd.

Beide zijn idempotent. IDs van andere accounts worden deterministisch met referenties geremapt; Libre leest/overschrijft niets van anderen. Uitgesloten referenties worden vooraf gemeld.

Na succes worden voorkeuren, chats, mappen en documenten vernieuwd.

Oudere archieven

Versie 2 libre-webui-user-data wordt gemigreerd; die had geen digest of Notities. Ook libre-webui-export 1.0 wordt geaccepteerd, met alleen voorkeuren en geladen sessies; documents was leeg en andere resources ontbraken. Beperkingen worden gemeld.

HTTP-endpoints

MethodeEndpointDoel
GET/api/preferences/exportv3 bouwen
POST/api/preferences/import/preflightValideren/plannen
POST/api/preferences/importTransactioneel importeren

De UI stuurt multipart/form-data-veld archive en strategy. Limiet 50 MiB; JSON is ook mogelijk:

{
"data": { "format": "libre-webui-user-data", "version": 3 },
"strategy": "skip"
}

strategy is skip of overwrite. mergeStrategy: "merge" wordt skip; mergeStrategy: "replace" wordt overwrite.