Dela keeps your tasks encrypted on your own server
Every device keeps a full copy of the tasks, so the app opens instantly and works without a network. Tasks are encrypted on the device with a key the server does not have. Web, Windows and Android, open source under AGPL-3.0.
What it does
Quick add in plain language
“call mom tomorrow at 7pm #Home every week p1” in English or Russian. The date, time, recurrence, project and priority are highlighted while you type. The interface is in English and Russian.
Today, Upcoming and a calendar
Day, week and month. Drag a task to another day or into the hour grid, drag its bottom edge to change the duration.
Recurrence and filters
“every 2nd tuesday of the month”, “every 3 days after completion”. Filters in Todoist syntax, import from Todoist.
Shared projects
Members invited by email, assignees, comments with files. Files are encrypted on the device; a removed member cannot read later changes.
Phone
Swipe to complete or reschedule, a home screen widget with a task list, voice input, a PIN and fingerprint lock, reminders without a network.
Computer
A Windows app with a tray icon, Ctrl+Shift+Space from anywhere, keyboard shortcuts in any layout, automatic updates.
Download
| Platform | File | Notes |
|---|---|---|
| Windows 10 and 11 | Installer .exe | Not code-signed yet, SmartScreen asks for confirmation. Later versions install themselves |
| Android 7 and newer | APK | Updates through Obtainium |
| Any browser | your server address | Installs as an app on desktop and Android |
The apps ask for your server address at the first sign-in. To look around first, the demo keeps tasks only in your browser.
Install the server
You need a server with Docker and a domain name whose DNS record points to the server. The bundled Caddy obtains the HTTPS certificate itself.
mkdir dela && cd dela
curl -fsSLO https://raw.githubusercontent.com/olerast67/dela/main/docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/olerast67/dela/main/.env.example -o .env
nano .env # your email and domain
docker compose --profile https up -d
The first account can be registered only with the address from DELA_ADMIN_EMAIL. After that, registration needs an invite. The server copies the database before every migration and once a day. All settings are in the README.
What the server can see
Argon2id derives two keys from the password on the device: one proves the login to the server, the other unlocks the account key. Every change is encrypted with XChaCha20-Poly1305 using the key of its project.
The server sees email addresses, devices, members of shared projects, change times, sizes rounded to 64 bytes and reminder times. Task text, dates, labels, project names, comments and files reach it only encrypted. If both the password and the recovery key are lost, the data cannot be decrypted. Details: architecture, security policy.
Support the project
Dela is free and has no paid features. Donations pay for the time spent on new platforms and on an external security audit.