Library Import and Export
Summary
Library import/export moves hand-authored library documents between Zeeq organizations or environments.
The library editor includes an Import / Export tab for existing libraries. Create a library first, then open its edit panel to export or import documents.
Export Formats
Two export formats are available:
| Format | Purpose | Importable by Zeeq |
|---|---|---|
.zeeq-export | Signed package for moving local documents into another Zeeq library | Yes |
.zip | Standard archive for backup or use outside Zeeq | No |
Exports include only local documents. Documents imported from GitHub or owned by a repository sync are excluded because their lifecycle belongs to the sync process.
Zeeq export files are named:
{library-name-lower-alpha-numeric}-{yyyy-mm-dd}-{nanoid6}.zeeq-export
The zip archive uses the same prefix and a .zip extension. The six-character
suffix is lowercase alphanumeric and keeps repeated downloads visually distinct.
Import Rules
Imports accept only .zeeq-export files. The backend rejects plain zip files
and any file larger than 500 KB. A single document may use the full package
budget; the importer enforces the aggregate decompressed document content limit
instead of a separate per-document character limit.
Before importing, Zeeq verifies the signed wrapper. The internal package is not opened until the signature is valid. This prevents arbitrary zip files from being processed by the importer.
The import preview shows:
- New paths that will be created.
- Duplicate local paths that will be overwritten after confirmation.
- Synced or remote paths that block the import.
Duplicate local paths are overwritten only after explicit confirmation. Synced or GitHub-imported documents cannot be overwritten by import.
Configuration
Signed export packages require a server-side HMAC signing key:
AppSettings:Documents:LibraryExportSigningKey
For local development, store it with ASP.NET user secrets:
dotnet user-secrets set AppSettings:Documents:LibraryExportSigningKey "$(openssl rand -base64 48 | tr -d '\n')"
For production, create the matching Secret Manager entry:
AppSettings__Documents__LibraryExportSigningKey