TL; DR
Worklist використовує шифрування ChaCha20-Poly1305 з архітектурою нульового знання. Ваші дані шифруються на вашому пристрої, перш ніж потрапити на наші сервери, за допомогою документованих криптографічних примітивів. Ми фізично не можемо читати ваші завдання, навіть маючи повний доступ до бази даних. Він підтримує мінімізацію даних GDPR і може допомогти з технічним захистом HIPAA/SOC 2 у поєднанні з необхідними угодами та операційним контролем.
Наш основний принцип.
Ваші дані шифруються на вашому пристрої, перш ніж вони потраплять на наші сервери.Ми розробили Worklist таким чином, щоб ми — компанія — не могли розшифрувати, прочитати або отримати доступ до ваших робочих списків, завдань або коментарів. Це називаєтьсянульові знанняархітектура.
Що робить Worklist різні.
Традиційні менеджери завдань.
Що роблять конкуренти
- • Зберігайте свої дані у вигляді відкритого тексту на своїх серверах
- • Може читати кожне створене вами завдання, коментар і файл
- • Може сканувати ваш вміст на наявність реклами, навчання AI або «функцій»
- • Вразливий до витоку даних, що відкриває все
Worklist (нульовий рівень знань).
Що ми робимо
- • Шифрує на вашому пристрої перед надсиланням на наші сервери
- • Ми не можемо розшифрувати ваші завдання, навіть якби хотіли
- • Ні сканування, ні навчання AI на вашій приватній роботі
- • Порушення даних не виявляють нічого значущого — лише зашифровані блоки
Як шифрування з нульовим знанням працює.
Ви створюєте свій обліковий запис.
Коли ви реєструєтеся, ваш пароль ніколи не залишає ваш браузер у відкритому вигляді. Замість цього:
- Ми використовуємо протокол OPAQUE PAKE, щоб наші сервери ніколи не бачили ваш пароль у відкритому вигляді
- Після успішної реєстрації або входу OPAQUE надає вашому браузеру секретний експортний ключ, який ми ніколи не отримуємо
- На вашому пристрої генерується випадковий 32-байтовий «ключ даних».
- Цей ключ даних локально шифрується ключем обгортки, отриманим з експортного ключа OPAQUE
- Зашифрований ключ даних зберігається на наших серверах — алеми не можемо його розшифруватибез клієнтського матеріалу для розблокування
- Ви можете завантажити одноразовий резервний ключ. Він обгортає той самий ключ даних у вашому браузері, а ми зберігаємо лише зашифровану обгортку відновлення
Ключовий момент: ключ розблокування та ключ даних обробляються у вашому браузері. Ми зберігаємо лише зашифровані обгортки, а не відкриті паролі чи ключі робочої області.
Навіщо зберігати зашифрований ключ даних?
Тож ви можете увійти з будь-якого пристрою. Коли ви змінюєте комп’ютер або користуєтеся телефоном, ми надсилаємо вам зашифрований блок, ви повторно вводите свій пароль, щоб розшифрувати його локально, і повертаєтеся. Не зберігаючи його, вам потрібно буде вручну скопіювати 32-байтний ключ між пристроями — жахливий UX для тієї самої безпеки.
Ви створюєте Worklist або завдання.
Усі конфіденційні дані шифруються на вашому пристрої:
- Назви, описи та налаштування списку робіт
- Назви завдань, тексти, контрольні списки та коментарі
- Повторювані шаблони завдань і розклади
- Все зашифровано за допомогоюChaCha20-Poly1305 AEAD(сучасний перевірений шифр)
- Кожен Worklist має власний унікальний ключ шифрування, отриманий з вашого ключа даних
Наші сервери зберігають лишезашифрований зашифрований текст— вони не можуть прочитати відкритий текст.
Ви запрошуєте членів команди.
Коли ви ділитеся списками роботи з колегами:
- Кожен учасник отримує власну зашифровану копію ключа Worklist
- Обмін ключів здійснюється за допомогоюHPKE(Гібридне шифрування відкритим ключем)
- Відкриті ключі публікуються в aжурнал прозорості(Дерево Меркле), щоб запобігти атакам типу "людина посередині".
- Якщо ви видаляєте учасника, ключ Worklist змінюється, а всі інші учасники отримують нові зашифровані копії
Наші сервери перевіряють без дешифрування.
Ви можете запитати: «Якщо сервер не може розшифрувати, як він забезпечує дотримання дозволів?»
Ми використовуємо докази HMAC — криптографічні підписи, які підтверджують, що ви маєте право на доступ до даних, не розкриваючи відкритий текст.
- Ваш веб-переглядач обчислює HMAC (ключовий хеш) зашифрованих даних за допомогою спеціального ключа членства
- Сервер перевіряє HMAC, щоб підтвердити, що ви активний учасник
- Підробка чи відтворення чужих даних не проходить перевірку HMAC
- Ми ніколи не розшифровуємо корисне навантаження — лише перевіряємо цілісність і авторизацію
Що можуть наші сервери (і не може) бачити.
Ми НЕ бачимо
- × Назви або описи списку робіт
- × Назви завдань, тексти або контрольні списки
- × Коментарі або обговорення
- × Шаблони завдань, що повторюються
- × Будь-який вміст у зашифрованих корисних навантаженнях
- × Ваш пароль (навіть хешований)
Ми МОЖЕМО побачити
- ✓ Електронна адреса облікового запису користувача (для входу)
- ✓ Членські відносини (хто в якому Worklist)
- ✓ Статус завдання (відкрито/закрито) і пріоритет
- ✓ Терміни виконання та позначки часу
- ✓ Призначення делегування (лише ідентифікатори користувачів)
- ✓ Метадані, необхідні для запитів (ідентифікатори, дати створення)
Чому деякі метадані видимі: Певні поля (як-от статус завдання та терміни виконання) мають зберігатися у вигляді відкритого тексту, щоб наші сервери могли ефективно фільтрувати запити, застосовувати нагадування про терміни виконання та підтримувати індекси бази даних. Ці поля не містять конфіденційного вмісту — лише оперативні метадані, які забезпечують роботу програми.
Безпека гарантії.
Розблокування на основі пароля (тільки для клієнта).
Ваш пароль ніколи не залишає ваш пристрій у відкритому вигляді. Він розтягується за допомогою Argon2id для створення ключа обгортки, який розшифровує ваш основний ключ даних. Потім цей ключ даних розширюється за допомогою HKDF для отримання окремих ключів для кожного Worklist.
Сервер не може розшифрувати корисні дані.
Наш серверний код ніколи не викликає операцій дешифрування даних користувача. Він перевіряє лише докази HMAC для підтвердження авторизації.
Ключова ротація при зміні учасників.
Коли учасник видаляється або виходить, ключ Worklist обертається. Усі інші учасники отримують нові зашифровані копії, що гарантує, що учасник, який залишився, не зможе розшифрувати майбутній вміст.
Прозорість ключів.
Відкриті ключі для запрошень реєструються в дереві Merkle лише для додавання. Клієнти перевіряють докази включення та узгодженості, не дозволяючи серверу мовчки замінювати ключі для перехоплення даних Worklist.
Резервні ключі залишаються з нульовим знанням.
Резервний ключ створюється у вашому браузері, і його маєте зберегти ви. Він створює окрему зашифровану обгортку для того самого ключа даних; ми зберігаємо лише файл облікових даних відновлення та зашифровану обгортку, тому не можемо скинути ваш пароль або прочитати дані без цього збереженого ключа.
Криптографія з відкритим кодом.
Ми використовуємо перевірені в боях бібліотеки: сейф (ChaCha20-Poly1305), Argon2id (виведення ключів), OPAQUE (автентифікація пароля) і HPKE (обмін ключами). Весь наш криптографічний код є відкритим і підлягає перевірці.
Як ми перевіряємо наша безпека.
Наші заяви про безпеку можна перевірити, а не лише про маркетинг. Ось як ми гарантуємо, що наша архітектура з нульовими знаннями працює, як обіцяно:
- Криптографічний код із відкритим кодом, доступний на GitHub для публічного аудиту дослідниками безпеки
- Перевірені в боях бібліотеки, включаючи ChaCha20-Poly1305 (RFC 8439), Argon2id, OPAQUE PAKE (RFC 9497) і HPKE
- Криптографічні докази (HMAC), які математично запобігають дешифруванню на стороні сервера
- Журнали прозорості (дерева Меркле) для виявлення атак підміни ключів
- Клієнтське розблокування з експортних ключів OPAQUE гарантує, що ми ніколи не бачимо ваш пароль або ключі шифрування
- Одноразові резервні ключі створює та зберігає користувач, а не Worklist
Компроміси нульові знання.
Немає відновлення пароля.
Якщо ви забудете свій пароль, ми не зможемо відновити ваші дані. Немає параметра «скинути пароль і зберегти ваші дані», оскільки ми не маємо ключів для його розшифровки.
Без пошуку на стороні сервера.
Оскільки вміст вашого завдання зашифровано, ми не можемо забезпечити повнотекстовий пошук на стороні сервера для всіх ваших завдань. Пошук відбувається у вашому браузері після розшифровки.
Пом’якшення: ми оптимізуємо пошук на стороні клієнта за допомогою індексованого пошуку та швидкого розшифрування, щоб підтримувати його ефективність.
технічний технічні характеристики.
| Симетричне шифрування | ChaCha20-Poly1305 AEAD (via strong-box library) |
| Розблокування ключа даних | Експортний ключ OPAQUE + HKDF-SHA256 — отримує локальні ключі обгортки для зашифрованого ключа даних |
| Ключова ієрархія | HKDF-SHA256 — derives work list and membership keys from data key |
| Автентифікація пароля | OPAQUE PAKE (Ristretto255 curve) |
| Резервні ключі | Один активний одноразовий резервний ключ на користувача; створюється на стороні клієнта і зберігається користувачем |
| Обмін ключами (запрошення) | HPKE (Hybrid Public Key Encryption) with X25519 |
| Докази цілісності | HMAC-SHA256 |
| Серіалізація | CBOR (Concise Binary Object Representation) |
| Розмір ключа | 256-bit (32 bytes) for all symmetric keys |
Усі криптографічні операції виконуються у вашому браузері за допомогою API WebCrypto та перевірених модулів WASM, скомпільованих із Rust.
аудити та прозорість.
Криптостек з відкритим кодом.
Уся наша криптографічна реалізація є відкритою та доступна на GitHub. Ми запрошуємо дослідників безпеки до перевірки нашого коду.
Переглянути на GitHubВідповідність.
Наша архітектура з нульовими знаннями підтримує мінімізацію даних GDPR і може допомогти з HIPAA або SOC 2 технічними гарантіями. Регульована PHI все ще вимагає письмової угоди або BAA, а також операційного контролю та підтвердження постачальника, яких вимагає ваша програма відповідності.
Поширений запитання.
Що станеться, якщо вас зламали?
Якщо зловмисник отримає доступ до нашої бази даних, він побачить лише зашифровані блоки — по суті, випадкові байти. Без вашого пароля (який ми ніколи не зберігаємо) дані математично неможливо розшифрувати за допомогою сучасних технологій.
Чи можуть державні установи змусити вас розшифрувати мої дані?
Ні, тому що ми справді не можемо. У нас немає ключів. Навіть за ордером або ухвалою суду ми можемо надати лише зашифровані шифртексти, які марні без вашого пароля.
Що буде, якщо я забуду пароль?
Якщо ви зберегли резервний ключ, ви можете використати його один раз, щоб скинути пароль і зберегти доступ до зашифрованих даних. Якщо ви не зберегли резервний ключ, Worklist не зможе відновити дані для вас.
Чим це відрізняється від «зашифрованого в стані спокою»?
«Зашифровано в стані спокою» означає, що дані зашифровано на жорстких дисках сервера, але сервер усе ще має ключі для їх розшифровки. Наскрізне шифрування означає, що лише ви (кінцеві точки) маєте ключі — сервер ніколи не має доступу у відкритому вигляді.
Чи можуть співробітники Worklist бачити мої дані?
Ні. Наш серверний код розроблено таким чином, щоб ніколи не розшифровувати дані користувача. Навіть адміністратори баз даних із повним доступом до наших серверів не можуть читати ваші робочі списки чи завдання.
Що робити, якщо я хочу експортувати свої дані?
Ви можете будь-коли експортувати розшифровані дані з програми. Оскільки розшифровка відбувається у вашому браузері, ви отримаєте читабельні файли JSON/CSV, а не зашифровані блоки.
Посилання та стандарти.
Наш криптографічний вибір відповідає галузевим стандартам і рецензованим специфікаціям.
- 01 RFC 8439: ChaCha20 і Poly1305 для протоколів IETF — Наш стандарт симетричного шифрування
- 02 RFC 9497: OPAQUE Asymmetric PAKE Protocol — Автентифікація з нульовим знанням пароля
- 03 RFC 9180: Гібридне шифрування з відкритим ключем (HPKE) — Обмін ключів на командні запрошення
- 04 RFC 9106: Argon2 Memory-Hard Function — Виведення ключа на основі пароля
- 05 NIST SP 800-175B: Рекомендації щодо використання криптографічних стандартів — Федеральне криптографічне керівництво
- 06 Стаття 32 GDPR: Безпека обробки — Вимоги ЄС щодо захисту даних
Готовий до реальна конфіденційність?
Приєднуйтесь до команд, які довіряють Worklist, щоб зберегти свою роботу справді конфіденційною. Розпочніть безкоштовну пробну версію — кредитна картка не потрібна.
Розпочніть безкоштовну пробну версіюВиникли питання безпеки? Пишіть нам на адресу security@worklist.app