Контроль в свои руки: почему статическому сайту нужен европейский хостинг
GitHub Pages и чужая юрисдикция: почему это должно вас беспокоить
Честно говоря, GitHub Pages — это магия. Пушнул код, и сайт магическим образом появляется в интернете. Никаких серверов, никакого CI/CD, который ломается в три часа ночи, никаких деплой-скриптов, которые странным образом отказывают по пятницам. Простота, которая заставляет забыть, что под капотом вообще что-то есть.
Но за этой простотой прячется неудобная правда: используя GitHub Pages, вы доверяете свой код, инфраструктуру и данные американской юрисдикции. И в 2024 году это начинает играть бо́льшую роль, чем большинство разработчиков осознают.
Проблема Cloud Act, о которой все молчат
Американский Cloud Act был принят в 2018 году. Он даёт федеральным властям США право требовать доступ к данным от американских компаний — даже если эти данные физически хранятся во Франкурте, Амстердаме или Дублине. И GitHub (принадлежащий Microsoft), и GitLab Inc. — американские компании. На них распространяется это законодательство, точка.
Прежде чем отмахнуться от этого как от паранойи, подумайте, что именно лежит в вашем репозитории:
- Неопубликованные статьи с анонсами продуктов
- Внутренняя документация команды
- Детали клиентских проектов в issues и вики
- Учётные данные для деплоя и access-токены
- Логи доступа, показывающие, кто и когда заходил в ваши проекты
Ничего из этого не является публичным. Но всё это потенциально доступно при определённых обстоятельствах. Для корпоративного блога это может быть приемлемым компромиссом. Для стартапа с невыпущенными фичами, консалтинговой компании с клиентскими проектами или любого, кто работает с чувствительным кодом — это повод задуматься.
Прозрачность, которой нет
Вот что больше всего раздражает в крупных платформах: непрозрачность вокруг сбора данных.
GitHub, GitLab и Cloudflare предлагают GDPR-совместимость и DPA-соглашения, которые можно подписать. Это создаёт ощущение безопасности — до тех пор, пока не осознаёшь, что ты понятия не имеешь, что именно они логируют. IP-адреса? User agents? Временные метки с геолокацией? Стандартные условия расплывчаты, а реальные серверные логи никогда не показывают пользователям.
Сравните это с мелкими провайдерами вроде statichost.eu, которые открыто документируют, что попадает в их логи: никаких IP-адресов, никаких user agents, только агрегированные размеры ответов для биллинга. В документации даже есть пример записи лога. Вот такое прозрачность, которая формирует доверие.
А потом есть юридическая трясина EU-US Data Privacy Framework — наследника Privacy Shield, механизма, который американские компании используют для легитимации передачи данных из Европы. Подвох в том, что вся конструкция основана на независимости FTC — а Верховный суд США недавно поставил под сомнение эту самую независимость. Правовая почва под трансатлантическими transfers данных шатается. Европейская инфраструктура на европейских серверах — это не просто приятный бонус, а всё более единственный стабильный фундамент.
Ловушка бесшовности
GitHub Pages настолько элегантно интегрирован, что ты перестаёшь мыслить понятиями «хостинг кода» и «деплой сайта» как отдельными сущностями. Это просто... GitHub. Бесшовный опыт — это блестящий UX, но он создаёт скрытую зависимость.
Ты не залочен в хард-смысле — миграция технически проста. Но если ты никогда мысленно не разделял эти задачи, ты и не оптимизируешь их независимо. Ты принимаешь всё, что предлагает GitHub для деплоя, потому что «так сайты и работают».
Это применение аргумента seams-based архитектуры к инфраструктуре: coupling создаёт скрытые издержки, даже когда всё кажется удобным.
Европейский альтернативный стек
Хорошая новость: статические сайты по природе портативны. Вся суть статического генератора в том, что контент превращается в обычные файлы. Перенести hosting редко бывает так больно, как мигрировать приложение с базой данных.
Альтернативный стек выглядит примерно так:
Для хостинга Git:
Codeberg работает на Forgejo (community-форк Gitea) и управляется некоммерческой организацией в Берлине. Бесплатно, полностью open source, инфраструктура в Германии. Для публичных репозиториев и open-source проектов — очевидный выбор. Условия использования явно приветствуют открытую разработку.
Codefloe — коммерческий аналог. Тоже Forgejo, но без ограничений по использованию. Приватные репозитории? Коммерческие проекты? Enterprise-команды? Всё поддерживается. Если ваш исходный код не должен быть публичным — это ваш европейский вариант.
Обе платформы работают со стандартным Git. Перейти с GitHub — значит просто изменить один remote URL. Импорт-тулзы переносят всю историю.
Для деплоя:
statichost.eu собирает и хостит статические сайты в европейских дата-центрах. Подключаете репозиторий через webhook, указываете процесс сборки (поддерживаются Docker-образы, так что подойдёт практически любой генератор), и пушите — деплой готов. Кастомные домены, SSL-сертификаты, полный набор.
Разделение — это не только философия, но и практика. Можно сменить Git-хост, не трогая деплой, или переехать на другой hosting, не перенося код. Два независимых компонента, два независимых решения.
Переход
Если вы убеждены, но боитесь сложностей — успокойтесь: этот стек действительно так же удобен, как GitHub Pages. Zola собирает сайты за миллисекунды. Codeberg или Codefloe handling репозиторий. statichost.eu запускает сборку. Developer experience практически идентичен.
Разница в том, что когда вы спите, ваши данные находятся в Европе, управляются европейским законодательством, логируются с европейской прозрачностью и контролируются европейскими организациями.
Для каких-то проектов GitHub Pages — это нормально. Для проектов, где важна data sovereignty, приватность или профессиональная деликатность, европейский альтернативный стек заслуживает серьёзного внимания.
Статические сайты портативны по природе. Возможно, пора, чтобы ваша инфраструктура это отражала.