Secretary

Server
Login

Server

Secretary Server (CalDAV/CardDAV)

Komponenten

Der Server stellt mehrere WebDAV/CalDAV/CardDAV-Handler bereit:

Addons (werden vom Server im eigenen User-Kontext periodisch gestartet):

Befehle

cargo build                           # Debug-Build
tools/rp-conformance.py target/release/secretary-rp   # WebAuthn-Gegentest
cargo build --release                 # Release-Build
cargo test                            # Tests ausführen
dpkg-buildpackage -us -uc -b          # .deb bauen (im Projektverzeichnis)

Abhängigkeiten

Konfiguration

Storage-Layout

<storage_path>/
├── calendars/              # CalDAV-Collections
│   ├── <collection>/
│   │   ├── .metadata       # display_name, description, components
│   │   ├── .synctoken      # Aktueller Sync-Token
│   │   ├── .sync-log       # Änderungsprotokoll
│   │   └── *.ics           # Kalender-Dateien
├── addressbooks/           # CardDAV-Collections
│   ├── <collection>/
│   │   ├── .metadata
│   │   ├── .synctoken
│   │   └── *.vcf           # Kontakt-Dateien
├── notes/ tasks/ journal/ links/ launcher/ news/   # CalDAV-artige Top-Level-Roots
│   └── <collection>/       # der VJOURNAL-Apps (z. B. Default-Collections)
├── secrets/                # Secrets-Collections (WebDAV, seit 0.18.0)
│   └── <collection>/
│       ├── .metadata
│       ├── .synctoken
│       └── *.ics           # Secret-Einträge
└── .storage.lock           # Cross-Process-Mutations-Lock (Server + secretary-server-links + secretary-server-news)

Schlüsselverwaltung (Model B)

<storage_path>/keys/<vault-uid>/
├── key.json               # Client-Registry (MK-Verpackungen, aktive Flags)
├── escrow.json            # Escrow-verpackte Master Key Kopie
└── audit.json             # append-only JSON-lines Audit-Log

Escrow-RSA-Keypair liegt außerhalb (default ~/.config/secretary-server/keys/).

Sicherheit