Repository navigation
Security
opencode edited this page Aug 14, 2026
·
3 revisions
- Tokens are stored in the OS keychain via the
keyringcrate (Windows Credential Manager, macOS Keychain, Linux Secret Service). - At runtime tokens live in Rust-managed memory inside
AppState; the frontend never receives them. -
accounts.json(app-data dir) persists metadata only: username, instance URL, display name, admin flag, active flag. Accounts whose keychain token is missing are skipped on startup.
WebDAV and OCS requests are issued by the backend, which means:
- No CORS issues and no cross-origin exposure in the webview.
- Custom methods like
PROPFINDwork as intended. - Credentials are attached in Rust and never logged.
- The admin flag is detected at sign-in via OCS (
user_group_details). - Admin commands (
admin_list_users,admin_get_user,admin_set_user_quota,admin_edit_user,admin_create_user,admin_delete_user) are only allowed for admin accounts. -
Impersonation:
webdav_listaccepts an optionaltarget_user. The backend refuses the call withAppError::Forbiddenfor non-admins and sets theImpersonate-Userheader on the WebDAV request for admins. The frontend shows an "Admin impersonation" notice while browsing another user's files.
- All commands return a serialized
AppError { code, message }; the frontend surfaces it as an inline error or toast (invokeErrorinsrc/lib/ipc.ts). - Secrets are never part of error messages.
-
capabilities/default.jsongrants only the minimum permissions (core:default,opener:default,dialog:default). - Frontend origin: only the packaged frontend / dev server are loaded; a CSP
(
default-src 'self', seesrc-tauri/tauri.conf.json) limits what the webview may load — tighten it before adding remote content.
- EN: Home · DE: Startseite
- EN: Getting Started · DE: Erste Schritte
- EN: Install Scripts · DE: Installationsskripte
- EN: Features · DE: Funktionen
- EN: Architecture · DE: Architektur
- EN: Sync Engine · DE: Sync-Engine
- EN: FlutCloud App · DE: FlutCloud-App
- EN: Tray & CLI · DE: Tray & CLI
- EN: Security · DE: Sicherheit
- EN: Development · DE: Entwicklung