Privacy Ratings

Автоматические тесты

Облачные сервисы (категории с type: service) тестируются автоматически, если в их файле рейтинга указан domain. Почтовые провайдеры и сервисы пересылки с mail_domain также проходят почтовый тест.

Тест Что проверяет Критерий Да Частично Нет
Qualys SSL Labs Версии TLS, шифры, сертификаты и известные уязвимости TLS tls A+ или A A- или B C или ниже
Mozilla HTTP Observatory Заголовки безопасности, такие как CSP, HSTS и X-Frame-Options, и флаги cookie security_headers A+ или A A-, B+ или B B- или ниже
Тест сайта Internet.nl IPv6, DNSSEC, HTTPS и параметры безопасности web_standards 90% или больше От 70% до 89% Ниже 70%
Почтовый тест Internet.nl IPv6, DNSSEC, DMARC, DKIM, SPF, STARTTLS и DANE для почтового домена mail_standards 90% или больше От 70% до 89% Ниже 70%
Hardenize Настройки безопасности DNS, почты и веба Только ссылка

Почтовые стандарты

Почтовые провайдеры и сервисы пересылки с mail_domain также проходят эти тесты, которые выполняет scripts/mail-tests.js:

Тест Что проверяет Критерий Да
DNS over HTTPS SPF, политика DMARC, режим MTA-STS (RFC 8461), TLS-RPT (RFC 8460), проверка DNSSEC, DANE TLSA на каждом MX-хосте (RFC 7672), а также BIMI и SRV-записи RFC 6186 для информации transport_security Все шесть применяются принудительно
IMAP CAPABILITY Неявный TLS на порту 993 (RFC 8314), IMAP4rev1 или IMAP4rev2, IDLE. При недоступности — STARTTLS на порту 143 imap_standards Неявный TLS, IMAP4rev1/rev2 и IDLE
POP3 CAPA Неявный TLS на порту 995, CAPA (RFC 2449), UIDL. При недоступности — STLS на порту 110 pop3_standards Неявный TLS, CAPA и UIDL
SMTP EHLO Отправка по неявному TLS на порту 465, SMTPUTF8, 8BITMIME, PIPELINING, AUTH. При недоступности — STARTTLS на порту 587 smtp_standards Неявный TLS и все четыре расширения

Имена серверов берутся из imap_host, pop3_host и smtp_host в файле рейтинга или из SRV-записей RFC 6186 провайдера. Если провайдер не поддерживает протокол, укажите для соответствующего хоста false. Возможности — это то, что каждый сервер сообщает до входа; полные списки показаны на странице каждого рейтинга.

Трекеры на сайте

Каждая запись с сайтом, включая приложения, проходит тест трекеров, который выполняет scripts/trackers.js. Он загружает главную страницу без выполнения JavaScript и сравнивает хосты всех скриптов, фреймов, изображений и таблиц стилей, а также встроенный код, со списком известных сервисов отслеживания и аналитики.

Что найдено Влияние на no_trackers
Сторонние трекеры, такие как Google Analytics, Google Tag Manager, Meta Pixel, Hotjar или HubSpot Ответ становится «нет», что бы ни было указано в файле рейтинга
Аналитика без cookie (Plausible, Fathom, Simple Analytics, Matomo Cloud, Cloudflare Web Analytics) «Да» становится «частично»
Шрифты, встраиваемые элементы, отчёты об ошибках, чат поддержки или инструменты согласия Указываются на странице, не оцениваются
Ничего Используется ответ из файла рейтинга

Если сайт — это страница на хостинге кода или в магазине приложений (GitHub, GitLab, Codeberg, SourceForge, F-Droid, Google Play и подобные), тест пропускается, потому что этой страницей управляет не проект.

Тест видит только трекеры, прописанные в самой странице. Трекеры, добавляемые позже скриптами, и телеметрия внутри приложений по-прежнему требуют подтверждений в файле рейтинга, например политики конфиденциальности или отчёта Exodus Privacy.

SRS и ARC нельзя увидеть снаружи без отправки почты, поэтому это критерии, на которые отвечают с подтверждениями, а не тестами.

Автоматические проверки, которые ещё не запускались, отображаются как «Ещё не тестировалось» и не учитываются в баллах, поэтому провайдер никогда не теряет баллы из-за теста, который ещё не проводился.

Для SSL Labs используется самая низкая оценка среди всех IP-адресов домена.

Hardenize больше не предоставляет публичный API, поэтому каждая страница ссылается на его публичный отчёт, а не оценивает его.

Расписание

Workflow сканирования запускается каждый день и тестирует 40 записей с самыми старыми результатами (для Internet.nl действуют собственные ограничения, см. ниже), поэтому каждый сервис регулярно тестируется без перегрузки бесплатных API. Результаты сохраняются в scans/ в формате JSON, коммитятся в репозиторий и публикуются вместе с сайтом. На каждой странице показано, когда её тесты запускались последний раз.

При неудачном тесте сохраняется предыдущий результат и записывается ошибка, поэтому временный сбой не меняет баллы.

Ограничения Internet.nl

Пакетный API Internet.nl используется в рамках его условий использования:

Каждый запрос записывается в scans/internetnl-requests.json, который коммитится вместе с результатами, даже если запуск завершился ошибкой. Запуск, обнаруживший, что недельный лимит исчерпан, пропускает Internet.nl и сохраняет имеющиеся результаты. Пакеты обрабатываются часами, поэтому статус запроса проверяется каждые 5 минут, а запрос, который ещё выполняется к концу запуска, забирается одним из следующих запусков, а не отправляется повторно. Internet.nl игнорирует --limit, а учётные данные Internet.nl используют только запуски в ветке по умолчанию, поэтому все запуски ведут одну общую запись.

Этот сайт повторно использует результаты тестов, предоставленные инструментом тестирования Internet.nl.

Настройка

Все параметры — необязательные секреты репозитория (Settings › Secrets and variables › Actions):

Секрет Назначение
SSLLABS_EMAIL Адрес почты, зарегистрированный в SSL Labs API v4. Без него используется API v3. Для регистрации нужен адрес почты организации.
INTERNETNL_USERNAME, INTERNETNL_PASSWORD Аккаунт для пакетного API Internet.nl. Без них страницы ссылаются на публичные тесты Internet.nl, а критерии Internet.nl остаются «неизвестно».
INTERNETNL_API Базовый URL пакетного API для собственного экземпляра Internet.nl. По умолчанию https://batch.internet.nl/api/batch/v2.

Mozilla HTTP Observatory не требует аккаунта. Данные о лицензиях GitHub используют встроенный токен workflow.

Локальный запуск тестов

npm ci
node scripts/scan.js --only email-providers/forward-email
node scripts/scan.js --limit 5 --tests observatory
node scripts/scan.js --tests mail-dns          # email DNS checks only
npm run test:unit                              # protocol probes against local mock servers
npm run build

Какой домен тестируется

Поле domain должно указывать на основной сайт или веб-приложение, где люди входят в аккаунт, например mail.example.com, а не на маркетинговый поддомен на другом хосте. Производители могут предложить более точный домен в pull request.

Редактировать эту страницу на GitHub Markdown