Рефакторинг до 7.2
continuous-integration/drone/pr Build is failing Details

pull/2/head
acetone 2022-01-16 13:10:50 -05:00
parent db5b5fe56d
commit 4cad0e0fb1
9 changed files with 136 additions and 136 deletions

View File

@ -1,31 +1,31 @@
# 🧬 Архитектура проекта # 🧬 Архитектура проекта
Да, можно было бы использовать кубернетес. Но зачем, если иммутабельность обеспечивается NixOS? Да, можно было бы использовать кубернетес. Но зачем, если иммутабельность обеспечивается NixOS?
**Стек**: [NixOS](https://nixos.org/), python, flutter **Стек**: [NixOS](https://nixos.org/) и python (бэкенд), flutter (пользовательское приложение).
## Мобильное приложение ## Мобильное приложение
Flutter/Dart выбрали из-за скорости и плавности работы UI и кроссплатформенности. Flutter/Dart выбрали из-за скорости и плавности работы UI, а также их кроссплатформенность очень соблазнительна.
## Бэкэнд ## Бэкэнд
NixOS + Python. NixOS выбран из-за воспроизводимости, python из-за универсальности и популярности. NixOS + Python. NixOS выбран из-за воспроизводимости, python из-за универсальности и популярности.
## Сервис-провайдеры ## Сервис-провайдеры
Нам не платит ни один сервис-провайдер! Мы никак с ними не аффилированы. Выбирали исключительно из профессиональных соображений. Но не исключаем в будущем партнерства. Нам не платит ни один сервис-провайдер! Мы никак с ними не аффилированы. Выбирали исключительно из профессиональных соображений. Но не исключаем партнерство в будущем.
### Хостинг ### Хостинг
[Hetzer](https://www.hetzner.com/) выбрали из-за низкой цены и приемлемый уровень сервиса, качественного REST API. Не был замечен в проблемах с приватностью и сбором данных. [Hetzer](https://www.hetzner.com/) выбрали из-за низкой цены и приемлемый уровень сервиса, качественного REST API. Не был замечен в проблемах с приватностью и сбором данных.
Кандидаты: Кандидаты:
- Свой личный железный сервер. Сейчас наш основной приоритет. - Свой личный железный сервер. Сейчас наш основной приоритет;
- Сервис-провайдер, который предоставит API для разворачивания железного сервера. Вне [FVEY](https://en.wikipedia.org/wiki/Five_Eyes) - Сервис-провайдер, который предоставит API для разворачивания железного сервера. Вне [FVEY](https://en.wikipedia.org/wiki/Five_Eyes);
- OVH - OVH;
- Scaleway - Scaleway;
- DigitalOcean - DigitalOcean.
Еще есть бесплатный [Oracle Cloud](https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm), но там где ВЫ не платите, обычно ВЫ — товар. Еще есть бесплатный [Oracle Cloud](https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm), но там где Вы не платите, обычно Вы — товар.
### DNS ### DNS
[Cloudlare](https://cloudflare.com) надежность, бесплатность. Вероятно, собирает данные, иначе сложно объяснить зачем бесплатно проксировать чужой трафик. В нашем случае используем только как DNS-сервер и ничего не проксируем. В будущем заменим на self-hosted DNS, как только решим проблему надежности. [Cloudlare](https://cloudflare.com) надежность, бесплатность. Вероятно, собирает данные, иначе сложно объяснить зачем бесплатно проксировать чужой трафик. В нашем случае используем только как DNS-сервер и ничего не проксируем. В будущем заменим на self-hosted DNS, как только решим проблему надежности.
### Хранилище резервных копий ### Хранилище резервных копий
[Backblaze](https://www.backblaze.com/) бесплатно или в разы дешевле AWS. Не замечен в сборе данных. [Публикует](https://www.backblaze.com/blog/open-source-data-storage-server/) в open source наработки железа на котором работает. А также [делится](https://www.backblaze.com/b2/hard-drive-test-data.html) очень полезной статистикой по отказам дисков, на основе которых можно выбрать себе наиболее надежный и проверенный. В будущем, возможно, заменим на self-hosted решение или p2p. Сейчас это не основной приоритет, т.к. данные шифруются, а сервис-провайдер видит только ip вашего сервера, но не домашний. [Backblaze](https://www.backblaze.com/) бесплатно и в разы дешевле AWS. Не замечен в сборе данных. [Публикует](https://www.backblaze.com/blog/open-source-data-storage-server/) в open source наработки железа, на котором работает. Также, [делится](https://www.backblaze.com/b2/hard-drive-test-data.html) очень полезной статистикой по отказам дисков, на основе которых можно выбрать себе наиболее надежный и проверенный. В будущем, возможно, заменим на self-hosted решение или p2p. Сейчас это не основной приоритет, так как данные шифруются, а сервис-провайдер видит только IP-адрес Вашего сервера (а не домашний).

View File

@ -1,11 +1,11 @@
# 🤩 Возможности # 🤩 Возможности
Главное — **контроль собственной цифровой жизни**. Ваши коммуникации, данные, метаинформация принадлежат **только вам**! Главное — **контроль собственной цифровой жизни**. Ваши коммуникации, данные и метаинформация принадлежат **только Вам**!
Для этого мы реализовали: Для этого мы реализовали:
* Разворачивание IT-инфраструктуры без специальных знаний с мобильного телефона * Разворачивание IT-инфраструктуры без специальных знаний с мобильного телефона;
* Массу необходимых и просто полезных [сервисов](services.md). * Массу необходимых и просто полезных [сервисов](services.md);
* Автоматическое резервное копирование * Автоматическое резервное копирование;
* Автоматическое обновление * Автоматическое обновление;
* Включение и выключение сервисов * Включение и выключение сервисов;
* SSH-доступ для опытных пользователей * SSH-доступ для опытных пользователей;
* 🗓️ Автоматическое добавление ресурсов на сервер: диск, память, процессор * Автоматическое добавление ресурсов на сервер: диск, память, процессор.

View File

@ -1,13 +1,13 @@
# 👋 Введение # 👋 Введение
[SelfPrivacy](https://selfprivacy.org) — мобильное [приложение](https://f-droid.org/en/packages/pro.kherel.selfprivacy/) разворачивает сервер с готовыми к использованию сервисами: [SelfPrivacy](https://selfprivacy.org) — мобильное [приложение](https://f-droid.org/en/packages/pro.kherel.selfprivacy/) разворачивает сервер с готовыми к использованию сервисами:
- Электронная почта - Электронная почта;
- Парольный менеджер - Менеджер паролей;
- Мессенджер - Мессенджер;
- VPN - VPN;
- Файловое хранилище - Файловое хранилище;
- Конференции - Конференции...
- ... и многие другие [сервисы](services.md) - ... и многие другие [сервисы](services.md)
## ⚠️ Beta ## ⚠️ Beta
Текущий релиз пока не готов к повседневному использованию неквалифицированным пользователем. Текущий релиз не готов к повседневному использованию неквалифицированным пользователем. Работа продолжается, никто не намерен отступать!

View File

@ -1,14 +1,14 @@
# 🔋Мотивация # 🔋Мотивация
Каждый пользователь интернета вынужден пользоваться централизованными сервисами жертвуя приватностью и личными свободами: Многие из нас вынуждены пользоваться централизованными сервисами корпораций, жертвуя приватностью и личными свободами. Практически каждый пользователь интернета
- Соглашается с непонятными лицензиями - Соглашается с непонятными лицензиями;
- Терпит рекламу - Терпит рекламу;
- Отдает свои данные неизвестно кому - Отдает свои данные неизвестно кому;
- Оказывается в "[рекомендательном пузыре](https://ru.wikipedia.org/wiki/Пузырь_фильтров)" - Оказывается в "[рекомендательном пузыре](https://ru.wikipedia.org/wiki/Пузырь_фильтров)";
- Подвергается цензуре, блокировкам - Подвергается цензуре и блокировкам.
Мы так не хотим. Хотим цифровой независимости и [неприкосновенности](privacy.md) наших данных. Мы так не хотим! Наша борьба — движение за независимость и [неприкосновенность](privacy.md) наших данных.
**Наша миссия — предложить альтернативу. Ваши сервисы - ваши правила**: **Наша миссия — предложить альтернативу. Ваши сервисы Ваши правила**:
- Никаких лицензионных соглашений, рекламы, слежки, телеметрии, банов и цензуры - Никаких лицензионных соглашений, ограничивающих права Пользователей; никакой рекламы, слежки, телеметрии, банов и цензуры;
- Ваши данные хранятся на вашем сервере и принадлежат только вам - Нулевое доверие: Ваши данные хранятся на Вашем сервере и принадлежат только Вам.

View File

@ -1,20 +1,20 @@
# Политика # Политика
Наша миссия гуманитарная — реализация права на неприкосновенность и конфиденциальность частной жизни любому желающему. Наша миссия гуманитарная — реализация права на неприкосновенность и конфиденциальность частной жизни.
Мы не занимаемся политикой, не поддерживаем и не состоим в политических партиях, никого не осуждаем и не участвуем в конфликтах. Мы не занимаемся политикой, не поддерживаем и не состоим в политических партиях, никого не осуждаем и не участвуем в конфликтах.
## Политика конфиденциальности ## Политика конфиденциальности
Мобильное приложение полностью автономно, не подгружает никаких данных с сайтов, не содержит треккеров, взаимодействует только с вашим сервером. Мобильное приложение полностью автономно, не подгружает никаких данных с сайтов, не содержит трекеров, взаимодействует только с вашим сервером.
Сервер взаимодействует с инфраструктурой NixOS Сервер взаимодействует с инфраструктурой NixOS.
Рекомендуемые клиентские приложения взаимодействуют только с вашим сервером. Исключения: Рекомендуемые клиентские приложения взаимодействуют только с вашим сервером. Исключения:
- [Delta.Chat](messenger.md) при использовании публикации геолокации [вынужден](https://support.delta.chat/t/tracker-on-android-app/1814) использовать mapbox - [Delta.Chat](messenger.md) при использовании публикации геолокации [вынужден](https://support.delta.chat/t/tracker-on-android-app/1814) использовать mapbox;
- Есть вопросы к [bitwarden](pass.md) мобильному приложению. Вроде есть библиотеки отслеживающего програмного обеспечения, но трафик не анализировали пока, может не активны. - Есть вопросы к мобильному приложению [bitwarden](pass.md). Оно использует библиотеки отслеживающего програмного обеспечения, но трафик пока не анализировали, вероятно, подозрительной активности нет.
## Наши web-ресурсы ## Наши web-ресурсы
Вы оставляете массу своих данных при посещении любого сайта. Как минимум IP, как максимум все виды трекинга. Вы оставляете массу своих данных при посещении любого сайта. Как минимум — IP-адрес, как максимум — версию ОС и браузера, разрешение экрана, данные о производительности Вашего устройства и некоторое другое.
Мы **не используем трекинг** ни в каком виде, ни на одном из наших публичных сервисов. Мы **не используем трекинг** ни в каком виде ни на одном из наших публичных сервисов.
Но **мы агрегируем access-логи**, чтобы понимать сколько у нас пользователей и из какой страны. Все IP посетителей хранятся в виде подсетей (x.x.x.0) и не могут вас однозначно идентифицировать. Но рекомендуем использовать средства анонимизации трафика, так как мы не гарантируем, что провайдер нашего сервера не собирает метаинформацию. Но **мы агрегируем access-логи**, чтобы понимать сколько у нас пользователей и из какой страны. Все IP-адреса посетителей хранятся в виде подсетей (x.x.x.0) и не могут вас однозначно идентифицировать. Рекомендуем использовать средства анонимизации трафика при повышенном уровне паранойи, так как мы не гарантируем, что провайдер нашего сервера не собирает метаинформацию, также как и Ваш — не мониторит посещение свободолюбивого ресурса.

View File

@ -2,21 +2,21 @@
_Невозможность доступа к информации третьей стороной. Это наш главный приоритет!_ _Невозможность доступа к информации третьей стороной. Это наш главный приоритет!_
- Сервер арендован вами, принадлежит только вам - Сервер арендован вами, принадлежит только вам;
- **Никаких** телеметрий, куков, логов, лицензий, модерации, пользовательских соглашений, трекингов и т.д. - **Никакой** телеметрии, куков, логов, проприетарных лицензий, модерации, ущемляющих пользовательских соглашений и т.д.;
- Все соединения с сервером надежно зашифрованы - Все соединения с сервером надежно зашифрованы;
- VPN - VPN.
## 🗓️ Как еще будем повышать приватность? ## 🗓️ Как еще будем повышать приватность?
- Шифрование данных на сервере - Шифрование данных на сервере;
- Установка **SelfPrivacy Server** на железный ПК (intel nuc / rpi4) - Установка **SelfPrivacy Server** на железный ПК (intel nuc / rpi4);
- DNS-resolver - DNS-resolver;
- Приватный транспорт межсерверного взаимодействия (yaggdrasil) - Приватный транспорт межсерверного взаимодействия ([Yggdrasil](https://yggdrasil-network.github.io/));
- Резервное копирование в децентрализованное хранилище ([Tahoe-LAFS](https://tahoe-lafs.org) или [NextCloud p2p](https://nextcloud.com/blog/beta-of-peer-to-peer-nextcloud-backup-app-now-available-for-testing/)) - Резервное копирование в децентрализованное хранилище ([Tahoe-LAFS](https://tahoe-lafs.org) или [NextCloud p2p](https://nextcloud.com/blog/beta-of-peer-to-peer-nextcloud-backup-app-now-available-for-testing/)).
## ⚠️ Ограничения ## ⚠️ Ограничения
Виртуальный сервер не является исключительно приватным. Сервис-провайдер технически имеет доступ к памяти и диску вашего сервера. При этом виртуальный сервер куда более приватен, чем централизованные публичные сервисы! Виртуальный сервер не является исключительно приватным. Сервис-провайдер технически имеет доступ к памяти и диску вашего сервера. При этом виртуальный сервер куда более приватен, чем централизованные публичные сервисы!
🗓️ Мы работаем над тем, чтобы SelfPrivacy Server можно было установить на свой сервер дома 🗓️ Мы работаем над тем, чтобы SelfPrivacy Server можно было установить на свой сервер дома.
![Privacy explanation](privacy.svg) ![Privacy explanation](privacy.svg)

View File

@ -5,50 +5,50 @@ _дорожная карта развития проекта_
## ↗️ Векторы развития проекта ## ↗️ Векторы развития проекта
_в порядке убывания приоритета_ _в порядке убывания приоритета_
- [Конфиденциальность](privacy.md) - [Конфиденциальность](privacy.md);
- [Безопасность](security.md) - [Безопасность](security.md);
- [Доступность (UI/UX)](accessibility.md) - [Доступность (UI/UX)](accessibility.md);
- [Функциональность](services.md) - [Функциональность](services.md);
- [Автономность](autonomy.md) - [Автономность](autonomy.md);
- [Анонимность](anon.md) - [Анонимность](anon.md);
- [Маркетинг](marketing.md) - [Коммерческая привлекательность](marketing.md);
- [DevOps](deploy.md) - [DevOps](deploy.md).
## 🗓️ План ## 🗓️ План
### v0 (2020) 🏁 ### v0 (2020) 🏁
- [x] Разворачивание сервера с мобильного телефона - [x] Разворачивание сервера с мобильного телефона;
- [x] Автоматическое резервное копирование - [x] Автоматическое резервное копирование;
- [x] Автоматическое обновление - [x] Автоматическое обновление;
- [x] Включение и выключение сервисов - [x] Включение и выключение сервисов;
- [x] Управление пользователями - [x] Управление пользователями;
- [x] Системные логи внутри приложения - [x] Системные логи внутри приложения;
- [x] Отображение статусов загрузки сервера - [x] Отображение статусов загрузки сервера;
- [x] SSH-доступ для опытных пользователей - [x] SSH-доступ для опытных пользователей.
### v1 (2021) ### v1 (2021)
- [ ] <система поддержки контрибьюторов> - [ ] <система поддержки контрибьюторов>;
- [ ] Автоматическое разворачивание из резервной копии - [ ] Автоматическое разворачивание из резервной копии;
- [ ] Автоматическое расширение диска - [ ] Автоматическое расширение диска;
- [ ] Автоматическое добавление памяти - [ ] Автоматическое добавление памяти;
- [ ] Шифрование диска - [ ] Шифрование диска;
- [ ] Автоматический откат неудачных обновлений - [ ] Автоматический откат неудачных обновлений;
- [ ] Биометрическая аутентификация - [ ] Биометрическая аутентификация;
- [ ] Запуск на Apple Store и Google Play - [ ] Запуск на Apple Store и Google Play;
- [ ] <можно удалять gmail> - [ ] <можно удалять gmail>;
- [ ] <коллаборативные сервисы DNS-slave, p2p backup> - [ ] <коллаборативные сервисы DNS-slave, p2p backup>;
- [ ] <система поддержки> - [ ] <система поддержки>.
### v2 (2021-2022) ### v2 (2021-2022)
- [ ] Установка сервисов по запросу - [ ] Установка сервисов по запросу;
- [ ] Поддержка не только облачного сервера, но и hardware (предположительно Rpi4) - [ ] Поддержка не только облачного сервера, но и hardware (предположительно Rpi4);
- [ ] Управление несколькими серверами из одного мобильного приложения - [ ] Управление несколькими серверами из одного мобильного приложения;
- [ ] Формирование интерфейса сервиса на стороне бэкэнда (json) - [ ] Формирование интерфейса сервиса на стороне бэкэнда (JSON);
- [ ] Рефакторинг UI/UX - [ ] Рефакторинг UI/UX;
- [ ] Обезличивание дебаг-лога для помощи пользователям без раскрытия конфиденциальных данных - [ ] Обезличивание дебаг-лога для помощи пользователям без раскрытия конфиденциальных данных;
- [ ] <понятная система хранения ключей> - [ ] <понятная система хранения ключей>;
- [ ] <можно в энтерпрайз> - [ ] <можно в интерпрайз>.
### v3 (фантазии) ### v3 (фантазии)
- [ ] Кластер (микро-хостинг) - [ ] Кластер (микро-хостинг);
- [ ] Приватный смартфон (PinePhone) - [ ] Приватный смартфон (PinePhone);
- [ ] Приватный десктоп - [ ] Приватный десктоп...

View File

@ -1,22 +1,22 @@
# 🛡️ Безопасность # 🛡️ Безопасность
_Отсутствие возможности у злоумышленника вторгнуться в вашу систему_ _Отсутствие возможности у злоумышленника вторгнуться в вашу систему_
- BugBounty $2000 за RCE найденный на сервере [hackit.one](). $1000 уже выплачена. - На нашем счету успешный BugBounty: $2000 за RCE, найденный в сервере [hackit.one](https://hackit.one);
- Регулярное сканирование на уязвимости - Регулярное сканирование на уязвимости;
- Используем только открытый исходный код, уязвимости в котором сообщество очень быстро устраняет - Используем только открытый исходный код, уязвимости в котором сообщество очень быстро устраняет;
- Регулярное резервное копирование поможет, даже если хакер удалит все ваши данные с сервера. - Регулярное резервное копирование поможет даже если хакер удалит все ваши данные с сервера;
- Оконечное шифрование в [Delta.chat](messenger.md). Невозможно прочесть ваши сообщения даже имея доступ к серверу - Оконечное шифрование в [Delta.chat](messenger.md). Невозможно прочесть ваши сообщения даже имея доступ к серверу;
- Автоматическая установка обновлений - Автоматическая установка обновлений;
- Изоляция приложений на сервере - Изоляция приложений на сервере;
- F-Droid собирает из исходников наше ПО сами и проверяют на наличие зловредных функций. Спасибо команда F-Droid! - F-Droid собирает наше ПО из исходников. Код проходит ревью на предмет зловредных функций. Спасибо, команда F-Droid!
- В exodus можно убедиться в отсуствии каких-либо привелегий на вашем устройстве - В exodus можно убедиться в отсуствии каких-либо привелегий на вашем устройстве;
- Через [TrackerControl](https://f-droid.org/en/packages/net.kollnig.missioncontrol.fdroid/) можете убедиться в отсуствии треккеров или чего-то подобного - Через [TrackerControl](https://f-droid.org/en/packages/net.kollnig.missioncontrol.fdroid/) можете убедиться в отсуствии трекеров или чего-то подобного;
- С помощью [PCAPdroid](https://f-droid.org/en/packages/com.emanuelef.remote_capture/) можете собрать весь трафик с нашего приложения и убдиться в отсутсвии какого-либо трафика кроме как с вашим сервером и сервис-провадерами. - С помощью [PCAPdroid](https://f-droid.org/en/packages/com.emanuelef.remote_capture/) можете собрать весь трафик с нашего приложения и убедиться в отсутсвии какого-либо трафика кроме как с вашим сервером.
## Как еще будем улучшать безопасность? ## Как мы будем еще улучшать безопасность?
- Анонимизация логов на вашем сервере. Вы сам себе VPN-провайдер, который точно не хранит логов - Анонимизация логов на вашем сервере. Вы сам себе VPN-провайдер, который точно не хранит логов;
- SDLC, проверка кода в статических анализаторах - SDLC, проверка кода в статических анализаторах;
- hardware token (Nitrokey) - Hardware token (Nitrokey);
- tang/clavis? - Tang/clavis;
- авто обновления с автоматическим откатом - Автоматические обновления с откатом в случае неудачи;
- kernel hardering - Kernel hardering.

View File

@ -1,32 +1,32 @@
# 🧑‍💻 О нас # 🧑‍💻 О нас
Международная команда независимых профессионалов: Международная команда независимых профессионалов:
- [Жольнай Кирилл](https://s.zholnay.name/@kirill) — Founder/CEO/CISO. Более 15 лет строит и защищает корпоративную инфраструктуру в средних и крупных компаниях - [Жольнай Кирилл](https://s.zholnay.name/@kirill) — Founder/CEO/CISO. Более 15 лет строит и защищает корпоративную инфраструктуру в средних и крупных компаниях;
- **ilchub** — core-team DevOps, Backend-dev - **ilchub** — core-team DevOps, Backend-dev;
- **kherel** — core-team Flutter Dev - **kherel** — core-team Flutter Dev;
- **nikolai** — QA Engeneer - **nikolai** — QA Engeneer;
- и много классных котрибьюторов и [волонтеров](volonteers.md) - и много классных котрибьюторов и [волонтеров](volonteers.md)!
## 🌠 Нам помогают ## 🌠 Нам помогают
- [Роскомсвобода](https://roskomsvoboda.org/). Cпич на русском [youtube](https://www.youtube.com/watch?v=mdeUTUPeJjA). - [Роскомсвобода](https://roskomsvoboda.org/). Спич на русском [Youtube](https://www.youtube.com/watch?v=mdeUTUPeJjA);
- [Privacy Accelerator](https://privacyaccelerator.org/) - [Privacy Accelerator](https://privacyaccelerator.org/);
- Мировое Open Source сообщество - Мировое Open Source сообщество;
- NixOS сообщество - NixOS сообщество.
## 🫂 Единомышленники ## 🫂 Близкие по духу
- [Cloudron](https://www.cloudron.io/) — коммерческий проект, код закрыт, от $15 в месяц за электронную почту и несколько сервисов. Надо самому устанавливать на сервер приложение, следить за ресурсами сервера. - [Cloudron](https://www.cloudron.io/);
- [IndieWeb](https://indieweb.org/) — открытый проект, сложный в конфигурации. - [IndieWeb](https://indieweb.org/);
- [Kubenav](https://kubenav.io/) — управляет docker-контейнерами с мобильного. Перспективно, но для высококвалифицированных пользователей. - [Kubenav](https://kubenav.io/);
- [Yunohsot](https://yunohost.org/) — открытый проект, но не очень стабильно. - [Yunohsot](https://yunohost.org/);
- [FreedomBox](https://freedombox.org) — открытый проект на ARM - [FreedomBox](https://freedombox.org);
- [Tunrkeylinux](https://turnkeylinux.org) — готовое к использованию ПО для опытных пользователей - [Tunrkeylinux](https://turnkeylinux.org);
- [https://framasoft.org](https://framasoft.org) — облачный сервис уважающий приватность. Достойная альтернатива Google-Docs! - [framasoft.org](https://framasoft.org);
- https://sandstorm.io/ - [sandstorm.io](https://sandstorm.io/);
- https://citadel.org - [citadel.org](https://citadel.org);
- https://disroot.org - [disroot.org](https://disroot.org).
### Полезное ### Полезное
- https://ssd.eff.org - [ssd.eff.org](https://ssd.eff.org);
- https://datadetoxkit.org - [datadetoxkit.org](https://datadetoxkit.org);
- https://securityplanner.consumerreports.org/tool - [securityplanner.consumerreports.org](https://securityplanner.consumerreports.org/tool);
- https://www.fordfoundation.org/work/our-grants/building-institutions-and-networks/cybersecurity-assessment-tool/ - [fordfoundation.org](https://www.fordfoundation.org/work/our-grants/building-institutions-and-networks/cybersecurity-assessment-tool/).