PublicSafe
Ваш браузер — ваше безопасное пространство
PublicSafe — это бесплатное расширение для браузера с открытым исходным кодом, ориентированное на конфиденциальность, шифрование и контроль пользователя. Оно предоставляет инструменты шифрования на стороне клиента, предназначенные для защиты конфиденциальной информации до того, как она покинет браузер пользователя. PublicSafe построен на принципах прозрачности, безопасности, доступности и разработки, управляемой сообществом.
Проект следует философии «конфиденциальность прежде всего» с конструкцией с нулевым разглашением, локальным управлением ключами и открытым исходным кодом, который может быть независимо проверен любым желающим.
Цели
- Защищать конфиденциальность пользователей с помощью шифрования на стороне клиента.
- Давать пользователям полный контроль над их ключами шифрования.
- Предоставлять простые, удобные для пользователя инструменты безопасности.
- Оставаться прозрачным благодаря разработке с открытым исходным кодом.
- Поддерживать современные браузеры через общую кодовую базу.
- Устранить ненужный сбор данных и телеметрию.
- Создавать доступные инструменты конфиденциальности для всех.
Возможности
Возможности шифрования
- Шифрование на стороне клиента перед передачей данных.
- Поддержка шифрования AES-256-GCM.
- Поддержка обмена ключами X25519.
- Поддержка цифровых подписей Ed25519.
- Безопасное шифрование и расшифровка текста.
- Шифрование безопасных заметок.
- Генерация зашифрованных сообщений.
- Инструменты обмена зашифрованными данными.
- Утилиты безопасного хранения секретов.
- Проверка целостности шифрования.
- Утилиты хеширования SHA-256.
- Поддержка шифрования на основе пароля.
- Вывод ключей с использованием PBKDF2.
- Поддержка Argon2id, где доступно.
Функции защиты браузера
- Интегрированные инструменты шифрования в браузере.
- Утилиты шифрования данных форм.
- Безопасное шифрование и расшифровка буфера обмена.
- Защита конфиденциального ввода в браузере.
- Безопасные рабочие процессы копирования и вставки.
- Панель конфиденциальности браузера.
- Мониторинг статуса безопасности.
- Индикаторы активности шифрования.
- Элементы управления конфиденциальностью на уровне сайта.
- Управление доверенными сайтами.
- Уведомления безопасности.
Функции защиты файлов
- Локальное шифрование файлов.
- Локальная расшифровка файлов.
- Экспорт зашифрованных файлов.
- Импорт зашифрованных файлов.
- Подготовка безопасного обмена файлами.
- Поддержка шифрования больших файлов.
- Обработка нескольких файлов.
- Проверка целостности зашифрованных файлов.
Функции управления ключами
- Генерация локальных ключей.
- Управление открытыми и закрытыми ключами.
- Инструменты импорта и экспорта ключей.
- Зашифрованные резервные копии ключей.
- Генерация ключей восстановления.
- Поддержка ротации ключей.
- Поддержка нескольких идентификаторов.
- Безопасное хранение ключей.
Функции конфиденциальности
- Архитектура с нулевым разглашением.
- Отсутствие обязательных учетных записей.
- Отсутствие централизованного хранения ключей.
- Отсутствие телеметрии.
- Отсутствие отслеживания.
- Отсутствие сбора аналитики.
- Локально-ориентированная архитектура.
- Шифрование под контролем пользователя.
- Прозрачная модель безопасности.
- Открытая аудируемость.
Функции пользовательского опыта
- Настройка в один клик.
- Обучение с подсказками.
- Простые рабочие процессы шифрования.
- Дизайн с акцентом на доступность.
- Поддержка навигации с клавиатуры.
- Адаптивный пользовательский интерфейс.
- Поддержка темной темы.
- Поддержка светлой темы.
- Понятные индикаторы безопасности.
- Минимальные требования к настройке.
Поддержка браузеров
- Google Chrome
- Chromium
- Microsoft Edge
- Mozilla Firefox
- Brave
- Opera
- Vivaldi
Функции для разработчиков
- Кодовая база на TypeScript.
- Модульная архитектура.
- Интеграция с Web Crypto API.
- Поддержка Manifest V3.
- Абстракционный слой API расширения.
- Автоматическое тестирование.
- Поддержка непрерывной интеграции.
- Практики разработки с акцентом на безопасность.
- Структура проекта, удобная для участников.
- Всесторонняя документация.
Технологический стек
Фронтенд
- TypeScript
- HTML5
- CSS3
- Web Components
- Manifest V3
Криптография
- Web Crypto API
- AES-256-GCM
- X25519
- Ed25519
- SHA-256
- PBKDF2
- Argon2id (где поддерживается)
Хранилище
- IndexedDB
- Browser Storage APIs
- Локально-ориентированная архитектура
Инструменты разработки
- Vite
- ESLint
- Prettier
- Vitest
- Playwright
- GitLab CI/CD
Документация
- Markdown
- OpenAPI Specifications
- Генерация автоматической документации
Принципы безопасности
- Конфиденциальность по умолчанию.
- Безопасность по проекту.
- Прозрачность открытого исходного кода.
- Архитектура с нулевым разглашением.
- Владение локальными ключами.
- Отсутствие обязательных облачных сервисов.
- Отсутствие скрытого сбора данных.
- Решения безопасности под контролем пользователя.
- Публично аудируемая кодовая база.
Участие в разработке
Приветствуются вклады, отчёты об ошибках, запросы функций, улучшения документации, улучшения доступности и проверки безопасности.
Пожалуйста, ознакомьтесь с руководством по участию в проекте перед отправкой запросов на слияние.
Лицензия на брендирование спецификации (SBL)
Стандартная
- Система, полностью соответствующая AGPL-3.0+
- Копилефт распространяется на сетевые развертывания
- Требуемая атрибуция:
Необязательная
- Лицензия на брендирование спецификации (SBL)
Лицензия и требования к уведомлениям
PublicSafe выпускается под лицензией GNU Affero General Public License v3.0 или более поздней версии (AGPL-3.0+).
Внося вклад в этот проект, вы соглашаетесь, что ваши вклады также будут выпущены под этой лицензией.
Обратите внимание на следующее:
- Все вклады должны соответствовать условиям AGPL-3.0+.
- В соответствии с Разделом 7 лицензии все распространения, форки и производные работы должны сохранять атрибуцию:
Roxanne Ardary и roxanneardary.com.
- Спецификации PublicSafe можно свободно использовать с указанием авторства. Лицензия на брендирование спецификации может быть согласована по запросу.
- Файл notice.md проекта отслеживает требования к атрибуции и подтверждения участников.
Любое обновление, добавляющее новых участников или изменяющее атрибуцию, должно также обновлять notice.md.
- При отправке запроса на слияние убедитесь, что все новые файлы содержат заголовки атрибуции, где это применимо.
- Сетевые версии этого программного обеспечения также должны оставаться полностью совместимыми с AGPL-3.0+, включая раскрытие изменений исходного кода, когда это применимо по лицензии.
Полные юридические сведения см. в лицензии AGPL-3.0+ и файле notice.md проекта.
Open Arsenal Hub
https://gitlab.com/Roxanne_Ardary/open-arsenal-specs