SafeNoter створено з однією метою: бути інструментом для нотаток, якому можна довіряти повністю — і не тому, що так написано, а тому, що так насправді влаштовано.

Ваші дані ніколи не залишають вашого контролю незашифрованими

Усе, що ви пишете, живе лише в пам'яті вашого браузера, поки ви працюєте. Нічого не надсилається кудись автоматично. Коли ви самі вирішуєте зберегти — локально, на Google Диск чи на веб-адресу SafeNoter — вміст шифрується вашим власним паролем до того, як він будь-де записується. Сам пароль ніколи не передається мережею, і за замовчуванням так само ніколи не записується на диск — він живе лише в пам'яті цієї вкладки. Єдиний виняток -- повністю ваш власний вибір: при відкритті вже зашифрованого файлу є галочка «Запам'ятати цей пароль на цьому пристрої» — лише якщо ви її позначите, і лише після успішного розшифрування, пароль зберігається в локальному сховищі цього браузера, саме для цієї адреси, щоб той самий файл наступного разу відкрився мовчки. Стерти його можна будь-коли з меню «Пароль».

Шифрування: Blowfish, без таємниць

Нотатки шифруються алгоритмом Blowfish (режим CBC, доповнення PKCS5, свіжий криптографічно випадковий 8-байтовий IV для кожного окремого збереження) — відомий шифр, розроблений Брюсом Шнаєром у 1993 році. Ми обрали саме його з конкретних причин, а не просто "для галочки":

Чесно про нюанс: 64-бітний розмір блоку Blowfish -- саме тому дослідники безпеки (див. дослідження «Sweet32» 2016 року) не рекомендують його для шифрування дуже великих обсягів даних одним ключем, наприклад, довготривалого мережевого з'єднання. Цей ризик стосується масивних потоків даних у передачі -- він не має жодного стосунку до шифрування одного файлу нотаток розміром у кілька кілобайт чи мегабайт зі свіжим випадковим IV при кожному збереженні, а саме так SafeNoter і працює.

Сервер ніколи не дізнається ваш пароль — навіть наш власний

Якщо ви користуєтесь веб-адресою SafeNoter (сабдоменом), невеликий серверний компонент, що зберігає ваш файл, ніколи не отримує ваш пароль. Натомість ваш браузер обчислює одностороннє математичне «підтвердження», похідне від нього (стандартна техніка PBKDF2), і надсилає лише його. Сервер може перевірити, що наступного разу при збереженні використано той самий пароль, але ніколи не може обернути це підтвердження назад у сам пароль і ніколи не може прочитати ваші нотатки. Це не обіцянка в політиці конфіденційності — це те, як буквально влаштований код.

Нічого прихованого, нічого на слово

Увесь додаток — кожен файл, кожна функція — це простий, читабельний, нестиснений вихідний код. Жодного етапу збірки, що приховував би, що саме виконується у вашому браузері. Немає аналітики, немає скриптів стеження, немає стороннього CDN, що тихцем підвантажує код звідкись іще. Єдині зовнішні сервіси, з якими цей додаток взагалі коли-небудь спілкується, — це ті, які ви самі явно обираєте використовувати (Google Диск або власний сервер SafeNoter), і лише тоді, коли ви натискаєте відповідну кнопку.

Мінімальний доступ — навмисно

При підключенні до Google Диску SafeNoter запитує найвужчий можливий дозвіл (drive.file) — він бачить лише файли, які сам створив, і ніколи — решту вашого Диска.

Нотатки й задачі -- поруч

Кожна коренева гілка вашого дерева може бути або звичайною нотаткою, або задачею зі строком виконання й відстеженням прогресу -- ви обираєте це для кожної гілки окремо, а всі вкладені підвузли успадковують тип свого кореня. Перетворити гілку з одного типу в інший можна будь-коли -- і це ніяк не впливає на описану вище модель безпеки: це й далі той самий єдиний зашифрований файл, який ніколи не потрапляє на сервер чи диск незашифрованим.

У режимі WEB ви не обмежені одним сабдоменом: можна створити їх скільки завгодно, кожен зі своїм окремим незалежним зашифрованим файлом -- зручний спосіб тримати окремо різні проекти, команди чи сфери свого життя.

Навіщо це все

Ми зробили SafeNoter саме так, щоб вам ніколи не доводилось замислюватись, що відбувається з тим, що ви пишете. Тут немає неоднозначності, яку треба вирішувати, немає дрібного шрифту, якому треба вірити на слово — сама конструкція знімає це питання. Пишіть вільно.