November 8

GrapheneOS. Часть 2

Это продолжение первого поста про защищённую ОС для Google Pixel. Пока пост находится в процессе редактирования, как закончу, это предупреждение поменяется. Но информация важная и нужная, поэтому даже не в очень красивом оформлении её можно использовать.

Надеюсь, что мне на днях, наконец привезут чехол для пикселя, который я заказа 12 октября.

4. Приватность как настройка «по умолчанию»

Безопасность защищает вас от взлома. Приватность защищает вас от слежки — в том числе легальной, со стороны приложений, которые вы сами установили. В обычном Android приватность — это компромисс: либо вы даёте приложению всё, что оно просит, либо оно не работает. GrapheneOS переворачивает эту логику: **вы контролируете каждый аспект доступа к данным, а приложение работает в рамках того, что вы разрешили**.

Это не просто «галочки в настройках» — это фундаментальные изменения в том, как система управляет разрешениями. Давайте разберём ключевые механизмы приватности GrapheneOS.

4.1. Контроль сетевого доступа и датчиков

В обычном Android, когда вы устанавливаете приложение, оно **автоматически** получает доступ к сети. Нет кнопки «запретить этому приложению интернет» — предполагается, что если приложение хочет в сеть, значит, ему это нужно для работы.

Проблема в том, что **доступ к сети = возможность слить данные**. Даже если приложение не запрашивает разрешений на геолокацию, контакты или камеру, оно всё равно может собирать аналитику и отправлять её на серверы:

* список установленных приложений (отпечаток вашего устройства);
* модель телефона, версию ОС, разрешение экрана;
* время использования, частоту запусков;
* уникальные идентификаторы (например, Advertising ID);
* данные о сети Wi-Fi (какая точка доступа, BSSID) — это косвенно даёт местоположение.

Всё это не требует специальных разрешений. Приложение просто «захардкодило» отправку на analytics.example.com, и Android пропускает эти запросы.

#### Network Permission: интернет под контролем

В GrapheneOS появляется новое разрешение — **Network Permission** (сетевое разрешение). Оно работает так же, как разрешение на камеру или микрофон: по умолчанию выключено, и приложение должно его запросить.

**Как это работает:**

* При установке приложения оно **не имеет** доступа к сети (если вы не разрешили).
* Когда приложение пытается открыть сетевое соединение — система перехватывает запрос.
* Если разрешение не дано — соединение блокируется. Приложение получает ошибку, как будто сети нет вообще.
* Вы можете разрешить сеть в любой момент: Settings → Apps → выбрать приложение → Permissions → Network.

**Практические сценарии:**

* **Игра без рекламы.** Вы установили игру, которая работает офлайн, но показывает рекламу и собирает аналитику. Запретите ей сеть — игра будет работать, реклама исчезнет, данные не утекут.

* **Редактор фотографий.** Приложение для обработки изображений не должно иметь доступа в интернет — зачем? Запретите сеть, и можете быть уверены, что ваши фото не отправляются на серверы компании «для улучшения алгоритмов».

* **Мессенджер только по Wi-Fi.** Некоторые приложения можно настроить так, чтобы они работали только через Wi-Fi (чтобы не тратить мобильный трафик). Но они всё равно могут «подслушивать» мобильную сеть. В GrapheneOS можно заблокировать мобильную сеть, оставив только Wi-Fi — на уровне системы, без обхода.

* **Запрет фоновой синхронизации.** Приложение может работать с сетью, когда открыто, но не должно «звонить домой» в фоне. Разрешите сеть только для активного использования (foreground), а фоновые запросы заблокируются автоматически.

#### Sensors Permission: датчики под контролем

Современные смартфоны напичканы датчиками: акселерометр, гироскоп, магнетометр, барометр, датчик освещённости, датчик приближения. Казалось бы, безобидные штуки. Но они могут использоваться для слежки.

**Как датчики могут раскрыть информацию:**

* **Акселерометр и гироскоп** показывают, как вы держите телефон, как двигаетесь. По этим данным можно восстановить, что вы печатаете на экранной клавиатуре (side-channel атака), определить вашу походку (уникальный маркер личности), понять, едете ли вы в машине, автобусе или идёте пешком.

* **Магнетометр** (компас) реагирует на магнитные поля. В помещениях магнитные поля уникальны (арматура в стенах, электроника). По магнитным «отпечаткам» можно определить, в каком здании вы находитесь, даже без GPS.

* **Барометр** (датчик давления) показывает высоту над уровнем моря. Это позволяет определить этаж, на котором вы находитесь — даже если GPS и Wi-Fi заблокированы.

* **Датчик освещённости** показывает яркость окружающего света. Исследователи доказали, что по уникальному паттерну изменения освещённости можно идентифицировать пользователя и даже извлекать данные из соседних процессов (ещё один side-channel).

В обычном Android доступ к этим датчикам **не требует разрешений**. Любое приложение может читать показания в любой момент.

**Sensors Permission в GrapheneOS:**

Это новое системное разрешение, которое блокирует доступ ко всем «небезопасным» датчикам:

* акселерометр;
* гироскоп;
* магнетометр (компас);
* барометр;
* датчики, связанные с движением и ориентацией.

**По умолчанию разрешение выключено.** Приложение должно его запросить, и вы решаете — дать или нет.

**Какие датчики остаются доступны без разрешения:**

* датчик приближения (чтобы экран гас при разговоре);
* датчик освещённости для автоматической яркости (данные усреднены и недостаточны для атак).

**Практические сценарии:**

* **Игры.** Многие игры используют акселерометр для управления (наклонами телефона). Вы разрешаете Sensors для игры — она работает. Но «калькулятор», которому акселерометр не нужен, не получает доступ и не может отследить ваши движения.

* **Фитнес-приложения.** Приложение для подсчёта шагов или бега логично запрашивает доступ к датчикам движения. Вы даёте разрешение осознанно. Но браузер или мессенджер не имеют оснований читать акселерометр — и не получают доступ.

* **Веб-сайты.** Да, веб-страницы в браузере тоже могут запрашивать доступ к датчикам через JavaScript API. В GrapheneOS это тоже контролируется Sensors Permission: браузер должен иметь разрешение, и отдельно вы разрешаете доступ конкретному сайту.

#### Детальный контроль: foreground vs background

Для обоих разрешений (Network и Sensors) можно настроить:

* **Allow (разрешить)** — всегда, даже в фоне.
* **Allow only while using (разрешить только при использовании)** — доступ есть, когда приложение открыто, но блокируется, когда оно свёрнуто.
* **Deny (запретить)** — полный запрет.

Это даёт гибкость: приложение может работать с сетью или датчиками, когда вы его используете, но не может «подглядывать» в фоновом режиме.

4.2. Storage Scopes: точечный доступ к файлам

В обычном Android разрешения на хранилище работают по принципу «всё или ничего»:

* **Если приложение запрашивает доступ к файлам** — оно получает доступ ко **всем вашим файлам**: фотографиям, документам, загрузкам, музыке, видео. Оно может читать, копировать, удалять — что угодно.
* **Если вы отказываете** — приложение не может открыть даже один файл, который вы явно хотите ему дать.

Это абсурд. Представьте, что вы хотите отредактировать одну фотографию в графическом редакторе. Приложение просит «доступ к хранилищу», и вы вынуждены либо дать доступ ко всем фото (включая личные, семейные, интимные), либо отказать — и редактор не запустится.

**Storage Scopes** в GrapheneOS решает эту проблему радикально.

#### Как работает Storage Scopes

Это **виртуализация файловой системы** специально для приложений. Когда вы даёте приложению «разрешение на хранилище» с включённым Storage Scopes:

* Приложение **думает**, что у него есть полный доступ к вашим файлам.
* Но реально оно видит **только свои собственные файлы** — те, что оно само создало в своей директории.
* Всё остальное хранилище для него **пусто** — как будто там ничего нет.

**Как же тогда дать приложению конкретный файл?**

Через **Storage Access Framework (SAF)** — стандартный механизм Android для выбора файлов. Это диалог «Открыть файл», который вы видите, когда приложение просит вас выбрать документ или фото.

Когда вы выбираете файл через SAF:

* Система даёт приложению **временное разрешение** только на этот файл (или папку, если выбрали папку).
* Приложение получает доступ только к этому конкретному файлу — не может «пройтись» по соседним файлам, не может увидеть структуру каталогов.
* Разрешение действует, пока приложение работает с файлом. Как только файл закрыт — доступа больше нет (если приложение явно не попросило постоянный доступ, и вы согласились).

#### Практические сценарии

**Пример 1: Редактор фотографий.**

Без Storage Scopes:
* Приложение просит «доступ к фото и медиа».
* Вы даёте разрешение.
* Приложение видит **все** ваши фото. Может скопировать их на свой сервер, проанализировать, продать аналитическим компаниям.

С Storage Scopes:
* Приложение просит разрешение на хранилище — вы даёте (но Storage Scopes включён).
* Приложение видит только пустую папку.
* Вы тапаете «Открыть файл», выбираете одну фотографию через системный диалог.
* Приложение получает доступ только к ней, редактирует, сохраняет.
* Остальные фото недоступны, приложение даже не знает об их существовании.

**Пример 2: Мессенджер с отправкой файлов.**

Вы хотите отправить документ через мессенджер.

Без Storage Scopes:
* Мессенджер просит доступ к файлам.
* Вы даёте.
* Мессенджер видит всё: рабочие документы, налоговые декларации, медицинские справки, личные заметки. Может загрузить всё это на сервер «для резервного копирования» или «анализа контента».

Со Storage Scopes:
* Мессенджер просит доступ — вы даёте.
* Мессенджер видит только свои файлы (например, ранее скачанные через него).
* Вы тапаете «Прикрепить файл», выбираете документ через SAF.
* Мессенджер получает доступ только к нему, отправляет адресату.
* Остальные файлы в безопасности.

**Пример 3: Файловый менеджер.**

Файловые менеджеры — единственный тип приложений, которому действительно нужен полный доступ к файлам. Для них Storage Scopes можно **отключить индивидуально**:

* Settings → Apps → File Manager → Storage Scopes → Off.
* Теперь файловый менеджер видит реальную структуру хранилища и может управлять всеми файлами.

Но для всех остальных приложений Scopes остаются включены.

#### Техническая магия: как это работает без поломки приложений

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

Storage Scopes решает это через **namespace isolation** (изоляцию пространств имён). Приложение работает в виртуальной файловой системе:

* Его собственная директория (`/sdcard/Android/data/com.example.app/`) видна полностью.
* Остальная часть `/sdcard/` **существует**, но **пуста** — приложение не получает ошибку «доступ запрещён», оно просто видит пустые папки.
* Когда вы даёте доступ к конкретному файлу через SAF — система «монтирует» этот файл в виртуальное пространство приложения. Приложение видит его как обычный файл, может читать и записывать — но на самом деле доступ контролируется системой.

**Для приложения всё выглядит нормально** — оно не знает, что работает в изолированной среде. Нет ошибок, нет крашей, нет сообщений о недостатке прав. Просто «не нашлось других файлов».

#### Запрет записи контактов

Storage Scopes также включает дополнительную защиту: приложения с включённым Scopes **не могут записывать файлы** в общие директории (например, Camera, Downloads, Documents) без явного разрешения через SAF.

Это предотвращает атаку, когда вредоносное приложение создаёт файлы с вредоносным содержимым в папке загрузок, надеясь, что пользователь их откроет.

#### Включение и настройка Storage Scopes

По умолчанию Storage Scopes **включён** для всех приложений, кроме системных файловых менеджеров.

Вы можете:

* **Оставить включённым** (рекомендуется) — максимальная приватность, приложения работают только с тем, что вы явно разрешили.
* **Отключить для конкретного приложения** — если оно действительно нуждается в полном доступе (например, файловый менеджер, приложение для резервного копирования).
* **Проверить список разрешённых файлов/папок** — можно увидеть, к каким конкретно файлам приложение получило доступ, и отозвать разрешение.

Настройка: Settings → Apps → выбрать приложение → Storage Scopes.

4.3. Contact Scopes: выборочные контакты вместо «всей адресной книги»

Разрешение на контакты в обычном Android работает так же абсурдно, как и разрешение на файлы: либо приложение получает **весь список контактов**, либо ничего.

**Почему это проблема:**

* Ваша адресная книга содержит не только имена и телефоны. Там могут быть email-адреса, домашние адреса, дни рождения, места работы, заметки, фото контактов.
* Когда приложение запрашивает «доступ к контактам», вы вынуждены дать ему **все** эти данные. Причём не только свои — но и данные всех ваших знакомых, которые доверили вам свои номера, не подозревая, что вы отдадите их какому-то приложению.
* Приложение может выгрузить всю адресную книгу на сервер, построить социальный граф (кто с кем связан), продать эти данные маркетологам или использовать для таргетинга рекламы.

**Пример абсурда:** мессенджер Telegram просит доступ к контактам, «чтобы найти друзей, которые уже в Telegram». Вы соглашаетесь — и отдаёте Telegram свою полную адресную книгу. Telegram загружает её на свои серверы, строит индекс, сопоставляет номера. Ваши знакомые, которые не пользуются Telegram и даже не знают о его существовании, уже есть в базе данных компании — благодаря вам.

#### Как работает Contact Scopes

**Contact Scopes** даёт вам детальный контроль: вместо «все контакты или ничего» вы выбираете, **какие именно контакты или группы** видит приложение.

**Как это выглядит:**

* Приложение просит доступ к контактам — вы разрешаете.
* С включённым Contact Scopes приложение видит **пустую адресную книгу**.
* Когда приложению нужен конкретный контакт (например, вы хотите позвонить знакомому через мессенджер), появляется системный диалог выбора контакта.
* Вы выбираете **одного человека** из списка.
* Приложение получает доступ только к этому контакту — имя, номер телефона (и другие поля, которые вы разрешили).
* Остальные контакты для приложения не существуют.

**Детальный контроль полей:**

Вы можете настроить, **какие типы данных** приложение видит даже у разрешённых контактов:

* только имена и телефоны;
* или ещё и email-адреса;
* или ещё и фотографии;
* или вообще всё (адреса, дни рождения, заметки).

Например, мессенджеру достаточно имени и телефона — зачем ему домашний адрес и день рождения вашего друга?

#### Групповое разрешение

Если у вас в адресной книге есть **группы** (например, «Семья», «Работа», «Спортзал»), вы можете разрешить приложению доступ к целой группе сразу.

Пример: корпоративный мессенджер для работы разрешаете видеть группу «Работа» — и он видит всех коллег. Но не видит семью, друзей, врачей, и всех остальных.

#### Запрет записи контактов

Приложения с включённым Contact Scopes **не могут создавать или изменять контакты**. Это read-only доступ.

Зачем? Потому что запись контактов может использоваться для атак:

* Вредоносное приложение создаёт контакт с вредоносным URL в поле «сайт» или с номером premium-rate (платные номера).
* Приложение может «замусорить» адресную книгу рекламными контактами.
* Может перезаписать существующие контакты, подменив номера телефонов (для перехвата звонков или сообщений).

**Если приложению действительно нужна запись** (например, это CRM-система или синхронизатор с корпоративным сервером) — для него Contact Scopes можно отключить индивидуально.

#### Практические сценарии

**Сценарий 1: Социальная сеть.**

Без Contact Scopes:
* Приложение просит доступ к контактам «чтобы найти друзей».
* Вы даёте — и отдаёте всю адресную книгу.
* Приложение выгружает её на сервер, включая контакты людей, которые не пользуются этой соцсетью и не давали согласия.

С Contact Scopes:
* Приложение просит доступ — вы даёте.
* Приложение видит пустой список.
* Если вы хотите добавить конкретного друга — выбираете его вручную через системный диалог.
* Приложение получает только его данные.
* Вы контролируете, кого «светите», а кого — нет.

**Сценарий 2: Служба такси.**

Зачем приложению такси доступ к вашим контактам? Обычно — чтобы вы могли «отправить машину другу» или «позвонить водителю через приложение».

Без Contact Scopes:
* Вы даёте доступ.
* Приложение видит всех: семью, коллег, врачей, всех, кто есть в телефоне.
* Приложение загружает эти данные на сервер «для улучшения сервиса».

С Contact Scopes:
* Вы даёте разрешение.
* Приложение видит пустой список.
* Когда вы хотите отправить машину другу — выбираете его контакт через системный диалог.
* Приложение получает только номер и имя этого человека для разовой операции.
* Остальные контакты в безопасности.

**Сценарий 3: Корпоративное приложение.**

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

* Создаёте группу «Работа» в адресной книге, добавляете туда коллег.
* Разрешаете корпоративному приложению доступ к группе «Работа».
* Приложение видит только рабочие контакты.
* Личные контакты остаются приватными.

#### Включение и настройка Contact Scopes

По умолчанию **включён** для всех приложений, запрашивающих доступ к контактам.

Настройка: Settings → Apps → выбрать приложение → Contact Scopes.

Здесь можно:

* **Выбрать контакты**, которые видит приложение (индивидуально или группами).
* **Настроить типы полей** (только телефоны, или ещё и email, и т. д.).
* **Отключить Scopes** для приложения, если ему нужен полный доступ (например, приложение для резервного копирования контактов).

4.4. Wi-Fi и сетевое местоположение без «слива» данных

Геолокация — один из самых чувствительных типов данных. Она раскрывает, где вы живёте, работаете, какие места посещаете, с кем встречаетесь. В обычном Android даже с выключенным GPS ваше местоположение постоянно отслеживается — через Wi-Fi и сотовые вышки.

#### Проблема Wi-Fi геолокации в обычном Android

**Как работает определение местоположения по Wi-Fi:**

* Ваш телефон сканирует окружающие Wi-Fi сети (даже если вы к ним не подключены).
* Для каждой сети он видит **BSSID** (уникальный идентификатор точки доступа, фактически MAC-адрес роутера) и уровень сигнала.
* Эти данные отправляются на серверы Google (или другого провайдера геолокации).
* Сервер сопоставляет BSSID с базой данных местоположений роутеров (собранной заранее) и возвращает ваши координаты.

**Что не так:**

* **Ваше местоположение постоянно отправляется на серверы Google**, даже если вы не используете карты или навигацию. Просто фоновые процессы системы регулярно «уточняют» позицию.
* **Данные о сетях Wi-Fi вокруг вас** тоже уходят на серверы — Google строит и обновляет свою базу данных за ваш счёт.
* **История перемещений** сохраняется на серверах (если включена «История местоположений» в аккаунте Google — а она включена по умолчанию). Это детальный лог, где вы были каждую минуту за последние годы.
* Даже с выключенной историей — данные всё равно уходят на серверы для «улучшения сервисов».

#### Собственная служба network location в GrapheneOS

GrapheneOS не использует Google Location Services. Вместо этого реализована **собственная служба сетевого местоположения**, которая работает **локально**, на устройстве.

**Как это работает:**

* Телефон сканирует окружающие Wi-Fi сети.
* Обращается к **открытым базам данных** геолокации Wi-Fi (например, Mozilla Location Service или другим публичным источникам).
* **Запрос анонимизирован**: данные о BSSID отправляются через случайное соединение, без привязки к вашему аккаунту, устройству или IP-адресу.
* Сервер возвращает примерные координаты роутеров.
* **Расчёт позиции происходит локально** на устройстве, на основе уровней сигнала от нескольких точек доступа.
* Результат сохраняется **в оперативной памяти** (in-memory кэш) на короткое время, чтобы не делать повторные запросы.
* **После перезагрузки кэш очищается** — никакой истории местоположений не остаётся.

**Что это даёт:**

* **Данные не уходят на серверы Google** — или на любой другой сервер, который строит профиль вашей личности.
* **Нет постоянного логирования** — история местоположений не сохраняется ни локально, ни в облаке.
* **Анонимность запросов** — даже сервис геолокации, к которому обращается устройство, не знает, кто вы и где находитесь систематически. Он видит одноразовые запросы для конкретных BSSID, но не может построить ваш профиль.
* **Работает так же удобно** — приложения, которым нужна геолокация (карты, погода, такси), получают координаты без задержек и работают нормально.

Вы по-прежнему можете использовать GPS для точной геолокации (когда приложению разрешён доступ). Но фоновое определение «примерного местоположения» через Wi-Fi теперь не означает постоянную слежку.

#### Улучшения приватности Wi-Fi

GrapheneOS также включает защиту от отслеживания через Wi-Fi на более низком уровне:

**MAC-адрес рандомизация.**

Каждое устройство имеет уникальный MAC-адрес сетевой карты. Когда вы сканируете Wi-Fi сети (даже не подключаясь), точки доступа видят ваш MAC и могут отслеживать, когда и где вы появлялись.

В GrapheneOS:

* **Для каждой сети генерируется случайный MAC-адрес** — роутер дома видит один MAC, роутер на работе — другой, публичная сеть в кафе — третий.
* **MAC меняется регулярно** — даже для одной сети можно настроить периодическую смену MAC.
* **При сканировании используется случайный MAC** — точки доступа не могут отследить ваше устройство по движениям.

Это блокирует системы отслеживания в торговых центрах, аэропортах, на улицах — когда установленные точки доступа логируют MAC-адреса проходящих устройств, строя карту перемещений посетителей.

**Отключение автоматического подключения.**

В обычном Android телефон постоянно «ищет» знакомые сети, к которым подключался раньше. Он транслирует в эфир имена этих сетей (SSID): «Дом», «Работа», «Кафе на углу» и т. д.

Злоумышленник может:

* Узнать, где вы бываете (по названиям сетей).
* Создать поддельную точку доступа с таким же именем — ваш телефон автоматически подключится, и атакующий перехватит трафик (атака «Evil Twin»).

В GrapheneOS:

* **Автоподключение** можно отключить для конкретных сетей или глобально.
* **Телефон не транслирует имена сетей** в эфир — он пассивно слушает beacon-сигналы роутеров и подключается, только если обнаружил «свою» сеть.

**Отключение Wi-Fi при блокировке экрана.**

Можно настроить, чтобы Wi-Fi автоматически отключался, когда экран заблокирован и устройство не используется. Это предотвращает фоновое отслеживание и экономит заряд батареи.

---

### 4.5. Private screenshots, PIN-scrambling, показыватели доступа и другие улучшения приватности

Помимо крупных механизмов (Storage Scopes, Contact Scopes, Network Permission), GrapheneOS включает множество «мелких», но очень важных улучшений приватности, которые защищают вас в повседневных ситуациях.

#### Private screenshots (приватные скриншоты)

**Проблема:** В обычном Android скриншоты сохраняются в общей папке Pictures/Screenshots. Любое приложение с доступом к медиафайлам может их прочитать.

Представьте: вы сделали скриншот переписки с врачом, банковской выписки, рабочего документа. Теперь любое приложение (фоторедактор, соцсеть, «оптимизатор»), которому вы когда-то дали доступ к фото, видит эти скриншоты. Некоторые приложения автоматически загружают их на облачные серверы «для резервного копирования».

**Решение в GrapheneOS:**

Можно включить **Private screenshots** — режим, в котором скриншоты сохраняются в приватную папку, доступную только системным приложениям (галерея, файловый менеджер). Сторонние приложения их не видят, даже если имеют разрешение на медиафайлы.

Настройка: Settings → Privacy → Private screenshots.

#### PIN scrambling (перемешивание клавиатуры PIN-кода)

Когда вы вводите PIN на экране разблокировки, цифры всегда в одном и том же месте: 1-2-3 в первом ряду, 4-5-6 во втором, и т. д.

**Угроза:** Кто-то может подсмотреть ваши движения пальцев (shoulder surfing — «подглядывание через плечо») или проанализировать следы пальцев на экране (smudge attack — «атака по отпечаткам»). Даже не зная конкретного PIN, атакующий может восстановить паттерн движений.

**PIN scrambling в GrapheneOS:**

При каждой разблокировке цифры на клавиатуре располагаются **в случайном порядке**. Вам нужно найти глазами нужные цифры и нажать их. Для вас это секундная задержка, для наблюдателя — невозможность восстановить PIN.

Подглядывающий видит: «нажал левую верхнюю кнопку, потом правую нижнюю, потом центральную». Но в следующий раз эти же кнопки будут соответствовать другим цифрам — паттерн бесполезен.

Настройка: Settings → Security → PIN scrambling.

Примечание: Это немного замедляет разблокировку (нужно смотреть на клавиатуру, а не вводить «на автомате»), поэтому функция опциональна. Рекомендуется для ситуаций повышенного риска: поездки в страны с агрессивным пограничным контролем, общественные места, протестные акции.

#### Показыватели доступа к камере, микрофону и геолокации

В Android 12 Google ввела индикаторы доступа: когда приложение использует камеру или микрофон, в правом верхнем углу появляется зелёная точка.

GrapheneOS расширяет эту функцию:

* **Более заметные индикаторы** — трудно не заметить, что камера активна.
* **Индикатор геолокации** — когда приложение запрашивает ваше местоположение, появляется соответствующая иконка.
* **История доступа** — можно открыть панель и увидеть, какие приложения и когда обращались к камере, микрофону, местоположению за последние 24 часа.

Это позволяет быстро обнаружить подозрительную активность: например, мессенджер обращался к микрофону в 3 часа ночи, когда вы спали — почему?

Настройка: Settings → Privacy → Privacy indicators / Permission usage.

#### Автоматическое обнуление разрешений для неиспользуемых приложений

Если вы не открывали приложение несколько месяцев, GrapheneOS автоматически **отзывает все его разрешения** (камера, микрофон, геолокация, контакты, файлы).

Логика: если приложение не используется — зачем ему доступ к вашим данным?

При следующем запуске приложение запросит разрешения заново — и вы осознанно решите, давать или нет.

Это защищает от «забытых» приложений, которые установлены годами назад, имеют широкие разрешения, но давно не обновлялись и могут содержать уязвимости.

#### Clipboard access notifications (уведомления о доступе к буферу обмена)

Буфер обмена — место, куда попадает всё, что вы копируете: пароли, номера карт, личные сообщения, адреса.

В обычном Android любое приложение может **читать буфер обмена в любой момент**, без вашего ведома. Доказано, что многие приложения делают это в фоне, собирая данные.

**GrapheneOS показывает уведомление**, когда приложение обращается к буферу обмена. Вы видите: «Приложение X прочитало буфер обмена». Если это происходит неожиданно (например, в фоне, когда вы не взаимодействовали с приложением) — повод задуматься.

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

#### Автоматическая очистка буфера обмена

Можно настроить автоматическую очистку буфера через N минут после копирования. Это предотвращает ситуацию, когда вы скопировали пароль час назад, забыли, а какое-то приложение втихую его прочитало.

Настройка: Settings → Privacy → Clipboard auto-clear.

#### Отключение датчиков на уровне системы

Помимо Sensors Permission (которому нужно индивидуальное разрешение для каждого приложения), можно **полностью отключить датчики** на уровне системы — через Quick Settings (быстрые настройки в шторке уведомлений).

Одним тапом все датчики (кроме критических для работы экрана) выключаются аппаратно. Ни одно приложение, даже системное, не может получить к ним доступ.

Полезно в ситуациях, когда вы хотите быть уверены, что никто не отслеживает ваши движения или ориентацию устройства: важные переговоры, конфиденциальные встречи, и т. п.

#### Уведомления о подключении USB

Когда вы подключаете устройство через USB, GrapheneOS показывает заметное уведомление с текущим режимом (Off/Charge-only/Data) и предложением изменить его.

Это защищает от атак, когда вы подключили телефон к «зарядке» в общественном месте, а на самом деле это устройство с эксплойтом, пытающееся перевести порт в режим Data.

Вы сразу видите уведомление и можете отключить кабель или принудительно перевести порт в режим Charge-only.

#### Экран блокировки не показывает уведомления по умолчанию

В обычном Android на экране блокировки видны уведомления: кто вам написал, что пришло по почте, какие звонки пропущены.

Это утечка приватности: любой, кто взял ваш телефон (или просто посмотрел на него), видит содержимое сообщений, отправителей, темы писем.

В GrapheneOS:

* **По умолчанию уведомления скрыты** на экране блокировки. Видны только иконки приложений без контента.
* Можно настроить индивидуально для каждого приложения: показывать полностью, показывать только заголовок, или вообще скрыть.

Настройка: Settings → Notifications → On lock screen.

#### Duress PIN/Password (пароль принуждения)

Это не совсем функция приватности, скорее — безопасности в экстремальной ситуации, но она связана с защитой данных.

Вы можете установить **второй PIN или пароль**, который при вводе:

* Разблокирует телефон (чтобы не привлекать внимания).
* Но **стирает данные вторичного профиля** (где хранится вся конфиденциальная информация).

Сценарий: вас принуждают разблокировать телефон (на границе, при задержании, под угрозой). Вы вводите duress-пароль. Внешне всё работает нормально, злоумышленник видит «обычный» телефон с минимумом данных. Но всё важное уже удалено.

Настройка: Settings → Security → Duress Password (доступно при использовании нескольких профилей).

---

### Приватность как философия GrapheneOS

Все эти механизмы объединяет общий принцип: **вы должны контролировать свои данные, а не приложения и не корпорации**.

В обычных ОС приватность — это компромисс: или удобство, или защита. Хочешь приватность — откажись от функций, не ставь приложения, живи в изоляции.

GrapheneOS переворачивает это: приватность — **по умолчанию**, без потери функциональности. Приложения работают, сервисы доступны, но вы решаете, что разрешить, а что — нет. И делаете это детально: не «весь хранилище», а «этот файл»; не «все контакты», а «этот человек»; не «интернет всегда», а «сеть только когда использую».

Это не паранойя — это **базовое уважение к вашим правам**. Ваш телефон, ваши данные, ваши правила.

---

Мы разобрали, как GrapheneOS защищает вашу приватность через детальный контроль разрешений и архитектуру «минимально необходимого доступа». Но остаётся один большой вопрос: а что делать с **Google Play Services** — сердцем экосистемы Android, от которого зависят тысячи приложений?

Большинство альтернативных прошивок либо полностью исключают Google (жертвуя совместимостью), либо вшивают заменители с системными привилегиями (создавая дыры в безопасности). GrapheneOS нашёл третий путь — и это одно из самых элегантных решений в мире мобильной безопасности.

5. «Песочница» для Google Play вместо вшитых сервисов

Это, пожалуй, самая гениальная и неочевидная фишка GrapheneOS — решение, которое одновременно сохраняет **совместимость** с экосистемой Android и **не жертвует безопасностью**.

### Проблема Google Play Services

**Google Play Services** — это не просто «магазин приложений». Это массивный набор системных сервисов, которые:

* работают постоянно в фоне;
* имеют системные привилегии (доступ к ядру, возможность обходить некоторые ограничения);
* видят всё, что происходит на устройстве;
* регулярно отправляют данные на серверы Google.

От Play Services зависят тысячи приложений:

* **Push-уведомления** — большинство приложений используют Firebase Cloud Messaging (FCM), который работает через Play Services. Без него уведомления не приходят.
* **In-app покупки** — Google Play Billing API для платежей внутри приложений.
* **Карты и геолокация** — Google Maps API, используемый в такси, доставке еды, навигаторах.
* **Авторизация** — «Войти через Google», используемая во множестве сервисов.
* **Android Auto** — для подключения телефона к автомобильной системе.
* **SafetyNet / Play Integrity API** — проверка целостности устройства, которую требуют банковские приложения, платёжные системы (Google Pay, банковские приложения), некоторые игры.

**Дилемма:**

* **Оставить Play Services** — значит дать Google системные привилегии, постоянный доступ ко всем данным, возможность обходить защиты. Это огромная дыра в безопасности и полное отсутствие приватности.
* **Убрать Play Services** — значит потерять совместимость с тысячами приложений. Не работают банки, такси, доставка еды, многие мессенджеры лишаются уведомлений.

### Как другие прошивки решают эту проблему (и почему плохо)

**LineageOS, /e/OS и подобные** по умолчанию идут без Play Services — получается «чистый» Android, но множество приложений не работают.

**microG** — открытая альтернатива Play Services, которая пытается эмулировать API Google. Устанавливается **с системными привилегиями**, как и оригинальный Play Services.

**Проблемы microG:**

* **Всё равно имеет системные привилегии** — а значит, уязвимость в microG = полная компрометация системы. Код microG намного меньше и проще, чем у Google Play Services, но он всё равно большой, сложный, и в нём есть баги.
* **Неполная совместимость** — многие функции работают через пень-колоду или не работают вообще. Push-уведомления приходят с задержками или не приходят. In-app покупки работают криво. SafetyNet обходится костылями, которые Google регулярно ломает обновлениями.
* **Увеличение поверхности атаки** — вместо одного потенциально опасного компонента (Play Services) вы получаете другой, который тоже системный и тоже может быть взломан.
* **Зависимость от одного проекта** — microG поддерживается небольшой командой энтузиастов. Если Google изменит API или усилит проверки — microG сломается, и придётся ждать обновления.

**Вшивание оригинального Play Services в прошивку (некоторые коммерческие ROM)** — худший вариант: вы получаете и проблемы безопасности, и привязку к Google, и никакого контроля.

### Решение GrapheneOS: Sandboxed Google Play

GrapheneOS пошёл радикально другим путём: **не заменять Play Services, а изолировать оригинальный в обычную пользовательскую песочницу**.

#### Что такое Sandboxed Google Play?

Это **оригинальные** Google Play Services и Google Play Store, но установленные как **обычные пользовательские приложения**, без каких-либо системных привилегий.

**Ключевое отличие от обычного Android:**

* В стандартном Android Play Services — **системное приложение** с root-доступом, встроенное в прошивку. Вы не можете его удалить, отключить или ограничить.
* В GrapheneOS Play Services — **обычное приложение**, которое вы устанавливаете из репозитория GrapheneOS (или не устанавливаете, если не нужно). Оно работает в обычной пользовательской песочнице, как Telegram, калькулятор или любое другое приложение.

**Что это даёт:**

* **Нет системных привилегий** — Play Services видят только то, что вы явно разрешили через стандартные Android-разрешения (геолокация, камера, микрофон и т. д.). Они не могут обходить ограничения, не могут копаться в системе, не могут видеть данные других приложений.
* **Вы контролируете доступ** — можете запретить Play Services сеть (тогда они вообще не смогут отправлять данные), ограничить геолокацию, датчики, контакты — всё, как для обычного приложения.
* **Можете удалить** — в любой момент. Просто деинсталлировать, как любое приложение. Система продолжит работать.
* **Полная совместимость** — поскольку это оригинальный Play Services от Google, а не эмуляция, всё работает так, как задумано: push-уведомления приходят мгновенно, in-app покупки работают, банковские приложения не жалуются на «недостоверное устройство», Android Auto функционирует.

#### Как это технически возможно?

В обычном Android приложения зависят от Play Services, которые должны быть системными. GrapheneOS проделал огромную работу по модификации AOSP, чтобы **сделать Play Services опциональными и работающими без привилегий**.

**Технические изменения:**

* **Compatibility layer (слой совместимости)** — GrapheneOS эмулирует для Play Services окружение, в котором они «думают», что имеют системные привилегии, но на самом деле все их запросы проходят через стандартную систему разрешений.
* **Hooking и проксирование API** — когда Play Services пытаются вызвать системный API, GrapheneOS перехватывает вызов и проверяет разрешения. Если разрешения нет — вызов блокируется.
* **Изоляция FCM (Firebase Cloud Messaging)** — push-уведомления работают, но трафик и данные изолированы. Play Services не могут использовать FCM для сбора данных о других приложениях.
* **Signature spoofing (подстановка подписи) для Play Services** — микроскопическое исключение, которое позволяет Play Services «притвориься» системным компонентом для совместимости с приложениями, но без реальных системных прав. Это единственное место в GrapheneOS, где используется техника, похожая на microG, но применяется точечно и только для Play Services, а не системно.

**Результат:** приложения видят «нормальный» Play Services, работают с ним как обычно, но на уровне системы Play Services — обычное приложение в песочнице.

#### Установка Sandboxed Google Play

По умолчанию GrapheneOS **не содержит** Play Services. Это чистая система, Google там нет вообще.

Если вам нужна совместимость с приложениями, зависящими от Google:

* Откройте **приложение Apps** (магазин приложений GrapheneOS).
* Найдите **Google Play Services** и **Google Play Store**.
* Установите одним тапом.
* После установки они появляются как обычные приложения. Можете открыть, залогиниться в Google-аккаунт (если нужно), настроить разрешения.

Установка занимает 30 секунд. Никаких танцев с бубном, root-доступа, перепрошивки — просто установка приложения.

#### Настройка разрешений для Play Services

После установки Play Services — это обычное приложение, и вы управляете им через стандартное меню разрешений.

**Что можно настроить:**

* **Network permission** — запретить Play Services доступ к сети вообще (тогда они не смогут отправлять телеметрию, но и push-уведомления не будут работать) или разрешить только для конкретных задач.
* **Location** — дать доступ к геолокации только «при использовании» или запретить вообще. Play Services будут работать, но не смогут трекить ваше местоположение в фоне.
* **Sensors** — запретить доступ к акселерометру, гироскопу и другим датчикам.
* **Storage Scopes** — включить, чтобы Play Services не видели все ваши файлы.
* **Contact Scopes** — ограничить доступ к контактам.

**Практический подход:** многие пользователи дают Play Services только Network и разрешение на уведомления — этого достаточно для работы push-сообщений и большинства приложений. Геолокация, контакты, датчики — запрещены. Play Services работают, но не могут шпионить.

#### Работа push-уведомлений и других функций

Самый частый вопрос: «Если Play Services в песочнице без привилегий, как работают уведомления?»

**Ответ:** GrapheneOS модифицировал систему так, что **FCM (Firebase Cloud Messaging) работает без системных привилегий**.

**Как это устроено:**

* Play Services устанавливают постоянное соединение с серверами Google для получения push-сообщений (это стандартное поведение FCM).
* Когда приходит уведомление для конкретного приложения, Play Services передают его этому приложению через стандартный IPC (межпроцессное взаимодействие).
* Система контролирует этот обмен — Play Services не могут «подслушивать» уведомления других приложений или инжектить свои данные.

**Результат:** push-уведомления работают так же быстро и надёжно, как на обычном Android. Но Play Services не могут использовать это для сбора данных о том, какие приложения вы используете и что в них делаете.

**In-app покупки** работают аналогично — через стандартный API, но без привилегированного доступа.

**SafetyNet / Play Integrity API:**

Это сложный момент. Банковские приложения и некоторые игры используют эти API для проверки, что устройство «не рутовано» и «доверенное».

В GrapheneOS:

* Загрузчик **заблокирован** (locked bootloader) — это критично для прохождения проверок.
* Verified Boot работает и подтверждает подлинность системы.
* **Аппаратная аттестация** через TEE (Trusted Execution Environment) показывает, что устройство оригинальное, не модифицировано и не рутовано.

**Большинство банковских приложений работают без проблем.** Некоторые особо параноидальные приложения (например, определённые банки или игры с античитом) могут отказываться работать на «кастомных прошивках» — но это редкость, и GrapheneOS активно работает над улучшением совместимости.

**Google Pay** не работает — Google явно блокирует его на устройствах с кастомными прошивками, даже если все проверки безопасности проходят. Это политическое решение Google, а не техническое ограничение. Альтернатива — банковские приложения с NFC-платежами (многие банки имеют свои решения).

#### Тумблеры совместимости

GrapheneOS предоставляет детальные настройки совместимости для Sandboxed Play Services:

**Android Auto:**

По умолчанию Android Auto (подключение телефона к автомобильной системе) **отключён**, потому что требует дополнительных привилегий.

Если вам нужен Android Auto:

* Settings → Apps → Google Play Services → Android Auto compatibility → Enable.
* Система даст Play Services минимально необходимые дополнительные разрешения для работы с автомобилем.
* После использования можно снова отключить.

**Расширенная совместимость (Extended compatibility):**

Некоторые приложения используют нестандартные или устаревшие API Play Services. Для них можно включить режим расширенной совместимости, который эмулирует дополнительные системные интерфейсы.

Это увеличивает поверхность атаки (больше кода = больше потенциальных уязвимостей), поэтому включается опционально и только для тех приложений, которым действительно нужно.

**Как это работает:**

* Settings → Apps → Google Play Services → Compatibility options.
* Видите список опций: Android Auto, Extended compatibility mode, Legacy API support и другие.
* Включаете только то, что нужно для ваших конкретных приложений.

Каждая опция сопровождается кратким описанием: что она делает, какие приложения могут её требовать, какие риски добавляет.

**Философия:** давать минимально необходимые привилегии. Если вам не нужен Android Auto — зачем давать Play Services эти дополнительные возможности? Включили, воспользовались, выключили.

#### Установка в отдельный профиль

Ещё более радикальный подход: установить Play Services **в отдельный пользовательский профиль** (о профилях подробно в следующем разделе).

**Сценарий:**

* Основной профиль — полностью «чистый», без Google. Здесь ваши личные данные, мессенджеры, заметки, фото.
* Второй профиль («Работа» или «Google-приложения») — с установленными Play Services. Здесь приложения, которые без Google не работают: банк, такси, доставка, рабочий софт.

**Что это даёт:**

* **Play Services вообще не видят вашу личную активность** — они работают в изолированном профиле, у них нет доступа к приложениям и данным основного профиля.
* **Можете полностью «выключить» Google** — завершить сессию второго профиля, и все процессы Play Services остановятся. Работаете в основном профиле без Google, когда нужно приложение с зависимостью от Play Services — переключаетесь во второй профиль.
* **Максимальная изоляция** — даже если в Play Services найдётся уязвимость и кто-то её эксплуатирует, атакующий окажется запертым в отдельном профиле, без доступа к вашим реальным данным.

Это самый параноидальный, но и самый безопасный подход. Удобство немного страдает (нужно переключаться между профилями), зато приватность железобетонная.

---

### Почему Sandboxed Play Services надёжнее альтернатив

Давайте сравним все доступные варианты:

#### Вариант 1: Обычный Android с вшитым Play Services

**Плюсы:**
* всё работает из коробки;
* максимальная совместимость.

**Минусы:**
* Play Services имеют системные привилегии — полный доступ к устройству;
* постоянная отправка телеметрии на серверы Google;
* невозможно ограничить, отключить или удалить;
* огромная поверхность атаки — Play Services содержат миллионы строк кода, регулярно находятся уязвимости;
* Google знает о вас всё: где вы, что делаете, какие приложения используете.

#### Вариант 2: Прошивка без Google (чистый AOSP, LineageOS без добавок)

**Плюсы:**
* нет слежки со стороны Google;
* меньше системного кода = меньше поверхность атаки.

**Минусы:**
* огромное количество приложений не работает: нет push-уведомлений, нет банков, нет такси, нет многих мессенджеров в полной функциональности;
* для обычного пользователя практически неприменимо.

#### Вариант 3: microG как системный компонент

**Плюсы:**
* открытый код;
* не отправляет данные Google (или отправляет минимум);
* частичная совместимость с приложениями.

**Минусы:**
* **всё ещё системный компонент** с привилегиями — уязвимость в microG = взлом системы;
* неполная совместимость — многие функции работают плохо или не работают вообще (push-уведомления с задержками, SafetyNet обходится костылями, банки часто отказываются работать);
* зависимость от небольшой команды разработчиков — если Google меняет API, нужно ждать обновления microG;
* увеличение кодовой базы системы (больше кода с привилегиями = больше рисков).

#### Вариант 4: Sandboxed Google Play в GrapheneOS

**Плюсы:**
* **нет системных привилегий** — Play Services в обычной пользовательской песочнице;
* полная совместимость — оригинальный Play Services, всё работает как задумано Google (push, покупки, API);
* детальный контроль через стандартные разрешения — вы решаете, что Play Services может, а что нет;
* можно удалить в любой момент;
* можно изолировать в отдельный профиль для максимальной защиты;
* не увеличивает поверхность атаки базовой системы — Play Services работают в userspace, взлом Play Services не даёт доступа к системе;
* опциональность — можно вообще не ставить, если не нужно.

**Минусы:**
* если вы устанавливаете Play Services — вы всё равно используете проприетарный код Google (но хотя бы в песочнице и под контролем);
* некоторые особо параноидальные функции Google (например, Google Pay) не работают по политическим причинам;
* нужно осознанно настраивать разрешения (хотя это скорее плюс — вы контролируете систему, а не она вас).

**Вывод:** Sandboxed Play Services — это компромисс между **безопасностью** (нет системных привилегий, всё под контролем), **приватностью** (можете ограничить доступ к данным) и **практичностью** (всё работает без костылей).

---

### Философия решения: не заменять, а изолировать

GrapheneOS не пытается «обмануть» Google, создав недо-аналог Play Services. Он использует **оригинальный код Google**, но лишает его привилегий.

Это честный подход:

* **Совместимость** — если Google меняет API, Play Services обновляются (из официального источника Google через зеркало в репозитории GrapheneOS), и всё продолжает работать.
* **Безопасность** — даже уязвимость в Play Services не даёт атакующему системный доступ. Максимум — взлом процесса Play Services, который находится в песочнице.
* **Приватность** — вы контролируете, какие данные Play Services могут видеть и отправлять.

**Главное отличие от microG:** microG пытается **заменить** Play Services своей реализацией, получая те же привилегии. GrapheneOS **изолирует** оригинальный Play Services, лишая привилегий.

Результат: лучшая совместимость, меньше рисков, больше контроля.

---

### Практические сценарии использования

**Сценарий 1: Максималист приватности.**

Вы не хотите иметь ничего общего с Google.

* Не устанавливаете Play Services вообще.
* Используете приложения из F-Droid (открытый репозиторий FOSS-приложений) и Aurora Store (клиент для установки приложений из Google Play без аккаунта).
* Для приложений, требующих Google, ищете альтернативы: вместо Google Maps — OSM-навигаторы, вместо Gmail — другой почтовый клиент, вместо банковского приложения — веб-версия банка.

GrapheneOS полностью поддерживает этот сценарий. Play Services не встроены, их установка опциональна.

**Сценарий 2: Прагматик.**

Вы цените приватность, но нуждаетесь в некоторых приложениях, которые без Google не работают: банк, такси, доставка.

* Устанавливаете Sandboxed Play Services в основной профиль.
* Настраиваете разрешения: даёте Network (для push-уведомлений), запрещаете геолокацию, датчики, контакты.
* Устанавливаете нужные приложения через Play Store.
* Всё работает, уведомления приходят, но Play Services не могут трекать ваше местоположение или собирать данные датчиков.

**Сценарий 3: Параноик (в хорошем смысле).**

Вы хотите максимально изолировать Google от своей личной жизни.

* Основной профиль — без Google. Здесь ваши личные данные, мессенджеры, фото, заметки.
* Второй профиль («Google Apps») — с установленными Play Services. Здесь банк, такси, рабочие приложения.
* Работаете в основном профиле. Когда нужно вызвать такси — переключаетесь во второй профиль, заказываете, возвращаетесь в основной.
* Завершаете сессию второго профиля, когда он не нужен — все процессы Play Services останавливаются, Google вас не видит.

**Сценарий 4: Семейное использование.**

Ваш профиль — без Google, для приватности. Профиль ребёнка — с Play Services, чтобы у него работали игры и образовательные приложения из Play Store. Профили изолированы, ребёнок не видит ваши данные, вы контролируете, что он может устанавливать (об этом в следующем разделе).

---

### Обновления Sandboxed Play Services

Play Services регулярно обновляются Google. В GrapheneOS обновления приходят через собственный репозиторий Apps:

* GrapheneOS **зеркалирует** официальные APK Play Services с серверов Google.
* Проверяет криптографические подписи — это гарантирует, что APK не модифицирован.
* Публикует в своём репозитории.
* Ваше устройство получает обновления автоматически (если включены авто-обновления) или по запросу.

**Зачем зеркало, а не прямая загрузка с серверов Google?**

* **Контроль версий** — GrapheneOS тестирует новые версии Play Services на совместимость с изменениями в системе. Если обновление что-то ломает — оно не попадает в репозиторий до исправления.
* **Приватность** — вы не обращаетесь напрямую к серверам Google при установке/обновлении. Запрос идёт к серверам GrapheneOS (которые не трекают пользователей).
* **Доступность** — зеркало защищает от ситуации, когда Google блокирует доступ к Play Services для определённых регионов или устройств.

Вы всё равно получаете **оригинальный, подписанный Google APK** — никакой модификации кода. Просто через более приватный и контролируемый канал.

---

### Итог: элегантное решение сложной проблемы

Sandboxed Google Play — это пример того, как GrapheneOS подходит к сложным компромиссам:

* **Не жертвует безопасностью ради совместимости** — Play Services не получают привилегий.
* **Не жертвует совместимостью ради идеологии** — используется оригинальный код Google, всё работает.
* **Даёт контроль пользователю** — вы решаете, устанавливать ли Play Services, какие разрешения давать, в каком профиле держать.

Это **практичная приватность**: не «живите в пещере без современных сервисов», а «используйте то, что нужно, но на своих условиях».

Для большинства пользователей Sandboxed Play Services — идеальный баланс между «полностью свободной системой» (которая несовместима с реальным миром) и «обычным Android» (который сливает все данные Google). Вы получаете функциональность первого и совместимость второго, теряя только тотальную слежку.

---

Мы разобрались, как GrapheneOS решает проблему Google Play Services — через изоляцию вместо замены или вшивания. Но это лишь один из инструментов для разделения данных и активностей. Ещё более мощный механизм — это **пользовательские профили**, которые в GrapheneOS работают совершенно не так, как в обычном Android.

---

## 6. Работа профилей и контроль приложений

В обычном Android есть функция «Пользователи» (Users/Profiles), но она ограничена, неудобна и мало кто ей пользуется. GrapheneOS превратил профили в **мощный инструмент разделения контекстов**, который решает массу реальных задач: от изоляции рабочих данных до родительского контроля и защиты от принуждения.

Профили в GrapheneOS — это не просто «разные наборы приложений». Это **полностью изолированные среды** с отдельными данными, настройками, разрешениями и уровнями доступа. При этом переключение между профилями занимает секунду, а система позволяет гибко управлять взаимодействием между ними.

Давайте разберём, что изменилось и как это использовать.

---

### Что такое профили и как они работают

**Профиль (user profile)** — это отдельное пользовательское пространство со своими:

* приложениями (один профиль не видит приложения другого);
* данными (файлы, фото, контакты, сообщения — всё изолировано);
* аккаунтами (можете войти в Google в одном профиле и не входить в другом);
* настройками (обои, рингтоны, настройки приложений);
* разрешениями (приложение может иметь доступ к камере в одном профиле и не иметь в другом).

**Изоляция на уровне ядра:** каждый профиль работает под отдельным Linux user ID. Это не «косметическое» разделение — это фундаментальная изоляция на уровне операционной системы, такая же, как между разными пользователями в настольной Linux-системе.

Приложение из одного профиля **физически не может** получить доступ к данным другого профиля — ядро просто не даст такого разрешения. Даже если в приложении есть уязвимость и оно взломано — атакующий застрянет внутри профиля жертвы.

---

### Расширенные возможности профилей в GrapheneOS

В стандартном Android профили есть, но их использование крайне ограничено:

* можно создать всего **один** дополнительный профиль (кроме основного владельца);
* переключение медленное и неудобное;
* нет гибких настроек взаимодействия между профилями;
* нельзя толком контролировать, что профиль может устанавливать или делать.

GrapheneOS убрал все эти ограничения и добавил мощные инструменты управления.

#### Больше профилей

В GrapheneOS можно создать **до 32 пользовательских профилей** (технически ограничение Android, но в обычных прошивках искусственно занижено).

**Зачем столько?**

* **Разные контексты жизни**: Личное, Работа, Семья, Хобби, Путешествия, Финансы — каждый в своём профиле.
* **Временные профили**: создали профиль для конкретной задачи (например, тестирование нового приложения), использовали, удалили вместе со всеми данными.
* **Профили для близких**: у каждого члена семьи свой профиль со своими данными и настройками, но все на одном устройстве.
* **«Жертвенные» профили**: профиль для использования в недоверенной среде (публичный Wi-Fi, подозрительная локация) — если что-то пойдёт не так, скомпрометирован только этот профиль, основные данные в безопасности.

#### Быстрое переключение между профилями

Переключение занимает **2–3 секунды** (зависит от мощности устройства). Открываете шторку уведомлений, тапаете на значок профиля, выбираете нужный — готово.

Интерфейс профиля полностью изолирован: свои приложения на рабочем столе, своя история уведомлений, свои открытые вкладки в браузере. Как будто взяли другой телефон.

#### Завершение сессии профиля

Это критически важная функция, которой нет в обычном Android.

**Проблема стандартного Android:** когда вы переключаетесь между профилями, все профили продолжают работать в фоне. Их приложения могут выполняться, получать уведомления, использовать сеть, обращаться к датчикам. Профиль «не активен» на экране, но активен в системе.

**Решение GrapheneOS: завершение сессии.**

Когда вы переключаетесь из профиля, можете выбрать **End session (завершить сессию)**:

* все процессы профиля останавливаются;
* приложения закрываются;
* оперативная память очищается;
* профиль полностью «замораживается» и не потребляет ресурсов.

При возвращении в профиль система «размораживает» его — приложения запускаются заново (как после перезагрузки устройства).

**Зачем это нужно:**

* **Экономия батареи** — неактивные профили не жрут ресурсы в фоне.
* **Безопасность** — если в профиле есть потенциально опасное приложение, оно не работает, пока профиль не активен.
* **Приватность** — профиль с Play Services завершён → Google не может трекать вас, пока вы работаете в основном профиле.
* **Производительность** — устройство «видит» только один активный профиль, система работает быстрее.

**Автоматическое завершение:** можно настроить автоматическое завершение сессии через N минут после переключения из профиля. Переключились в основной профиль — через 5 минут рабочий профиль автоматически завершается.

Settings → System → Multiple users → Auto-end sessions.

#### Запрет установки приложений

В обычном Android любой профиль может устанавливать любые приложения из любых источников (если не настроен родительский контроль, который работает криво).

В GrapheneOS администратор устройства (владелец, owner) может **запретить установку приложений** для конкретного профиля.

**Как это работает:**

* Создаёте профиль (например, для ребёнка или для рабочего сценария с ограничениями).
* Settings → System → Multiple users → выбираете профиль → **Restrict app installation**.
* Теперь этот профиль **не может устанавливать новые приложения** — ни из магазина, ни из APK-файлов, ни откуда.

**Что можно делать в таком профиле:**

* использовать приложения, которые были установлены администратором (через механизм «доступные для установки», о котором дальше);
* обновлять существующие приложения (если разрешено);
* удалять приложения (если не запрещено отдельно).

**Зачем это нужно:**

* **Детский профиль** — ребёнок не может установить всякую дрянь из интернета, игры с встроенными покупками или социалки без вашего ведома. Он работает только с тем, что вы дали.
* **Рабочий профиль** — для сценариев, когда устройство используется в организации. Сотрудник работает с корпоративными приложениями, но не может установить левый софт.
* **Минималистичный профиль** — создаёте профиль для фокусировки (чтение, работа), где только самое необходимое. Запрещаете установку → не будет соблазна «а дай-ка я Telegram посмотрю».

#### Доступные к установке приложения (Available for installation)

Это гениальная функция, которая решает проблему «Как дать профилю доступ к приложениям, но не давать свободу устанавливать всё подряд?»

**Как это работает:**

* Администратор (owner) устанавливает приложение в **своём** профиле.
* Заходит в настройки приложения и отмечает его как **Available for installation in other profiles** (доступно для установки в других профилях).
* Теперь это приложение появляется в специальном разделе других профилей: «Приложения, доступные для установки».
* Пользователь другого профиля может **установить это приложение одним тапом** — но только это конкретное приложение, одобренное администратором.

**На практике:**

Вы (владелец устройства) устанавливаете в своём профиле набор приложений: Telegram, браузер, калькулятор, камеру, игру для ребёнка.

Отмечаете их как «доступные для установки».

Создаёте профиль для ребёнка, запрещаете свободную установку приложений.

Ребёнок заходит в свой профиль, видит список доступных приложений (те, что вы одобрили), выбирает нужные и устанавливает. Но установить что-то извне он не может.

**Технически:** это не копирование APK. Система создаёт отдельный экземпляр приложения для нового профиля со своими данными и настройками. Приложения изолированы друг от друга — ребёнок не увидит ваших сообщений в Telegram, даже если использует то же приложение.

#### Пересылка уведомлений между профилями

Проблема многопрофильного использования: вы работаете в основном профиле, а важное уведомление пришло в рабочий профиль (который сейчас неактивен или завершён). Вы его не видите.

В обычном Android решения нет — либо держите все профили активными (тратя батарею и ресурсы), либо постоянно переключайтесь проверять.

**GrapheneOS: пересылка уведомлений.**

Можно настроить, чтобы уведомления из одного профиля **пересылались** в другой.

**Как это работает:**

* Settings → System → Multiple users → выбрать профиль → **Forward notifications to owner**.
* Теперь уведомления из этого профиля будут дублироваться в профиле владельца.
* Вы видите: «💼 Work profile: New message in Slack».
* Тапаете на уведомление — система автоматически переключается в рабочий профиль и открывает приложение.

**Контроль детализации:**

Можно настроить:

* пересылать все уведомления;
* пересылать только от конкретных приложений;
* скрывать содержимое уведомлений (приходит просто «У вас новое сообщение», без текста — для приватности).

**Важно:** уведомления пересылаются через изолированный канал. Приложения основного профиля **не получают доступ** к содержимому уведомлений из другого профиля — это чисто системная функция, данные остаются изолированными.

#### Контактное отслеживание между профилями (опционально)

Можно настроить, чтобы профили имели доступ к **контактам друг друга** (для звонков или поиска).

Например: ваши личные контакты в основном профиле, рабочие — в рабочем профиле. Вы можете разрешить им видеть контакты друг друга (только для отображения при входящем звонке), но данные остаются изолированными.

Это опционально и настраивается индивидуально.

---

### Практические сценарии использования профилей

**Сценарий 1: Разделение личного и рабочего.**

* **Основной профиль** — личные данные: мессенджеры с друзьями, фото, заметки, личная почта. Без Google Play Services для максимальной приватности.
* **Рабочий профиль** — корпоративная почта, Slack, рабочие документы, возможно, с Sandboxed Play Services (если нужно). Настроена пересылка уведомлений в основной профиль.

В течение дня работаете в основном профиле, видите уведомления от работы. Нужно ответить на Slack — переключились в рабочий профиль, ответили, вернулись.

Вечером завершаете сессию рабочего профиля — все рабочие приложения останавливаются, уведомления не приходят, вы отдыхаете без работы.

**Сценарий 2: Детский профиль с контролем.**

* Создаёте профиль для ребёнка.
* Запрещаете установку приложений.
* Делаете доступными для установки: образовательные приложения, несколько одобренных игр, детский браузер.
* Настраиваете разрешения жёстко: геолокация отключена, камера только для одного приложения, контакты недоступны.
* Ребёнок использует устройство, но в строго заданных рамках. Не может установить TikTok или игру с донатом без вашего ведома.

**Сценарий 3: «Чистый» профиль для банковских операций.**

* Основной профиль — повседневная жизнь, множество приложений.
* Отдельный профиль «Финансы» — только банковские приложения, ничего больше. С Sandboxed Play Services (для работы банков), но с минимальными разрешениями.

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

После операции завершили сессию — профиль «заморожен», банковские приложения не работают в фоне.

**Сценарий 4: Путешествие в страну с агрессивным пограничным контролем.**

* Основной профиль — вся ваша жизнь.
* Создаёте временный «туристический» профиль с минимумом данных: карты, переводчик, пара нейтральных мессенджеров с пустой историей.

На границе могут потребовать разблокировать устройство. Вы переключаетесь в туристический профиль, разблокируете. Офицер видит «обычный телефон туриста», ничего подозрительного. Ваши реальные данные в основном профиле, который защищён отдельным паролем и недоступен.

После поездки удаляете туристический профиль одной кнопкой — все данные стираются.

**Сценарий 5: Тест подозрительного приложения.**

Нужно установить приложение, которому вы не доверяете (например, какой-то новый сервис, требующий много разрешений, или APK из сомнительного источника).

* Создаёте временный профиль «Testing».
* Устанавливаете туда подозрительное приложение.
* Даёте минимум разрешений или вообще все запрещаете (чтобы посмотреть, как оно себя ведёт).
* Тестируете функциональность.

Если приложение оказалось вредоносным или просто неудачным — удаляете весь профиль. Все данные, которые приложение могло собрать, стираются. Ваш основной профиль не пострадал — приложение вообще не знало о его существовании.

**Сценарий 6: Профиль для социальных сетей.**

Многие хотят пользоваться соцсетями (Instagram, Facebook, Twitter/X), но не хотят давать им доступ к своим реальным данным.

* Создаёте профиль «Social».
* Устанавливаете туда приложения соцсетей с Sandboxed Play Services.
* Запрещаете доступ к геолокации, контактам, камере (пользуетесь только просмотром ленты).
* Не храните там личные фото или файлы — только интерфейс для соцсетей.

Соцсети не видят ваших реальных данных (они в другом профиле), не могут отслеживать, какие приложения вы используете, не имеют доступа к вашей реальной геолокации или контактам.

Завершаете сессию, когда не пользуетесь — соцсети не работают в фоне, не жгут батарею, не собирают данные.

---

### Управление профилями: технические детали

#### Создание профиля

Settings → System → Multiple users → Add user.

Выбираете тип:
* **Restricted profile** (ограниченный профиль) — для детей или строго контролируемого использования. Владелец может задать жёсткие рамки.
* **Standard profile** (обычный профиль) — полноценный независимый пользователь со своими настройками.

Задаёте имя профиля (для удобства: «Работа», «Семья», «Финансы» и т. д.).

Система создаёт новое пользовательское пространство — занимает несколько секунд.

#### Настройка профиля администратором

После создания владелец устройства (owner profile) может:

* **Запретить/разрешить установку приложений** — блокировка возможности ставить новый софт.
* **Сделать приложения доступными для установки** — подготовить «белый список» приложений, которые профиль может установить.
* **Настроить пересылку уведомлений** — будут ли уведомления из этого профиля приходить в основной.
* **Задать автоматическое завершение сессии** — через сколько минут после переключения профиль «замораживается».
* **Настроить доступ к контактам** (если нужно) — разрешить профилю видеть контакты из других профилей (только для отображения имён при звонках).

Settings → System → Multiple users → [выбрать профиль] → Profile settings.

#### Переключение между профилями

Открываете шторку уведомлений (свайп вниз с верхнего края экрана) → тапаете на иконку пользователя (обычно в правом верхнем углу) → видите список профилей → выбираете нужный.

Система переключается за 2-3 секунды. Интерфейс полностью меняется: другие приложения на рабочем столе, другая история уведомлений, другие обои (если настроены).

При переключении можно выбрать:
* **Stay active (оставить активным)** — текущий профиль продолжает работать в фоне.
* **End session (завершить сессию)** — все процессы текущего профиля останавливаются.

Если включено автоматическое завершение, профиль сам завершится через заданное время.

#### Удаление профиля

Settings → System → Multiple users → [выбрать профиль] → Remove user.

Система предупреждает: «Все данные этого профиля будут удалены» (приложения, файлы, настройки, аккаунты — всё).

Подтверждаете — профиль вместе со всем содержимым стирается. Это полное криптографическое стирание — данные невозможно восстановить.

Удобно для временных профилей или когда хотите «обнулить» что-то конкретное, не затрагивая остальную систему.

---

### Изоляция данных между профилями (техническая сторона)

Профили изолированы на уровне **Linux user ID** и **SELinux-политик**. Это не просто «разные папки» — это разные пользователи операционной системы с разными правами.

**Что это значит:**

* **Файловая система.** Данные каждого профиля хранятся в отдельных зашифрованных разделах. Ядро не даст процессу одного профиля прочитать файлы другого — даже если в процессе есть уязвимость. Попытка доступа вернёт ошибку «Permission denied» на уровне ядра.

* **Межпроцессное взаимодействие (IPC).** Приложение из одного профиля не может отправить намерение (Intent) или вызвать сервис приложения из другого профиля. SELinux блокирует такой IPC на уровне политики.

* **Общие ресурсы.** Приложения разных профилей не могут видеть друг друга через системные API (например, список запущенных процессов, установленных приложений). Для каждого профиля «мир» состоит только из его собственных приложений.

* **Сеть.** Сетевой трафик профилей технически проходит через один физический интерфейс, но firewall и routing tables могут быть настроены индивидуально (хотя в GrapheneOS это пока не реализовано на уровне UI — все профили используют общие сетевые настройки).

* **Уведомления.** Пересылка уведомлений между профилями работает через **защищённый системный канал**, контролируемый ОС. Приложения не получают доступ к уведомлениям других профилей — система просто «передаёт» уведомление из одной изолированной среды в другую, не открывая доступа к данным.

**Результат:** взлом приложения в одном профиле не даёт атакующему ничего за пределами этого профиля. Даже если злоумышленник получил root-доступ в рамках профиля (что уже крайне сложно из-за всех защит GrapheneOS) — root внутри профиля **не равен** root в системе. Ядро и SELinux не позволят влезть в другие профили или системные компоненты.

---

### Преимущества профилей GrapheneOS перед стандартным Android

| **Функция** | **Обычный Android** | **GrapheneOS** |
|-------------|---------------------|----------------|
| Количество профилей | 1 дополнительный (на большинстве устройств) | До 32 |
| Скорость переключения | Медленная (5-10 сек) | Быстрая (2-3 сек) |
| Завершение сессии профиля | Нет (профили работают в фоне) | Да, с автоматизацией |
| Запрет установки приложений | Только через сложные настройки родительского контроля | Простой тумблер для каждого профиля |
| Передача приложений между профилями | Нет | Да («доступно для установки») |
| Пересылка уведомлений | Нет | Да, с контролем детализации |
| Удобство управления | Запрятано в настройках, неочевидно | Быстрый доступ через шторку, UI продуман |
| Автоматизация | Минимальная | Гибкие настройки для каждого профиля |

---

### Профили vs песочницы приложений: в чём разница?

Иногда спрашивают: «Зачем профили, если есть песочницы для каждого приложения?»

**Песочницы (sandboxes)** изолируют приложения друг от друга **внутри одного профиля**. Приложение A не видит данных приложения B — но оба живут в одном пользовательском пространстве, имеют доступ к общим ресурсам (контактам пользователя, если разрешено; файлам с разрешением; сетевым настройкам).

**Профили** изолируют **целые наборы приложений** с их данными, аккаунтами, настройками. Это изоляция на уровень выше:

* В одном профиле у вас может быть аккаунт Google, в другом — нет.
* В одном профиле разрешена сеть для всех приложений, в другом — заблокирована для подозрительных.
* Один профиль вы завершаете вечером (вся работа останавливается), другой продолжает работать.

**Аналогия:** песочницы — это отдельные комнаты в квартире. Профили — это отдельные квартиры. Жильцы одной квартиры (приложения профиля) могут взаимодействовать между собой (через общие данные пользователя), но не имеют доступа к другим квартирам (профилям).

---

### Ограничения и нюансы

**Телефонные звонки и SMS.**

Радиомодули (сотовая связь, звонки, SMS) доступны всем профилям одновременно — они используют общий модем. Входящий звонок придёт в активный профиль.

Можно настроить, чтобы при звонке от контакта из другого профиля система показывала имя контакта (если разрешено «контактное отслеживание» между профилями).

**Совместное использование некоторых системных настроек.**

Настройки Wi-Fi, Bluetooth, VPN, обоев экрана блокировки — общие для всех профилей (так задумано в Android на уровне архитектуры). Но настройки безопасности (разрешения приложений, пароли профилей) изолированы.

**Размер хранилища.**

Каждый профиль создаёт свой зашифрованный раздел. Если у вас 10 профилей с сотнями приложений в каждом — место на накопителе будет занято. Следите за свободным пространством.

Удаление профиля освобождает место мгновенно — данные криптографически стираются, раздел удаляется.

**Первоначальная настройка каждого профиля.**

При создании нового профиля вам нужно заново пройти первоначальную настройку (выбор языка, часового пояса, и т. д.). Это занимает минуту, но для некоторых может быть неудобством.

Зато это гарантирует, что профиль действительно независим — у него нет «наследственных» настроек из основного профиля.

---

### Итог: профили как инструмент контроля жизненных контекстов

Профили в GrapheneOS — это не «фича для гиков». Это **практичный инструмент разделения контекстов**, который решает реальные задачи:

* хотите работать без отвлечений — завершите сессию личного профиля;
* нужно обезопасить ребёнка — дайте ему профиль с контролируемым набором приложений;
* боитесь слежки через Google — изолируйте Play Services в отдельный профиль и завершайте его, когда не нужен;
* путешествуете в опасное место — создайте «чистый» профиль для показа на границе;
* тестируете новое приложение — временный профиль, который потом удалите за секунду.

Это гибкость, которую не даёт ни один другой смартфон или операционная система. Вы буквально носите с собой несколько устройств в одном корпусе — и переключаетесь между ними мгновенно, сохраняя полную изоляцию данных.

В сочетании с остальными механизмами GrapheneOS (песочницы приложений, Sandboxed Play Services, детальный контроль разрешений) профили превращают устройство в **полностью подконтрольную вам систему**, где каждый аспект работы настраивается под ваши нужды и угрозы.

---

Мы разобрали устройство профилей и их возможности. Теперь перейдём к ещё более детальному уровню контроля — управлению сетевым трафиком и правами отдельных приложений, которое позволяет запретить или разрешить почти любое действие на уровне отдельных процессов.

## 7. Коммуникации, браузер и VPN

Мы разобрали, как GrapheneOS защищает систему и данные на уровне ядра, приложений и профилей. Но большая часть современной цифровой жизни происходит в двух местах: **в браузере** (веб-сайты, веб-приложения, онлайн-сервисы) и **через сеть** (обмен данными с серверами, VPN для защиты трафика).

Оба этих компонента — критические точки атаки и утечки данных. Браузер выполняет код с непроверенных сайтов, обрабатывает потенциально вредоносный контент, имеет доступ к вашим паролям и cookie. VPN должен защищать весь трафик, но неправильно настроенный или реализованный VPN может **сливать данные** мимо защищённого канала — и вы об этом даже не узнаете.

GrapheneOS подошёл к обоим аспектам с той же серьёзностью, что и к остальной системе.

---

### Vanadium: усиленный браузер и WebView

**Vanadium** — это браузер по умолчанию в GrapheneOS и одновременно системный компонент **WebView** (движок для отображения веб-содержимого внутри приложений).

#### Что такое WebView и почему это важно

**WebView** — это не просто «встроенный браузер». Это компонент, который позволяет любому приложению показывать веб-страницы внутри своего интерфейса. Когда вы видите веб-контент в приложении (новость в агрегаторе, страницу входа через OAuth, рекламный баннер, встроенную карту) — это работает WebView.

**Проблема:** WebView запускает произвольный код (JavaScript с веб-страниц) в контексте приложения. Уязвимость в WebView = уязвимость в тысячах приложений, которые его используют. Исторически WebView был источником огромного количества эксплойтов.

В обычном Android используется **Chrome WebView** от Google — проприетарный компонент, который:

* содержит миллионы строк кода;
* интегрирован с Google-сервисами (синхронизация, аналитика);
* имеет привилегированный доступ к некоторым системным функциям;
* обновляется через Play Store (привязка к экосистеме Google).

#### Что такое Vanadium

Vanadium — это **форк Chromium** (открытой основы браузера Chrome), модифицированный GrapheneOS для максимальной безопасности и приватности.

**Ключевые отличия от обычного Chrome/Chromium:**

* **Удалены все компоненты Google** — нет синхронизации с аккаунтом Google, нет интеграции с Play Services, нет отправки телеметрии на серверы Google.
* **Усилена песочница** — процессы рендеринга работают с ещё более жёсткими ограничениями (меньше системных вызовов через seccomp, строже SELinux-политики).
* **Улучшена изоляция сайтов** — каждый сайт работает в своём изолированном процессе (Site Isolation), и утечка данных между сайтами практически невозможна.
* **Защита от эксплойтов памяти** — используется hardened malloc (тот же, что и в системе), активированы все возможные защиты компилятора (CFI, Shadow Call Stack и другие).
* **Memory Tagging Extension (MTE)** — на Pixel 8/9 Vanadium использует аппаратную защиту памяти, что делает эксплуатацию уязвимостей в движке браузера крайне сложной.
* **Более строгие политики безопасности контента** — по умолчанию блокируются опасные API (например, доступ к старым криптографическим функциям, небезопасные расширения HTML5).

#### JIT-компиляция под контролем

Мы уже упоминали, что GrapheneOS запрещает динамическую загрузку кода. Но JavaScript в браузере требует **JIT-компиляции** (Just-In-Time compilation) — преобразования JavaScript в машинный код «на лету» для нормальной производительности.

JIT — это потенциальный вектор атаки: злоумышленник может попытаться «обмануть» JIT-компилятор, заставив его сгенерировать вредоносный машинный код.

**Защиты JIT в Vanadium:**

* **JIT работает в отдельном, максимально изолированном процессе** с минимальными правами. Даже если атакующий скомпрометирует JIT — он окажется в процессе, который не может ничего, кроме компиляции JavaScript.
* **JIT-память защищена аппаратно** — используется разделение исполняемой и записываемой памяти (W^X, Write XOR Execute): память либо записываемая, либо исполняемая, но не одновременно. Это блокирует классические атаки через запись вредоносного кода в исполняемую область.
* **Регулярные проверки целостности** JIT-кода — если система обнаруживает аномалии, процесс убивается.

На практике это означает: да, JavaScript работает быстро (благодаря JIT), но безопасность не страдает.

#### Изоляция сайтов (Site Isolation)

**Site Isolation** — технология, когда каждый веб-сайт (точнее, каждый домен) работает в отдельном процессе операционной системы.

**Зачем это нужно:**

Представьте, что вы открыли в браузере две вкладки:

* `bank.com` — интернет-банк, где вы залогинены.
* `evil.com` — зловредный сайт, который пытается атаковать ваш браузер.

Если оба сайта работают в одном процессе (как было в старых браузерах), уязвимость в движке браузера может позволить `evil.com` прочитать память процесса и «подсмотреть» данные `bank.com` (cookie, токены сессии, содержимое страницы).

**С Site Isolation:**

* `bank.com` работает в процессе A.
* `evil.com` работает в процессе B.
* Процессы изолированы на уровне ядра — один не может получить доступ к памяти другого.
* Даже если `evil.com` эксплуатирует уязвимость, он остаётся запертым в своём процессе и не может добраться до данных банка.

В обычном Chrome Site Isolation есть, но работает выборочно (для «важных» сайтов). **В Vanadium Site Isolation принудительно включён для всех сайтов без исключений.**

Это увеличивает потребление памяти (каждый процесс требует ресурсов), но радикально повышает безопасность. На современных устройствах (тем более на Pixel) это незаметно.

#### Политики приватности

Vanadium максимально ограничивает возможности веб-сайтов вторгаться в вашу приватность:

* **Блокировка сторонних cookie по умолчанию** — сайты не могут отслеживать вас через cookie рекламных сетей и трекеров.
* **Ограничение доступа к API** — веб-сайты не могут читать список установленных шрифтов (используется для fingerprinting'а устройства), получать детальную информацию о железе, опрашивать датчики без явного разрешения.
* **Защита от fingerprinting (снятия цифровых отпечатков)** — Vanadium унифицирует некоторые данные о браузере (User-Agent, разрешение экрана, список поддерживаемых технологий), чтобы затруднить создание уникального отпечатка вашего устройства.
* **Автоматическое удаление данных при закрытии вкладки** (опционально) — можно настроить, чтобы cookie и данные сайта удалялись сразу после закрытия вкладки. Сайт не может отслеживать вас между сессиями.
* **Запрет доступа к буферу обмена** без взаимодействия пользователя — сайты не могут тайно читать, что вы скопировали (пароли, тексты).

#### Обновления безопасности

Vanadium обновляется **быстрее**, чем Chrome в обычном Android:

* GrapheneOS следит за апстримом Chromium (официальной открытой версией) и портирует патчи безопасности **в день их публикации**.
* Обновления Vanadium приходят через собственный репозиторий GrapheneOS, без привязки к Play Store.
* Если в Chromium нашли критическую уязвимость — GrapheneOS выпустит исправление для Vanadium в течение нескольких часов.

В обычном Android путь обновления длиннее: Google должен выпустить обновление Chrome → оно попадает в Play Store → загружается на устройства. Это может занимать дни или даже недели для пользователей, которые не обновляются регулярно.

#### Vanadium как системный WebView

Поскольку Vanadium — это не только браузер, но и системный WebView, все приложения, показывающие веб-контент, автоматически получают те же защиты:

* изоляцию процессов;
* защиту от эксплойтов памяти;
* ограничение доступа к приватным данным.

Это защищает от атак через вредоносную рекламу внутри приложений, поддельные страницы входа в OAuth, эксплойты через встроенные браузеры мессенджеров и соцсетей.

#### Практический результат

Vanadium — это один из самых безопасных мобильных браузеров. Он сочетает:

* **производительность** Chromium (быстрый движок, совместимость со всеми современными веб-стандартами);
* **безопасность** GrapheneOS (усиленная песочница, защита памяти, изоляция процессов);
* **приватность** без компромиссов (нет Google, нет телеметрии, минимум утечек данных).

Для большинства пользователей он полностью заменяет Chrome, Firefox или любой другой браузер — и делает это с более высоким уровнем защиты.

---

### Улучшенный блокатор VPN-утечек

**VPN (Virtual Private Network)** — это технология, которая шифрует весь сетевой трафик вашего устройства и направляет его через удалённый сервер. Это защищает от прослушивания интернет-провайдером, скрывает ваш реальный IP-адрес, позволяет обходить блокировки.

Но VPN полезен только если **весь трафик** действительно идёт через него. Если хотя бы часть данных «просачивается» мимо VPN (VPN leak, утечка VPN) — ваш реальный IP, DNS-запросы или даже полное содержимое трафика могут быть видны наблюдателю.

В обычном Android VPN-утечки — распространённая проблема.

#### Типичные причины VPN-утечек в Android

**1. DNS-утечки.**

Когда вы открываете сайт (например, `example.com`), ваше устройство должно преобразовать доменное имя в IP-адрес. Это делается через **DNS-запрос**.

**Проблема:** даже если VPN включён, Android может отправить DNS-запрос **напрямую к DNS-серверу вашего провайдера**, минуя VPN-туннель. Провайдер видит, какие сайты вы открываете — даже если сам трафик зашифрован.

**Причина:** Android имеет несколько параллельных механизмов разрешения доменов (system resolver, Private DNS, per-app DNS), и они могут конфликтовать. VPN-приложение блокирует трафик на сетевом уровне, но DNS-запрос может пройти через другой интерфейс.

**2. Утечки при переподключении VPN.**

Когда VPN-соединение обрывается (например, при переключении между Wi-Fi и мобильной сетью) и восстанавливается, есть короткий промежуток времени, когда VPN ещё не активен, а приложения уже пытаются отправить данные.

В обычном Android эти данные **уходят в открытую сеть** — без шифрования, с вашим реальным IP.

**3. Гонки в системном resolver (race conditions).**

Системный resolver (компонент, отвечающий за DNS) может параллельно обращаться к нескольким DNS-серверам: к серверу VPN и к серверу провайдера. Какой ответ вернётся быстрее — тот и используется.

Злоумышленник может специально ускорить ответ от DNS-сервера провайдера (например, находясь в той же локальной сети) — и ваш запрос «утечёт», даже если VPN работает.

**4. Утечки через IPv6.**

Многие VPN-сервисы поддерживают только IPv4, но ваша сеть может использовать IPv6. Android попытается установить соединение через IPv6 напрямую, минуя VPN.

**5. Split-tunneling (раздельное туннелирование).**

Некоторые приложения могут быть настроены так, чтобы **не идти через VPN** (например, локальные сервисы, потоковое видео). Если настройка некорректна, больше приложений, чем вы ожидаете, могут работать вне VPN.

#### Как GrapheneOS устраняет VPN-утечки

GrapheneOS внёс изменения в сетевой стек Android, чтобы **гарантировать отсутствие утечек** в любых сценариях.

**1. Принудительное блокирование трафика вне VPN

.**

Когда VPN активен, GrapheneOS устанавливает **жёсткое правило firewall на уровне ядра**: весь сетевой трафик блокируется, кроме того, что идёт через VPN-интерфейс.

Это не зависит от VPN-приложения — система сама контролирует, что ни один пакет не может выйти «мимо».

**Что происходит при обрыве VPN:**

* Соединение обрывается (потеря сети, переключение на другой интерфейс).
* GrapheneOS **немедленно блокирует весь трафик** — ни одно приложение не может отправить данные в открытую сеть.
* VPN-приложение восстанавливает соединение.
* Система снимает блокировку, трафик снова идёт через VPN.

**Результат:** нет окна «уязвимости», когда данные могут утечь. Либо VPN работает, либо вообще нет сетевого доступа — третьего не дано.

В обычном Android есть опция «Always-on VPN» (постоянный VPN) с блокировкой трафика, но она:

* работает не для всех приложений (некоторые могут обходить);
* имеет race conditions при переподключении;
* зависит от корректности реализации VPN-приложения.

GrapheneOS делает блокировку **системной**, независимой от VPN-клиента.

**2. Защита от DNS-утечек через системный resolver.**

GrapheneOS модифицировал системный компонент разрешения DNS так, чтобы он **всегда использовал только DNS-сервер VPN**, когда VPN активен.

**Техническая суть:**

* Обычный Android использует `netd` (network daemon) для управления DNS. `netd` может обращаться к нескольким DNS-серверам параллельно (к провайдеру, к серверу Private DNS, к VPN) и выбирать «лучший» ответ.
* GrapheneOS изменил логику `netd`: когда VPN активен, все DNS-запросы **принудительно маршрутизируются через VPN-интерфейс**. Обращений к DNS-серверу провайдера не происходит вообще.

**Защита от race conditions (гонок в resolver):**

В обычном Android возможна ситуация:

* Приложение запрашивает `example.com`.
* `netd` отправляет запрос и к VPN-DNS, и к провайдеру одновременно.
* Провайдер отвечает на 5 мс быстрее (например, потому что злоумышленник в локальной сети подделал ответ).
* Система использует ответ провайдера — DNS-запрос «утёк».

**В GrapheneOS:**

* `netd` отправляет запрос **только к VPN-DNS**.
* Даже если злоумышленник пытается inject (внедрить) поддельный ответ от имени провайдера — система его игнорирует, потому что не делала запроса к провайдеру.

**3. Блокировка IPv6, если VPN не поддерживает.**

Если VPN-соединение работает только по IPv4 (что типично для многих сервисов), GrapheneOS автоматически **отключает IPv6** на время работы VPN.

Это предотвращает сценарий, когда приложение пытается соединиться с сервером по IPv6, не находит маршрута через VPN и «сваливается» на прямое соединение.

Пользователь может переопределить это поведение (если VPN поддерживает IPv6), но по умолчанию система выбирает безопасный вариант.

**4. Контроль split-tunneling.**

GrapheneOS позволяет **точно контролировать**, какие приложения идут через VPN, а какие — нет. Это делается через систему разрешений (как и Network Permission).

**Интерфейс:**

Settings → Network & Internet → VPN → [выбрать VPN] → Split tunneling settings.

Видите список приложений. Для каждого:

* **Force through VPN** — принудительно через VPN, даже если VPN-приложение настроено иначе.
* **Allow direct** — разрешить прямое соединение (для локальных сервисов или приложений, которые не должны идти через VPN).
* **Block if VPN inactive** — заблокировать сетевой доступ приложения, если VPN не работает (дополнительная защита для критичных приложений).

Это не заменяет настройки VPN-приложения, но **дополняет системным контролем** — даже если VPN-клиент содержит баг или некорректно реализован, система не даст трафику утечь.

**5. Логирование и мониторинг утечек.**

GrapheneOS ведёт системный лог сетевых событий (опционально, можно включить в Developer Options). Вы можете увидеть:

* попытки приложений отправить данные вне VPN (заблокированные);
* DNS-запросы и куда они направлены;
* моменты разрыва и восстановления VPN-соединения.

Это позволяет убедиться, что VPN работает корректно, и обнаружить попытки обхода (если какое-то приложение пытается «пробить» защиту).

#### Тестирование отсутствия утечек

Существуют сервисы для проверки VPN на утечки (например, ipleak.net, dnsleaktest.com). Они показывают:

* ваш публичный IP-адрес (должен быть IP VPN-сервера, а не провайдера);
* DNS-серверы, к которым обращается устройство (должны быть только серверы VPN);
* наличие WebRTC-утечек (утечек реального IP через WebRTC в браузере).

**Результаты на GrapheneOS с правильно настроенным VPN:**

* Публичный IP — сервер VPN ✅
* DNS-запросы — только через VPN ✅
* WebRTC-утечки — отсутствуют (Vanadium блокирует WebRTC-запросы, раскрывающие локальные IP) ✅
* IPv6-утечки — отсутствуют (IPv6 отключён или идёт через VPN) ✅

В обычном Android нередко можно увидеть:

* Публичный IP — VPN ✅
* DNS — **утечка** (видны DNS-серверы провайдера) ❌
* WebRTC — **утечка** (виден реальный локальный IP) ❌

GrapheneOS закрывает все эти дыры.

#### Совместимость с VPN-приложениями

Все изменения GrapheneOS совместимы со стандартными VPN-приложениями для Android (WireGuard, OpenVPN, коммерческие VPN-клиенты типа ProtonVPN, Mullvad и другие).

VPN-приложение работает как обычно, но **система добавляет дополнительный уровень защиты** — даже если в приложении есть баг, утечки не произойдёт.

Некоторые VPN-приложения имеют собственные механизмы блокировки утечек. GrapheneOS **не конфликтует** с ними — системная защита работает параллельно, и если VPN-приложение что-то пропустило, система подстрахует.

---

### Практический результат: надёжная защита коммуникаций

Комбинация Vanadium и улучшенного блокировщика VPN-утечек даёт:

* **Безопасный веб-сёрфинг** — даже на потенциально опасных сайтах вы защищены многоуровневой изоляцией процессов, защитой памяти и контролем доступа к приватным данным.
* **Надёжный VPN** — когда VPN включён, вы можете быть уверены: ни один бит данных не уйдёт мимо зашифрованного туннеля. Ни через DNS, ни через race conditions, ни при обрыве соединения.
* **Приватность по умолчанию** — браузер не сливает данные трекерам, VPN не «дырявый», ваш реальный IP и активность скрыты от наблюдателей.

Это важно для:

* **Журналистов и активистов** — которым критично скрывать свою активность и местоположение.
* **Пользователей в странах с цензурой** — где VPN-утечка может раскрыть обход блокировок и привести к последствиям.
* **Людей, работающих с конфиденциальными данными** — когда утечка IP или DNS-запроса может скомпрометировать операцию.
* **Обычных пользователей, ценящих приватность** — которые просто не хотят, чтобы провайдер, рекламные сети или правительство знали, что они делают в интернете.

---

Мы разобрались, как GrapheneOS защищает ваши коммуникации — через усиленный браузер и надёжный контроль VPN-трафика. Но даже самая защищённая система бесполезна, если злоумышленник может **физически получить доступ к вашему устройству** и обойти экран блокировки.

Следующий раздел посвящён тому, как GrapheneOS защищает устройство от физических атак, принуждения и попыток подбора паролей — превращая ваш телефон в «крепость», устойчивую даже к атакам с прямым доступом.

---

## 8. Дополнительные функции безопасности устройства

Все механизмы безопасности, которые мы обсуждали до сих пор (изоляция процессов, шифрование, защита памяти, контроль разрешений), работают **после того, как устройство разблокировано**. Но что происходит, когда кто-то получает ваш телефон **в заблокированном состоянии**?

Сценарии могут быть разными:

* устройство украдено;
* конфисковано на границе или при задержании;
* кто-то из близких пытается подсмотреть ваши данные, пока вы отвлеклись;
* злоумышленник нашёл потерянный телефон и пытается его взломать.

Во всех этих случаях **экран блокировки** — последняя линия обороны. Если атакующий обойдёт блокировку — он получит доступ ко всему: сообщениям, фото, паролям, аккаунтам.

GrapheneOS превращает экран блокировки из «простой неприятности для вора» в **серьёзное криптографическое препятствие**, которое даже специализированные инструменты взлома вроде Cellebrite или GrayKey не могут легко преодолеть.

---

### Длина и типы паролей

В обычном Android можно выбрать метод блокировки:

* **Swipe (свайп)** — вообще без защиты, просто жест.
* **Pattern (графический ключ)** — линия через точки на сетке 3×3. Всего 389,112 возможных комбинаций — это **ничтожно мало**, можно перебрать за минуты.
* **PIN (цифровой код)** — от 4 до 16 цифр. Четырёхзначный PIN (10,000 комбинаций) взламывается почти мгновенно. Даже шестизначный (1,000,000 комбинаций) — дело часов для автоматических инструментов.
* **Password (пароль)** — алфавитно-цифровой пароль. Это единственный по-настоящему надёжный вариант, но Android не требует минимальной длины или сложности — можно поставить пароль «1», и система примет.

**Проблема обычного Android:** система не навязывает разумные требования к безопасности. Пользователь может выбрать слабую защиту, даже не осознавая рисков.

#### Рекомендации и ограничения в GrapheneOS

GrapheneOS не запрещает слабые пароли насильно (это было бы против философии «даём контроль пользователю»), но:

* **Предупреждает** о слабости выбранного метода.
* **Рекомендует** использовать пароль длиной минимум 14 символов с буквами, цифрами и специальными символами.
* **Показывает оценку стойкости** в реальном времени, когда вы вводите пароль: «Weak (слабый)», «Medium (средний)», «Strong (сильный)».

**Практический совет:**

Для максимальной защиты используйте **парольную фразу** (passphrase) — несколько случайных слов, разделённых символами. Например:

`Correct-Horse-Battery-Staple-7392`

Это легко запомнить (особенно если используете метод Diceware для генерации), но взломать практически невозможно. Даже при триллионах попыток в секунду (что на практике невозможно из-за ограничений, о которых дальше) взлом займёт столетия.

Если парольная фраза слишком долго вводится (телефон разблокируется десятки раз в день), можно использовать **комбинированный подход**:

* **Парольная фраза** для холодной загрузки (после включения/перезагрузки) — вводится редко, можно сделать длинной.
* **Короткий PIN или отпечаток пальца** для повседневной разблокировки — быстро и удобно (о безопасности отпечатков пальцев дальше).

GrapheneOS поддерживает это через настройку **двухфакторной разблокировки** (о которой подробнее ниже).

---

### PIN scrambling (перемешивание клавиатуры PIN)

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

**Угрозы при использовании PIN:**

* **Shoulder surfing** — злоумышленник подсматривает через плечо, когда вы вводите PIN. Видит паттерн движений ваших пальцев по экрану.
* **Smudge attack (атака по отпечаткам)** — после того, как вы разблокировали телефон, на экране остаются следы пальцев (жировые отпечатки). Под определённым углом освещения видно, какие области экрана вы касались чаще. Злоумышленник может сфотографировать экран, обработать изображение и восстановить, какие цифры вы нажимали.
* **Камеры наблюдения** — в общественных местах (банки, магазины, транспорт) камеры могут зафиксировать ваш экран под углом, достаточным для восстановления PIN.

**PIN scrambling решает все три проблемы:**

При каждой разблокировке цифры располагаются в **случайном порядке**. Сегодня «5» может быть в центре, завтра — в правом нижнем углу.

* **Shoulder surfing бесполезен** — наблюдатель видит только физические координаты (левый верхний угол, потом центр), но не знает, каким цифрам они соответствовали. В следующий раз эти же координаты будут означать совершенно другие цифры.
* **Smudge attack не работает** — да, отпечатки остаются, но они показывают только «часто используемые области экрана», а не конкретные цифры PIN. Через неделю использования весь экран будет покрыт отпечатками равномерно.
* **Камеры видят координаты, но не цифры** — даже если злоумышленник получил видеозапись, где виден экран вашего телефона, он не сможет восстановить PIN без знания, как были расположены цифры в конкретный момент.

**Недостаток:** разблокировка становится медленнее на 1-2 секунды — нужно посмотреть на клавиатуру и найти нужные цифры глазами, вместо ввода «на автомате».

Для большинства сценариев это приемлемо. Если вы в безопасной среде (дома) и хотите быструю разблокировку — можно отключить scrambling. Если выходите в публичные места или едете в зону риска — включаете обратно.

Settings → Security → PIN scrambling.

---

### Блокировка после неудачных попыток

Это один из важнейших механизмов защиты от **brute-force атак** (атак грубой силы) — когда злоумышленник просто перебирает возможные комбинации.

#### Как работает защита от перебора

После **каждой неверной попытки** ввода пароля/PIN система вводит **задержку** перед следующей попыткой:

* **1-5 попыток:** без задержки (чтобы вы случайно не заблокировали себя при опечатке).
* **6-10 попыток:** задержка 30 секунд между попытками.
* **11-15 попыток:** задержка 1 минута.
* **16-20 попыток:** задержка 5 минут.
* **21-25 попыток:** задержка 30 минут.
* **После 30 попыток:** задержка 24 часа между попытками.

**Это экспоненциально растущая защита.** Даже если злоумышленник знает, что ваш PIN четырёхзначный (10,000 комбинаций), для полного перебора ему потребуется **годы реального времени**, потому что после первых попыток система начинает тормозить.

**Важно:** задержки **не сбрасываются** перезагрузкой устройства. Счётчик неудачных попыток хранится в защищённой области памяти (TEE, Trusted Execution Environment), и перезагрузка не обнуляет его. Злоумышленник не может «обмануть» систему, выключив и включив телефон.

#### Автоматическая очистка после критического числа попыток

В GrapheneOS можно настроить **автоматическое стирание всех данных** после определённого количества неудачных попыток.

Settings → Security → Auto-wipe after failed attempts.

Можно выбрать порог: 10, 20, 30 или 50 попыток.

**Что происходит при достижении порога:**

* Система **криптографически стирает ключи шифрования**, хранящиеся в TEE.
* Все данные на устройстве становятся **необратимо недоступными** — даже если физически извлечь накопитель и попытаться прочитать данные напрямую, они зашифрованы ключами, которых больше не существует.
* Устройство сбрасывается к заводским настройкам.

**Это крайняя мера**, но для сценариев с высокими рисками (конфиденциальные данные, угроза конфискации устройства) это единственный гарантированный способ защиты.

**Практический совет:** если включаете auto-wipe, ставьте порог не слишком низким (например, 30 попыток), чтобы случайно не стереть устройство из-за детской шалости или собственной забывчивости. И обязательно делайте **регулярные резервные копии** важных данных (с шифрованием, разумеется).

---

### Автоматическая перезагрузка и очистка памяти

Мы уже упоминали режим **Before First Unlock (BFU)** — состояние максимальной защиты после перезагрузки, когда ключи шифрования ещё не загружены в память.

GrapheneOS добавляет **автоматическую перезагрузку** устройства при определённых условиях.

#### Auto-reboot при длительной неактивности

Можно настроить устройство так, чтобы оно автоматически перезагружалось, если **не разблокировалось** определённое время.

Settings → Security → Auto-reboot if idle for: 6 часов / 12 часов / 24 часа / 72 часа.

**Зачем это нужно:**

Представьте сценарии:

* Устройство украдено или конфисковано. Оно заблокировано, но находится в состоянии **After First Unlock (AFU)** — ключи шифрования загружены в память. Теоретически, сложные инструменты форензики (холодная загрузка с попыткой извлечения ключей из RAM) могут попытаться извлечь данные.
* Вы потеряли телефон и не заметили несколько часов.

Если включена автоматическая перезагрузка:

* Через заданное время (например, 12 часов) устройство **само перезагружается**.
* Переходит в режим **BFU** — ключи шифрования стираются из памяти, данные становятся недоступными без пароля.
* Даже если злоумышленник получит устройство, он увидит «холодную» систему, которая никогда не разблокировалась — форензика бесполезна.

**Баланс:** если поставите слишком короткий интервал (например, 6 часов), устройство может перезагрузиться ночью, пока вы спите, и утром придётся вводить полный пароль (а не просто отпечаток пальца). Если поставите слишком длинный (72 часа) — защита ослабевает.

**Рекомендация:** 18-24 часа — разумный компромисс для большинства пользователей.

#### Очистка чувствительных данных из памяти

Помимо перезагрузки, GrapheneOS автоматически **затирает чувствительные области памяти** при определённых событиях:

* **При блокировке экрана** — ключи некоторых приложений (например, менеджера паролей) стираются из оперативной памяти. Приложение должно заново «разблокироваться» при следующем открытии.
* **При завершении процесса** — когда приложение закрывается, система активно **перезаписывает область памяти**, которую оно занимало, случайными данными. Это предотвращает извлечение конфиденциальных данных из «мёртвой» памяти через cold boot attack (атака с охлаждением памяти и последующим извлечением).
* **При переходе в режим BFU** — все ключи шифрования, кэши паролей, токены сессий — всё криптографически стирается.

Обычный Android делает это частично и ненадёжно. GrapheneOS делает это **систематически и гарантированно**.

---

### Duress PIN/Password (пароль принуждения)

Это функция для экстремальных сценариев, когда вас **принуждают разблокировать устройство** под угрозой (физическое насилие, угроза задержания, шантаж).

#### Как работает duress-пароль

Вы устанавливаете **два пароля**:

* **Основной пароль** — разблокирует устройство в обычном режиме, даёт доступ ко всем данным.
* **Duress-пароль (пароль принуждения)** — внешне тоже разблокирует устройство, но **одновременно выполняет защитные действия**.

**Что происходит при вводе duress-пароля:**

* Устройство разблокируется — внешне ничего подозрительного, экран выглядит нормально.
* **Автоматически стираются данные дополнительного профиля** (где хранятся самые конфиденциальные данные). Если вы используете схему с несколькими профилями (основной «чистый» и второй с конфиденциальной информацией), второй профиль удаляется за секунду.
* Опционально: **отправляется сигнал тревоги** на заранее настроенный контакт (например, SMS или сообщение в мессенджере от имени системного приложения) — близкие узнают, что вы в опасности. *(Примечание: эта функция в разработке, пока не реализована полностью)*.
* Опционально: **блокируются определённые приложения или аккаунты** — например, приложение мессенджера показывает пустую историю, банковское приложение «не может подключиться к серверу».

**Для злоумышленника всё выглядит нормально:** телефон разблокирован, приложения открываются, но конфиденциальные данные уже стёрты. Он видит «обычный телефон» без подозрительного содержимого.

**Настройка:**

Settings → Security → Duress password.

Потребуется:

* настроить **пользовательские профили** (чтобы было что стирать);
* задать duress-пароль (должен отличаться от основного);
* выбрать, какой профиль стирается.

**Важно:** Duress-пароль должен быть **правдоподобным** — если злоумышленник знает, что у вас обычно длинный сложный пароль, а вы вводите короткий PIN — это может вызвать подозрение. Лучше использовать paralle passphrase (вторую парольную фразу, похожую по длине на основную).

---

### Более безопасный отпечаток пальца

Биометрическая разблокировка (отпечаток пальца, лицо) — это удобно, но небезопасно в классическом понимании:

* **Отпечаток пальца нельзя сменить** — если кто-то получил копию вашего отпечатка (а отпечатки вы оставляете везде: на дверных ручках, стаканах, поверхностях), он может использовать её для разблокировки.
* **Вас могут заставить приложить палец** — физическое принуждение работает: схватили руку, приложили к сканеру, устройство разблокировано. Заставить сказать пароль юридически и физически сложнее (можно отказаться, сослаться на право не свидетельствовать против себя).
* **Биометрия обманывается** — отпечатки можно подделать (есть документированные случаи обхода сканеров отпечатков через 3D-печать или фотографию высокого разрешения).

**Тем не менее, биометрия удобна для повседневного использования**, когда угроза невелика, а нужно разблокировать устройство десятки раз в день.

#### Усиления безопасности отпечатка в GrapheneOS

**1. Отпечаток работает только в режиме After First Unlock.**

После перезагрузки или долгой неактивности (если включена автоматическая перезагрузка) устройство находится в режиме BFU — **отпечаток пальца не работает вообще**. Нужно ввести полный пароль.

Это защищает от сценария, когда устройство конфисковано «холодным» и злоумышленник пытается приложить ваш палец (например, пока вы спите или без сознания). Система требует пароль — отпечаток бесполезен.

**2. Ограничение времени действия отпечатка.**

Можно настроить, чтобы отпечаток пальца «истекал» через определённое время после блокировки экрана.

Settings → Security → Fingerprint timeout: 1 минута / 5 минут / 1 час.

Если устройство заблокировано дольше этого времени — для следующей разблокировки требуется ввести пароль, отпечаток не работает.

Пример: вы положили телефон, вышли на 10 минут. Вернулись — нужно ввести пароль (если timeout 5 минут). Это защищает от ситуации, когда кто-то взял ваш телефон, пока вы отлучились, и пытается использовать ваш отпечаток (взяв вашу руку или используя поддельный образец).

**3. Отпечаток не работает после нескольких неудачных попыток.**

Если кто-то пытается разблокировать устройство отпечатком пальца и терпит неудачу **5 раз подряд** (например, прикладывает не те пальцы или поддельный отпечаток), система **блокирует биометрическую разблокировку** до ввода пароля.

Это защищает от атак методом перебора с использованием базы данных отпечатков или искусственных образцов.

**4. Отпечаток хранится только в Trusted Execution Environment (TEE).**

Данные отпечатков пальцев **никогда** не попадают в основную операционную систему. Они обрабатываются и хранятся в **изолированном защищённом процессоре** (TEE, часть SoC), который физически отделён от основного CPU.

Даже если злоумышленник получит root-доступ к Android, он **не сможет извлечь данные отпечатков** — они недоступны из основной ОС.

Сканер отпечатков общается с TEE напрямую, минуя Android. Система получает только **финальный результат**: «отпечаток совпал» или «не совпал», но не сами биометрические данные.

---

### Двухфакторная разблокировка с отпечатком

Это уникальная функция GrapheneOS, которая **комбинирует удобство биометрии и безопасность пароля**.

#### Как это работает

Вы настраиваете **два фактора** для разблокировки:

* **Первый фактор: отпечаток пальца** (что у вас есть — биометрия).
* **Второй фактор: PIN или короткий пароль** (что вы знаете).

**Для разблокировки устройства требуется оба фактора одновременно:**

* Прикладываете палец к сканеру → сканер считывает отпечаток.
* Одновременно вводите PIN на экранной клавиатуре.
* Только если **оба фактора корректны** — устройство разблокируется.

**Преимущества:**

* **Защита от принуждения через отпечаток** — даже если злоумышленник силой приложит ваш палец к сканеру, устройство не разблокируется без PIN. Он не знает PIN (если вы его не сказали), значит, атака проваливается.
* **Защита от подделки отпечатка** — даже если кто-то создал копию вашего отпечатка (через 3D-печать, муляж), ему всё равно нужен PIN.
* **Защита от кражи отпечатка из баз данных** — если ваш отпечаток утёк из какой-то системы (например, базы данных правительства, пограничного контроля, корпоративного сканера), его нельзя использовать без знания PIN.
* **Сохраняется удобство** — вводить короткий PIN + прикладывать палец занимает те же 2-3 секунды, что и просто отпечаток, но безопасность кратно выше.

**Как настроить:**

Settings → Security → Screen lock → Two-factor unlock.

Выбираете:
* основной пароль (для холодной загрузки и редких разблокировок);
* отпечаток пальца + короткий PIN (для повседневного использования).

Можете использовать разные PIN для двухфакторной разблокировки и для основного пароля. Например:

* Основной пароль: длинная парольная фраза `Correct-Horse-Battery-Staple-7392`.
* Двухфакторный PIN: короткий код `937`.

Повседневно разблокируете отпечатком + `937`. После перезагрузки или долгой неактивности вводите полную парольную фразу.

#### Пример атаки, которую это блокирует

**Сценарий:** Вы спите. Злоумышленник (кто-то из близких, следователь, атакующий с физическим доступом) тихо берёт ваш телефон и прикладывает ваш палец к сканеру, пока вы без сознания.

* **Без двухфакторной разблокировки:** телефон разблокируется. Злоумышленник получает доступ ко всему.
* **С двухфакторной разблокировкой:** сканер считывает отпечаток, но устройство требует ввести PIN. Его нет → разблокировка не происходит. Устройство начинает отсчитывать задержки после неудачных попыток, если кто-то пытается подобрать PIN наугад.

**Сценарий 2:** Полицейский или пограничник физически принуждает вас разблокировать телефон. Заставляет приложить палец — сканер срабатывает, но требуется PIN.

Вы можете:

* **Отказаться вводить PIN** (сослаться на право не свидетельствовать против себя — юридически во многих странах пароль защищён сильнее, чем биометрия).
* **Ввести duress-PIN** (если настроен) — телефон «разблокируется», но конфиденциальные данные стираются.
* **Специально ошибиться несколько раз** — разблокировка блокируется, начинаются задержки, затем автоматическая перезагрузка через время, переход в режим BFU.

Двухфакторная разблокировка **меняет баланс силы** — даже физический доступ к вашему пальцу недостаточен для компрометации устройства.

---

### Практические рекомендации по настройке безопасности устройства

**Для повседневного использования (средний уровень риска):**

* Основной пароль: 8-12 символов, алфавитно-цифровой, с символами. Например, `MyP@ssw0rd2024`.
* Двухфакторная разблокировка: отпечаток + четырёхзначный PIN `7293`.
* PIN scrambling: выключен (для скорости).
* Auto-reboot if idle: 24 часа.
* Auto-wipe after failed attempts: 30 попыток.

Это даёт комфорт повседневного использования + защиту от кражи/потери устройства.

**Для повышенного риска (журналисты, активисты, путешествия в опасные регионы):**

* Основной пароль: парольная фраза 16+ символов. Например, `Mesa-Jungle-Basket-Flame-8843`.
* Двухфакторная разблокировка: отпечаток + шестизначный PIN `847392`.
* PIN scrambling: включён.
* Auto-reboot if idle: 6-12 часов.
* Auto-wipe after failed attempts: 10-20 попыток.
* Duress-пароль настроен, конфиденциальные данные в отдельном профиле.

При пересечении границы или в ситуации высокого риска:

* **Перезагрузите устройство** за 10 минут до контакта с властями — переход в режим BFU, отпечаток не работает, требуется полный пароль. Формально вы можете сказать: «Я не помню пароль прямо сейчас» или «Мне нужен адвокат, чтобы обсудить доступ к устройству».
* **Завершите сессии всех профилей** с конфиденциальными данными — они прекращают работу, память очищается.

**Для экстремальных сценариев (государственный уровень угрозы):**

* Основной пароль: парольная фраза 24+ символа, генерируется криптографически случайно (Diceware с 8 словами).
* **Без биометрии вообще** — только пароль. Отпечаток пальца выключен.
* PIN scrambling: включён обязательно.
* Auto-reboot if idle: 3-6 часов.
* Auto-wipe after failed attempts: 10 попыток.
* **Не используете устройство для критичных коммуникаций напрямую** — только через дополнительные слои (Tor, анонимные мессенджеры, полное шифрование).

---

### Почему это важно: реальные примеры атак на устройства

**Cellebrite и GrayKey** — коммерческие инструменты для взлома смартфонов, которые используют правоохранительные органы по всему миру. Они эксплуатируют уязвимости в загрузчиках, находят 0-day эксплойты в системе, используют side-channel атаки.

**Что они могут:**

* На **обычном Android** с четырёхзначным PIN и без дополнительных защит — взлом за минуты-часы (перебор через эксплойт, обход задержек).
* На **iPhone** с коротким паролем — взлом возможен (есть документированные случаи), но дорого и требует времени.
* На **GrapheneOS с правильно настроенной защитой** (длинный пароль, автоматическая перезагрузка, auto-wipe) — взлом **экономически и технически нецелесообразен**. Даже если такие инструменты найдут уязвимость (что крайне сложно из-за всех защит), автоматическая перезагрузка через несколько часов переведёт устройство в режим BFU, и эксплойт станет бесполезен.

**Публичный случай (2019):** ФБР пыталось взломать iPhone 11 подозреваемого в терроризме. Даже с помощью Cellebrite и неограниченными ресурсами взлом занял месяцы и, по некоторым данным, не был полностью успешен.

GrapheneOS с правильными настройками создаёт аналогичный или более высокий уровень защиты — причём **бесплатно** и доступно любому пользователю, а не только корпорациям или спецслужбам.

---

### Психологический аспект: защита от принуждения

Настройки безопасности устройства — это не только технология, но и **психологическая защита**.

Когда вы знаете, что:

* ваше устройство автоматически перезагрузится через 12 часов и станет недоступным без длинного пароля;
* после 10 неудачных попыток все данные сотрутся;
* даже если вас заставят приложить палец — без PIN ничего не произойдёт;
* вы можете ввести duress-пароль, и конфиденциальные данные исчезнут, пока устройство внешне работает нормально —

вы чувствуете **контроль** над ситуацией. Даже в сценарии принуждения или конфискации вы знаете: данные защищены, и у вас есть инструменты для защиты.

Это снижает стресс в опасных ситуациях и даёт уверенность, что ваша цифровая жизнь не станет добычей злоумышленников.

---

Мы разобрали, как GrapheneOS превращает экран блокировки из «простого препятствия» в **криптографически защищённый барьер**, устойчивый к физическому принуждению, атакам перебора и даже специализированным инструментам форензики.

В сочетании с остальными механизмами (шифрование, песочницы, контроль разрешений, изоляция профилей, защита сети) это создаёт систему, которая защищает ваши данные на всех уровнях — от удалённых сетевых атак до физического захвата устройства.

В следующем разделе мы рассмотрим оставшиеся аспекты безопасности GrapheneOS и подведём итоги: для кого эта система подходит, как начать её использовать и какие компромиссы придётся принять.

## 9. Обновления, репозиторий и инфраструктура проекта

Безопасность операционной системы — это не статичное состояние. Это **постоянный процесс**: находятся новые уязвимости, появляются новые векторы атак, меняются угрозы. Даже самая защищённая система становится небезопасной, если её не обновлять.

GrapheneOS понимает это на фундаментальном уровне. Проект построил инфраструктуру обновлений и доставки программного обеспечения, которая сама по себе является образцом безопасности — от механизма OTA-обновлений до защиты серверов, которые их раздают.

---

### Фоновые инкрементальные OTA-обновления

**OTA (Over-The-Air)** — обновления «по воздуху», которые загружаются и устанавливаются без подключения к компьютеру.

В обычном Android обновления:

* приходят медленно (зависит от производителя и оператора связи);
* требуют ручного подтверждения и перезагрузки;
* загружают полный образ системы (гигабайты данных даже для мелких исправлений);
* часто ломают что-то (известны случаи, когда обновление «окирпичивает» устройство);
* перезагрузка занимает минуты, устройство недоступно.

**GrapheneOS делает всё иначе.**

#### Автоматические фоновые обновления

Обновления загружаются и устанавливаются **автоматически**, без вашего участия.

**Как это работает:**

* Устройство периодически проверяет наличие обновлений (по умолчанию раз в несколько часов).
* Если обновление доступно — загружается **в фоне**, пока вы пользуетесь телефоном. Вы этого не замечаете.
* Загрузка идёт через безопасное соединение (HTTPS с проверкой сертификата), образ криптографически подписан разработчиками GrapheneOS — система проверяет подпись перед установкой.
* После загрузки обновление **устанавливается в неактивный слот** системы (об этом дальше), опять же в фоне. Не нужна перезагрузка, устройство продолжает работать.
* Когда установка завершена, система показывает ненавязчивое уведомление: «Обновление готово, перезагрузите устройство в удобное время».
* Вы перезагружаете телефон (вручную или он перезагрузится сам при следующем бездействии, если включена автоматическая перезагрузка) — система загружается с **нового обновлённого слота**. Процесс перезагрузки занимает столько же времени, сколько обычная (20-30 секунд).

**Преимущества:**

* **Никакого downtime** — устройство работает во время установки обновления.
* **Не нужно помнить об обновлениях** — система сама заботится о своей актуальности.
* **Минимальный расход трафика** — инкрементальные обновления (см. ниже) загружают только изменения, а не полный образ.

#### Инкрементальные обновления (delta updates)

Вместо загрузки полного образа системы (1-2 ГБ) GrapheneOS использует **инкрементальные (дельта) обновления** — загружаются только **изменённые части** системы.

**Пример:**

Исправлена уязвимость в одном системном компоненте (например, библиотека обработки изображений). Изменилось несколько файлов общим объёмом 15 МБ.

* **Обычное обновление:** загрузка полного образа системы — 1,5 ГБ.
* **Инкрементальное обновление GrapheneOS:** загрузка только изменений — 15-20 МБ (с учётом метаданных и сжатия).

Это экономит трафик (важно для мобильного интернета), ускоряет процесс, уменьшает нагрузку на серверы.

**Технически:** GrapheneOS использует **бинарные диффы** (binary diffs) — система вычисляет разницу между старой и новой версией файлов на уровне байтов, создаёт «патч», который применяется к существующей системе. Это гарантирует, что в итоге получится побайтово идентичная новой версии система, но загружается только разница.

#### A/B слоты и бесшовные обновления (seamless updates)

Устройства Pixel (на которых работает GrapheneOS) имеют **двухслотовую архитектуру** (A/B slots).

**Что это значит:**

На накопителе есть **два раздела системы** — слот A и слот B. В каждый момент времени один слот активен (с него загружена система), второй неактивен.

**Процесс обновления:**

* Сейчас работаете со слота A.
* Обновление загружается и **устанавливается в слот B** (в фоне, пока вы работаете).
* После перезагрузки загрузчик переключает активный слот на B.
* Система загружается со слота B — обновлённая версия.
* Слот A остаётся нетронутым — там старая версия системы (на случай, если что-то пойдёт не так).

**Преимущества:**

* **Обновление не может сломать систему во время установки** — вы работаете со слота A, пока идёт запись в слот B. Даже если установка была прервана (выключили телефон, села батарея) — слот A остался рабочим, система загрузится с него.
* **Мгновенное применение обновления** — после перезагрузки система сразу работает с новой версии, нет долгой «оптимизации приложений» или «завершения установки».
* **Возможность отката** (см. следующий пункт).

#### Автоматический откат в случае сбоя

Самая крутая фича: если обновлённая система не загружается или работает нестабильно, GrapheneOS **автоматически откатывается** на предыдущую версию.

**Как это работает:**

* Обновление установлено в слот B, произошла перезагрузка.
* Загрузчик пытается загрузить систему со слота B.
* **Система не загружается** (ядро паникует, загрузка зависает, критическая ошибка при старте).
* Загрузчик обнаруживает проблему (если система не отправила сигнал «загрузка успешна» в течение определённого времени).
* Автоматически переключается обратно на слот A — загружается старая рабочая версия системы.

**Результат:** вы включаете телефон после обновления, он загружается чуть дольше обычного (попытка загрузки с нового слота + откат), но в итоге система работает — со старой версией. Никакого «кирпича», никакой ситуации «телефон не включается».

GrapheneOS показывает уведомление: «Обновление не удалось, система откатилась на предыдущую версию. Отчёт об ошибке отправлен разработчикам» (если вы разрешили отправку анонимных отчётов о крашах).

**В обычном Android** такая защита есть только на устройствах с A/B-схемой (Pixel и некоторые флагманы), но работает не всегда надёжно. На большинстве Android-устройств (особенно бюджетных) обновление, которое не загружается, = мёртвое устройство, поход в сервис или перепрошивка через компьютер.

---

### Стабильный и бета-каналы обновлений

GrapheneOS предлагает **два канала обновлений**:

* **Stable (стабильный)** — рекомендованный для повседневного использования. Обновления проходят тестирование, выпускаются после проверки на совместимость и стабильность. Новые версии выходят раз в несколько недель (следом за обновлениями безопасности AOSP и Pixel от Google).
* **Beta (бета)** — экспериментальный канал для энтузиастов и тех, кто хочет получать новые функции раньше. Обновления выходят чаще (иногда несколько раз в неделю), могут содержать баги или недоработанные фичи. Подходит для тестирования, но не для критичных устройств.

**Переключение между каналами:**

Settings → System → System update → Release channel.

При переключении с Beta на Stable система может автоматически «откатиться» к последней стабильной версии (если вы на более новой бета-версии). Данные не теряются, но потребуется перезагрузка.

**Философия:** стабильный канал — для пользователей, которым нужна надёжность. Бета — для тех, кто готов помочь проекту тестированием и готов к возможным неудобствам.

---

### Скорость выпуска обновлений безопасности

GrapheneOS выпускает обновления безопасности **быстрее**, чем почти любая другая мобильная ОС.

**Процесс:**

* Google выпускает ежемесячный **Android Security Bulletin** (отчёт о найденных уязвимостях) и патчи для AOSP + проприетарные компоненты Pixel.
* Команда GrapheneOS **в тот же день** начинает портировать патчи на GrapheneOS.
* **В течение 24-72 часов** (обычно быстрее) выходит обновление GrapheneOS с исправлениями.
* Пользователи получают обновление автоматически.

**Сравнение:**

* **Google Pixel на стоковой прошивке:** 1-2 недели после выхода бюллетеня (зависит от региона и оператора).
* **Samsung, OnePlus и другие производители:** 2-4 недели (а иногда месяцы для не-флагманских моделей).
* **Бюджетные Android-устройства:** обновления безопасности приходят раз в квартал (если вообще приходят).
* **LineageOS и другие кастомные ROM:** зависит от мейнтейнера конкретного устройства, обычно 1-2 недели, но может быть и месяц.

**GrapheneOS:** 1-3 дня. Это **быстрее, чем официальная прошивка от Google** для тех же устройств.

**Почему это важно:**

Уязвимости становятся публичными с выходом бюллетеня. Злоумышленники начинают разрабатывать эксплойты. Каждый день без патча — это день, когда ваше устройство потенциально уязвимо.

GrapheneOS закрывает это окно максимально быстро.

---

### Собственный репозиторий приложений GrapheneOS

Помимо системных обновлений, нужен способ устанавливать и обновлять приложения. GrapheneOS не использует Google Play Store в качестве основного источника (хотя Sandboxed Play Store доступен опционально).

Вместо этого проект создал **собственный репозиторий приложений** — Apps.

#### Что в этом репозитории

**Системные компоненты GrapheneOS:**

* Vanadium (браузер и WebView);
* PDF Viewer (просмотрщик PDF);
* Apps (сам клиент репозитория);
* Sandboxed Google Play Services и Play Store (зеркало официальных APK от Google).

**Открытые приложения общего назначения:**

GrapheneOS включает небольшую кураторскую подборку FOSS-приложений (Free and Open Source Software), которые проверены на безопасность и совместимость:

* **Auditor** — приложение для аппаратной аттестации устройства (проверяет, что система не модифицирована);
* **Camera** — базовое приложение камеры;
* **Gallery** — просмотрщик фото и видео;
* различные утилиты.

**Философия:** GrapheneOS не пытается быть «альтернативным магазином приложений» с тысячами программ. Он предоставляет **минимальный набор надёжного софта**, достаточный для безопасной работы устройства.

Для установки остальных приложений пользователь

может:

* использовать **Sandboxed Play Store** (если установлен) — полный доступ к экосистеме Google Play, но в изолированной песочнице;
* использовать **Aurora Store** — FOSS-клиент для доступа к Google Play без аккаунта Google;
* использовать **F-Droid** — репозиторий открытых приложений;
* устанавливать APK вручную.

#### Зеркало Google Play для песочницы

Sandboxed Play Services и Play Store — это **оригинальные APK от Google**, не модифицированные.

**Откуда GrapheneOS их берёт?**

Google распространяет Play Services через свои серверы. GrapheneOS **зеркалирует** (копирует) эти APK на свои серверы:

* Загружает официальные APK с серверов Google.
* **Проверяет криптографические подписи** — гарантия, что файлы подлинные и не модифицированы.
* Публикует их в своём репозитории.

**Зачем зеркало?**

* **Приватность:** вы не обращаетесь напрямую к серверам Google при установке/обновлении Play Services — запрос идёт к серверам GrapheneOS (которые не трекают пользователей).
* **Надёжность:** зеркало защищает от ситуации, когда Google блокирует доступ для определённых устройств/регионов.
* **Контроль версий:** GrapheneOS тестирует новые версии Play Services на совместимость перед публикацией в репозитории. Если обновление ломает совместимость или содержит проблемы — оно не попадает в репозиторий немедленно, даёт время на исправление.
* **Прозрачность:** пользователи GrapheneOS видят, какая версия Play Services доступна, и могут проверить подпись самостоятельно. Нет «чёрного ящика», когда Google молча обновляет системный компонент в фоне.

**Важно:** GrapheneOS **никогда не модифицирует** APK от Google. Это оригинальные файлы с оригинальными подписями. Проект лишь зеркалирует и контролирует процесс доставки.

#### Клиент репозитория Apps

**Apps** — встроенное приложение GrapheneOS для работы с репозиторием.

**Интерфейс предельно простой:**

* Открываете Apps.
* Видите список доступных приложений с краткими описаниями.
* Тапаете «Install» — приложение загружается и устанавливается.
* Обновления приходят автоматически (можно отключить для конкретных приложений).

**Безопасность:**

* Все загрузки идут **через HTTPS с проверкой сертификата** и **pinning'ом** (приложение знает, какой сертификат должен быть у сервера GrapheneOS — подделка невозможна).
* Каждый APK криптографически подписан разработчиками. Apps проверяет подпись перед установкой — если файл модифицирован или подпись неверна, установка блокируется.
* **Никакой телеметрии:** приложение не отправляет данные о том, что вы устанавливаете, когда запускаете, как используете. Серверы GrapheneOS видят только анонимные запросы на загрузку файлов, без привязки к вашему устройству или аккаунту.

**Минимализм:** Apps не пытается быть «красивым» или «удобным» в понимании Play Store. Это утилитарный инструмент для безопасной установки софта — функциональность важнее дизайна.

---

### Жёсткие практики безопасности серверов и сервисов проекта

GrapheneOS применяет к своей инфраструктуре те же принципы, что и к операционной системе: **минимизация поверхности атаки**, **defense in depth** (эшелонированная оборона), **прозрачность**.

Серверы проекта защищены лучше, чем инфраструктура многих коммерческих компаний.

#### HTTPS с жёсткой конфигурацией

Все сервисы GrapheneOS работают **исключительно через HTTPS** — незашифрованных соединений не существует вообще.

**Конфигурация TLS (Transport Layer Security):**

* Используются только **современные версии протокола** (TLS 1.3, TLS 1.2 с жёсткими cipher suites).
* **Отключены устаревшие и небезопасные алгоритмы шифрования** (SSLv3, TLS 1.0, слабые шифры типа RC4, DES).
* **Perfect Forward Secrecy (PFS)** — даже если долгосрочный ключ сервера скомпрометирован в будущем, прошлые сессии невозможно расшифровать.
* **HSTS (HTTP Strict Transport Security)** с длительным сроком действия и включением в preload-списки браузеров — браузер **никогда** не попытается подключиться через HTTP, только HTTPS.
* **Certificate Transparency** — все сертификаты логируются в публичных логах Certificate Transparency. Если кто-то попытается выпустить поддельный сертификат для домена GrapheneOS — это будет обнаружено.

#### DNSSEC: защита DNS от подделки

**DNSSEC (Domain Name System Security Extensions)** — криптографическая подпись DNS-записей.

**Проблема без DNSSEC:**

Когда ваше устройство запрашивает `grapheneos.org` у DNS-сервера, оно получает ответ: «IP-адрес такой-то». Но этот ответ может быть **подделан** (DNS spoofing/poisoning): злоумышленник в вашей сети или на уровне провайдера может подменить ответ, направить на свой поддельный сервер, и вы этого не заметите.

**С DNSSEC:**

DNS-записи домена `grapheneos.org` **криптографически подписаны**. Когда устройство получает ответ, оно проверяет подпись. Если подпись неверна или отсутствует — система отклоняет ответ и не подключается.

Результат: **невозможно подделать DNS-ответ**, даже контролируя DNS-серверы или сеть. Вы всегда подключаетесь к настоящим серверам GrapheneOS.

#### DANE: привязка TLS-сертификата к DNS

**DANE (DNS-based Authentication of Named Entities)** — расширение DNSSEC, которое позволяет **опубликовать отпечаток TLS-сертификата в DNS**.

**Как это работает:**

* В DNS-записи `grapheneos.org` (защищённой DNSSEC) публикуется **хэш (отпечаток) TLS-сертификата** сервера.
* Когда устройство подключается к серверу, оно получает TLS-сертификат.
* Устройство запрашивает DNS-запись, проверяет подпись DNSSEC, извлекает отпечаток сертификата из DNS.
* Сравнивает: отпечаток из DNS = отпечаток реального сертификата сервера?
* Если **совпадают** — соединение надёжное. Если **не совпадают** — кто-то пытается выдать поддельный сертификат (атака MITM), соединение разрывается.

**Что это даёт:**

Даже если злоумышленник каким-то образом получил поддельный TLS-сертификат для домена GrapheneOS (например, скомпрометировал Certificate Authority) — атака не сработает, потому что отпечаток сертификата не совпадёт с опубликованным в DNS.

Это **дополнительный уровень защиты** поверх обычной инфраструктуры TLS.

**Примечание:** DANE требует поддержки на стороне клиента (браузер или приложение должны уметь проверять DANE-записи). Vanadium и системные компоненты GrapheneOS поддерживают DANE.

#### CAA: контроль выпуска сертификатов

**CAA (Certification Authority Authorization)** — DNS-запись, которая указывает, **какие Certificate Authority (центры сертификации) имеют право выпускать сертификаты** для данного домена.

**Как это работает:**

* В DNS-записи `grapheneos.org` опубликована CAA-запись: «Только Let's Encrypt может выпускать сертификаты для этого домена».
* Если кто-то (например, скомпрометированный или недобросовестный CA) попытается выпустить сертификат для `grapheneos.org` — он обязан проверить CAA-запись.
* Видит: «Только Let's Encrypt» → отказывает в выпуске.

**Защита от:**

* Компрометация другого CA (если взломали Symantec, DigiCert или любой другой центр сертификации) — они не смогут выпустить поддельный сертификат для домена GrapheneOS.
* Социальная инженерия (кто-то убедил CA выпустить сертификат, выдав себя за владельца домена).

#### Строгий Content Security Policy (CSP)

**CSP (Content Security Policy)** — заголовок HTTP, который указывает браузеру, **какие ресурсы разрешено загружать** на странице.

**Настройка CSP на сайтах GrapheneOS:**

* Разрешена загрузка скриптов, стилей, изображений **только с собственных доменов** проекта.
* **Запрещены inline-скрипты** (JavaScript, встроенный прямо в HTML) — это блокирует множество XSS-атак (Cross-Site Scripting).
* **Запрещена загрузка ресурсов с внешних доменов** — нет зависимости от CDN (Content Delivery Networks), рекламных сетей, трекеров.
* **Запрещены небезопасные функции** (eval, inline event handlers).

**Результат:**

Даже если злоумышленник найдёт способ инжектить вредоносный код в страницу (крайне маловероятно из-за других защит) — браузер откажется его выполнять, потому что CSP запрещает.

#### Subresource Integrity (SRI)

Если сайт загружает какие-то ресурсы (например, библиотеку JavaScript для UI), в HTML-коде указывается **криптографический хэш этого файла**.

Браузер загружает файл, вычисляет хэш, сравнивает с указанным. Если **не совпадает** (файл модифицирован или подменён) — браузер отказывается его использовать.

Это защищает от компрометации CDN или атак MITM на загрузку ресурсов.

#### Минимизация инфраструктуры

GrapheneOS **не использует сложные облачные платформы**, зависимости от десятков сервисов, микросервисы, контейнеры с сомнительной безопасностью.

**Инфраструктура простая:**

* Несколько выделенных серверов (bare-metal, не виртуализация) в дата-центрах с хорошей репутацией.
* **Hardened Linux** на серверах (закалённое ядро, минимум установленного софта, жёсткие firewall-правила, SELinux в enforcing-режиме).
* Минимум сервисов: веб-сервер (nginx), сервер обновлений, репозиторий приложений. Всё остальное отключено.
* **Нет логирования пользователей** — серверы не хранят IP-адреса, User-Agent, историю запросов. Логируются только критические ошибки и попытки атак (для защиты инфраструктуры, а не слежки за пользователями).

**Философия:** чем проще инфраструктура — тем меньше точек отказа и векторов атак. Нет зависимости от AWS, Google Cloud, CloudFlare или других третьих сторон, которые могут быть скомпрометированы или подчинятся правительственным запросам.

#### Публичная прозрачность

Вся конфигурация инфраструктуры GrapheneOS **документирована и опубликована**:

* DNS-записи можно проверить публично (DNSSEC, CAA, DANE — всё открыто).
* TLS-сертификаты логируются в Certificate Transparency.
* Исходный код всех компонентов системы открыт на GitHub.
* Процесс сборки образов системы **воспроизводимый** (reproducible builds) — любой может пересобрать GrapheneOS из исходников и получить побайтово идентичный образ. Это гарантирует, что в официальные образы не добавлено ничего лишнего.

Вы можете **проверить** всё это самостоятельно, не доверяя разработчикам на слово.

---

### Практический результат: защищённая цепочка доставки ПО

Комбинация всех этих мер создаёт **защищённую цепочку доставки программного обеспечения**:

* **Обновления системы:** загружаются по защищённому каналу, проверяются криптографически, устанавливаются безопасно с возможностью отката.
* **Приложения:** загружаются из проверенного репозитория, подписи проверены, никакой телеметрии.
* **Серверы:** защищены от MITM, DNS-спуфинга, подделки сертификатов, XSS, компрометации через CDN — весь спектр сетевых атак.

**Владение инфраструктурой:** GrapheneOS контролирует сервера, не зависит от третьих сторон (кроме Let's Encrypt для сертификатов, но CAA и DANE добавляют дополнительный контроль). Это критично для проекта, ориентированного на приватность и безопасность — нельзя доверять данные облачным платформам, которые сотрудничают с правительствами или могут быть легально принуждены отдать данные.

---

Мы разобрали, как GrapheneOS поддерживает свою безопасность **постоянно актуальной** через быстрые обновления, надёжную инфраструктуру и прозрачную цепочку доставки ПО. Но всё это работает только на **правильном железе** — устройствах, которые аппаратно поддерживают необходимые механизмы безопасности.

GrapheneOS **не поддерживает тысячи моделей телефонов**. Он работает только на очень **ограниченном списке устройств** — и это осознанный выбор, а не ограничение разработки. Почему так, и какие устройства попадают в этот список — разберём в следующем разделе.

---

## 10. Аппаратная платформа и поддержка устройств

Безопасность операционной системы невозможна без **надёжной аппаратной основы**. Самая защищённая прошивка мира бесполезна, если железо содержит уязвимости, не поддерживает современные механизмы защиты или производитель не выпускает обновления прошивок.

GrapheneOS **не идёт на компромиссы** в этом вопросе. Проект поддерживает только устройства, которые соответствуют жёстким критериям безопасности — и на сегодняшний день это означает **только линейку Google Pixel**.

---

### Почему поддерживаются только Pixel

Это один из самых частых вопросов: «Почему нельзя установить GrapheneOS на Samsung, OnePlus, Xiaomi или другие популярные устройства?»

Ответ: потому что **ни одно из этих устройств не обеспечивает необходимый уровень аппаратной безопасности**.

#### Критерии выбора устройств для GrapheneOS

GrapheneOS устанавливает планку **гораздо выше**, чем «просто работающее железо». Устройство должно соответствовать следующим критериям:

**1. Поддержка Verified Boot с custom ключами.**

**Verified Boot** — механизм, который криптографически проверяет подлинность каждого компонента системы при загрузке (загрузчик → ядро → система → приложения). Если хоть один файл модифицирован — загрузка блокируется.

**Проблема большинства Android-устройств:**

Verified Boot работает только с **заводской прошивкой**, подписанной ключами производителя. Если вы устанавливаете кастомную прошивку (LineageOS, GrapheneOS, любую другую) — Verified Boot **отключается полностью**, потому что прошивка подписана другими ключами.

Результат: устройство с кастомной прошивкой **не защищено от модификации системы**. Если кто-то получит физический доступ (или эксплойтнет загрузчик), он сможет модифицировать ядро, внедрить rootkit, и система не обнаружит подмену.

**Pixel — исключение:**

Google Pixel поддерживает **Verified Boot с пользовательскими ключами** (custom AVB keys, Android Verified Boot). При установке GrapheneOS:

* Генерируются новые криптографические ключи.
* GrapheneOS подписывается этими ключами.
* Ключи загружаются в защищённую память устройства (TEE/Trustzone).
* Загрузчик **блокируется повторно** (locked bootloader) — теперь он доверяет только прошивке, подписанной ключами GrapheneOS.

Система продолжает работать с **полной защитой Verified Boot**, но для кастомной прошивки. Если кто-то попытается модифицировать систему — загрузка не произойдёт, устройство покажет предупреждение о несанкционированном изменении.

**Другие производители не поддерживают это** — либо вообще (Verified Boot жёстко привязан к заводской прошивке), либо формально поддерживают, но с багами и недоработками, которые делают механизм ненадёжным.

**2. Актуальные обновления прошивок (firmware) и долгосрочная поддержка.**

**Прошивка (firmware)** — низкоуровневое ПО, которое управляет железом: модем, Wi-Fi/Bluetooth-чипы, сенсорный экран, камера, датчики. Прошивки работают **ниже уровня операционной системы** и имеют привилегированный доступ к железу.

**Проблема:**

Если прошивка содержит уязвимость — операционная система не может её исправить. Атака через уязвимость в модеме или Wi-Fi-чипе обходит все защиты Android/GrapheneOS.

**Большинство производителей:**

* Выпускают обновления прошивок **нерегулярно** (раз в несколько месяцев или вообще не выпускают для не-флагманских моделей).
* Прекращают поддержку устройства через **2-3 года** после релиза. Дальше никаких обновлений — даже критические уязвимости не закрываются.
* Не публикуют исходный код прошивок — невозможно проверить, что там внутри, или исправить баги самостоятельно.

**Google Pixel:**

* Получает **ежемесячные обновления прошивок** вместе с обновлениями Android.
* Google публикует firmware-образы **открыто** на своём сайте (developers.google.com/android/images) — GrapheneOS может их использовать.
* **Долгосрочная поддержка:** минимум 5 лет обновлений безопасности (для Pixel 6-7), **7 лет для Pixel 8-9** (об этом подробнее дальше).

GrapheneOS использует **оригинальные прошивки от Google** для аппаратных компонентов — они проверены, регулярно обновляются, закрывают уязвимости. Операционная система GrapheneOS работает поверх этих прошивок.

Если бы GrapheneOS портировали на устройства другого производителя — пришлось бы либо использовать устаревшие небезопасные прошивки (производитель перестал их обновлять), либо пытаться создать собственные (что невозможно без доступа к исходникам и требует огромных ресурсов).

**3. Аппаратная защита: TEE, Secure Element, аппаратные ключи.**

Современная безопасность Android зависит от **изолированных защищённых сопроцессоров**, которые хранят криптографические ключи и выполняют критичные операции вне досягаемости основной ОС:

* **TEE (Trusted Execution Environment, доверенная среда выполнения)** — отдельный процессор в SoC (System-on-Chip), который работает параллельно основному CPU. Хранит ключи шифрования, обрабатывает биометрию, управляет Verified Boot.
* **Secure Element** — аппаратный чип для хранения особо чувствительных ключей (например, для платёжных приложений).
* **Hardware-backed Keystore** — ключи шифрования хранятся в защищённом железе, недоступном программно.

**Pixel имеет:**

* **Titan M / Titan M2** (в зависимости от модели) — выделенный **security chip**, разработанный Google специально для защиты. Это не просто TEE внутри основного процессора, а **отдельный физический чип** с собственной прошивкой, который:
* хранит ключи шифрования и Verified Boot;
* изолирован от основного SoC — даже если основной процессор скомпрометирован, Titan M остаётся защищённым;
* имеет счётчики защиты от перебора (rate limiting для попыток ввода пароля — нельзя обойти задержки через аппаратные атаки);
* защищён от физических атак (tamper resistance) — попытка вскрыть чип или извлечь ключи напрямую с высокой вероятностью приведёт к их уничтожению.

**Устройства других производителей:**

* Используют стандартные TEE-реализации от Qualcomm (Trustzone) или MediaTek — они работают, но **не так хорошо изолированы**, как отдельный чип. TEE в Qualcomm SoC — часть того же кристалла, что и основной CPU, и теоретически уязвимы для side-channel атак или эксплойтов через общие ресурсы.
* Многие бюджетные устройства **не имеют полноценного аппаратного хранилища ключей** — ключи хранятся программно в защищённой области памяти, что менее надёжно.

**4. Отсутствие backdoor (задних дверей) от производителя.**

Многие производители Android-устройств (особенно китайские — Xiaomi, Huawei, Oppo и другие) включают в прошивки **скрытые сервисы**, которые:

* собирают телеметрию и отправляют данные на серверы производителя;
* имеют возможность удалённого управления устройством (для «технической поддержки»);
* содержат недокументированные API, которые могут быть использованы для слежки.

Эти компоненты встроены на уровне **прошивки или загрузчика**, и простая замена операционной системы не убирает их полностью.

**Google Pixel:**

* Производитель (Google) **не заинтересован** в backdoor'ах на уровне железа — это противоречило бы репутации Android как открытой платформы и безопасности экосистемы.
* Прошивки Pixel **проверены сообществом** исследователей безопасности — за годы использования не было найдено скрытых механизмов слежки или удалённого контроля на уровне железа.
* GrapheneOS заменяет всю операционную систему, а прошивки используются только для минимально необходимого управления железом — и эти прошивки прозрачны.

**5. Доступность и стабильность железа.**

Устройства должны быть **доступны для покупки**, иметь стабильное качество (без массовых дефектов), и проект должен иметь возможность **тестировать прошивку на реальном железе**.

**Pixel:**

* Доступен во многих странах (официально или через импорт).
* Качество сборки стабильное (это флагманская линейка Google).
* Команда GrapheneOS имеет физический доступ к устройствам для разработки и тестирования.

**Устройства других производителей** часто:

* имеют **разные модификации** для разных регионов (разные SoC, разные версии прошивок) — невозможно создать единую прошивку;
* страдают от **аппаратных багов** (проблемы с экраном, батареей, модемом), которые разработчики кастомной прошивки не могут исправить;
* быстро снимаются с производства — через год модель исчезает, и поддерживать её дальше нет смысла.

---

### Поддерживаемые модели Pixel

На сегодняшний день GrapheneOS официально поддерживает:

**Актуальная поддержка (рекомендуется для новых пользователей):**

* **Pixel 9, 9 Pro, 9 Pro XL, 9 Pro Fold** (2024) — флагманы с 7-летней поддержкой.
* **Pixel 8, 8 Pro, 8a** (2023) — также 7 лет поддержки.
* **Pixel 7, 7 Pro, 7a** (2022) — 5 лет поддержки (до 2027).
* **Pixel 6, 6 Pro, 6a** (2021) — 5 лет поддержки (до 2026).

**Устаревающая поддержка (extended support):**

* **Pixel 5, 5a** (2020) — официальная поддержка Google закончилась, но GrapheneOS продолжает выпускать обновления (без новых firmware от Google — только патчи на уровне ОС). Не рекомендуется для новых установок.
* **Pixel 4, 4 XL, 4a, 4a 5G** (2019-2020) — аналог ично, поддержка GrapheneOS продолжается, но без обновлений прошивок от Google. Используется только для устройств, которые уже работают на GrapheneOS, покупать новыми не стоит.

**Модели, поддержка которых прекращена:**

* **Pixel 3, 3 XL, 3a, 3a XL и старше** — официально не поддерживаются GrapheneOS. Слишком устаревшее железо, нет обновлений прошивок, отсутствуют современные аппаратные механизмы защиты (MTE, улучшенный Titan M).

**Рекомендация:**

Для максимальной безопасности и долгосрочного использования выбирайте **Pixel 8 или новее** — у этих устройств впереди годы поддержки, самое современное железо, все актуальные защиты.

---

### Переход к 7-летней поддержке: революция в долговечности

Исторически поддержка Android-устройств была **катастрофически короткой**:

* Бюджетные устройства: 1-2 года обновлений (если вообще есть).
* Средний сегмент: 2-3 года.
* Флагманы: 3-4 года (Samsung, OnePlus).
* Google Pixel (до 2023): 3 года обновлений системы + 5 лет обновлений безопасности.

Это означало, что через несколько лет устройство превращалось в **небезопасную дыру**: уязвимости не закрываются, новые угрозы не учитываются, железо морально устаревает, но физически работает — и пользователь вынужден либо менять телефон, либо жить с риском.

**Что изменилось в 2023:**

Google объявил, что начиная с **Pixel 8** (и всех последующих моделей), устройства получат **7 лет обновлений** — обновления системы (новые версии Android) и обновления безопасности (патчи для уязвимостей) в течение **семи лет** с момента релиза.

**Что это значит:**

* **Pixel 8** (вышел в октябре 2023) будет получать обновления до **октября 2030 года**.
* Устройство, купленное сегодня, останется **актуальным и безопасным** почти до конца десятилетия.

Это **беспрецедентно** для мобільной индустрии. Для сравнения:

* **iPhone:** Apple обычно поддерживает устройства 5-6 лет (iOS-обновления), но никогда не давал публичных гарантий на 7 лет.
* **Samsung:** недавно пообещал 4 года обновлений системы + 5 лет безопасности для некоторых флагманов (Galaxy S24 и новее) — это улучшение, но всё ещё меньше, чем Pixel 8/9.

**GrapheneOS получает те же преимущества:**

Поскольку GrapheneOS использует прошивки от Google и следует за обновлениями AOSP, **7-летняя поддержка Pixel 8/9 автоматически означает 7-летнюю поддержку GrapheneOS** на этих устройствах.

**Практический смысл:**

Вы можете купить Pixel 8/9, установить GrapheneOS, и использовать устройство **до 2030-2031 года** (при условии, что физически оно останется исправным), получая все обновления безопасности, новые версии Android, исправления уязвимостей.

Это резко снижает **экологический след** (не нужно менять телефон каждые 2-3 года) и **экономическую нагрузку** (одно устройство на десятилетие).

Для **проектов и организаций**, использующих GrapheneOS в корпоративной среде или для защиты журналистов/активистов, это означает **стабильность платформы** и предсказуемость затрат.

---

### Почему GrapheneOS не добавляет поддержку других устройств

Иногда спрашивают: «Может, добавьте хотя бы Samsung Galaxy или OnePlus? Там же тоже флагманы, хорошее железо».

**Ответ:** проблема не в «хорошести» железа, а в **невозможности обеспечить equivalent level of security** (эквивалентный уровень безопасности).

#### Попытки портирования на другие устройства

GrapheneOS (и его предшественник CopperheadOS) в прошлом рассматривал возможность поддержки других устройств. Команда исследовала:

* **OnePlus** — закрытые прошивки, проблемы с Verified Boot, короткий срок поддержки.
* **Samsung Galaxy** — Knox (система безопасности Samsung) жёстко интегрирована с заводской прошивкой, при установке кастомной ROM она безвозвратно отключается (eFuse перегорает), и восстановить её нельзя. Verified Boot с custom ключами не работает надёжно. Прошивки частично закрыты.
* **Fairphone** — открытое железо для ремонта, но **устаревшие SoC** (Qualcomm среднего уровня), отсутствие выделенного security chip типа Titan M, короткий срок официальной поддержки прошивок.

**Результат:** ни одно устройство не соответствовало критериям. Портирование GrapheneOS на них означало бы **снижение уровня безопасности** — а это противоречит основной миссии проекта.

**Философия GrapheneOS:**

> Лучше поддерживать **мало устройств с максимальной безопасностью**, чем много устройств с компромиссами.

Если пользователь выбирает GrapheneOS — он выбирает **серьёзную защиту**, а не просто «красивую кастомную прошивку с настройками». И проект не идёт на компромиссы ради популярности или удобства.

---

### Что делать, если у вас нет Pixel

**Вариант 1: Купить подержанный Pixel.**

Pixel 6/7/8 доступны на вторичном рынке (eBay, местные барахолки, certified refurbished от официальных продавцов). Цены на предыдущие поколения падают с выходом новых моделей.

**Как безопасно покупать б/у Pixel для GrapheneOS:**

* Проверьте, что **bootloader можно разблокировать** (unlockable bootloader). Если устройство куплено у оператора связи (особенно в США — Verizon, AT&T), bootloader может быть заблокирован производителем навсегда. Спросите продавца или проверьте через `Developer options → OEM unlocking` (должна быть доступна опция).
* Убедитесь, что устройство **не числится в краже** (проверьте IMEI через сервисы проверки украденных устройств).
* Сбросьте устройство к заводским настройкам перед покупкой (или сразу после) — это гарантирует, что предыдущий владелец удалил свои данные и аккаунты.

**Плюсы б/у Pixel:**

* Гораздо дешевле нового (Pixel 6/7 можно найти за $200-400).
* Всё ещё получают обновления (если модель в зоне поддержки).
* Экологичность (повторное использование).

**Минусы:**

* Меньше лет поддержки впереди (если покупаете Pixel 6 в 2024 — осталось ~2 года официальной поддержки Google).
* Риски состояния батареи/экрана (нужно проверять физическое состояние).

**Вариант 2: Купить новый Pixel 8/9.**

Если важна **максимальная долгосрочность** — новый Pixel 8 или 9 это лучший выбор. 7 лет поддержки, самое современное железо (включая MTE на некоторых моделях), отличное состояние.

**Где купить:**

* **Официально** через Google Store (если доступен в вашей стране).
* **Импорт** через международные магазины (Amazon, B&H Photo, и т.д.) — часто дешевле, чем локальные цены, даже с учётом доставки.
* **Местные ритейлеры** — в некоторых странах Pixel продаётся официально.

**Вариант 3: Другая прошивка на вашем текущем устройстве (компромисс).**

Если GrapheneOS недоступен, можно рассмотреть:

* **LineageOS** — популярная кастомная прошивка, поддерживает сотни устройств. Более открыта, чем стоковый Android, но **не фокусируется на безопасности** так жёстко, как GrapheneOS. Подходит для замены устаревшего Android, но не для high-security сценариев.
* **CalyxOS** — прошивка, похожая по философии на GrapheneOS (приватность и безопасность), но менее строгая в технической реализации. Поддерживает Pixel и некоторые Fairphone. Может быть компромиссом, если GrapheneOS кажется слишком минималистичным.
* **DivestOS** — форк LineageOS с усилением безопасности. Поддерживает множество устройств, но уровень защиты ниже GrapheneOS из-за ограничений железа.

**Важно понимать:** ни одна из этих прошивок не даст **equivalent security** к GrapheneOS на Pixel. Это компромиссы для тех, кто физически не может использовать Pixel.

---

### Будущее поддержки устройств

**Вопрос:** Останется ли GrapheneOS «Pixel-only» навсегда?

**Ответ (официальная позиция проекта):**

Команда GrapheneOS открыта к поддержке других устройств, **если они соответствуют критериям**. Как только производитель выпустит устройство с:

* разблокируемым bootloader + Verified Boot с custom ключами;
* долгосрочной поддержкой firmware (минимум 5-7 лет);
* современным security chip (уровень Titan M или лучше);
* открытыми прошивками или хотя бы гарантией регулярных обновлений;
* отсутствием backdoor'ов —

GrapheneOS рассмотрит его для добавления в список поддержки.

**Реалистичные кандидаты:**

* **Будущие модели Pixel** — очевидный выбор, Google продолжает улучшать безопасность своих устройств.
* **Fairphone** (если исправят недостатки) — компания фокусируется на долговечности и открытости, но нужно современное железо (более мощный SoC с лучшим security).
* **Возможно, устройства с открытой прошивкой** — если появятся производители, которые серьёзно отнесутся к безопасности и откроют исходники firmware.

**На данный момент Pixel — единственная реалистичная платформа**, и это вряд ли изменится в ближайшие несколько лет.

---

### Почему это не проблема для большинства пользователей

Ограничение поддержки только Pixel может показаться недостатком, но на практике это **преимущество**:

* **Качество важнее количества** — вы получаете прошивку, которая работает **идеально** на поддерживаемых устройствах, вместо «работает с багами» на сотнях несовместимых моделей.
* **Pixel стали доступнее** — Pixel 8a (бюджетная модель) стоит $500 новым, что сопоставимо с другими средними флагманами, но даёт 7 лет поддержки.
* **Устройства распространены** — Pixel продаются глобально (официально или через импорт), купить их легко в большинстве стран.
* **Долгосрочность** — 7 лет поддержки означают, что одно устройство прослужит дольше, чем 2-3 устройства других производителей с короткой поддержкой.

Для тех, кто **серьёзно относится к безопасности**, инвестиция в Pixel + GrapheneOS окупается сторицей через годы защищённого использования.

11. Сценарии использования в контексте возможностей GrapheneOS

Мы подробно разобрали механизмы безопасности и приватности GrapheneOS — от защиты памяти до контроля VPN-утечек. Но абстрактные технологии становятся понятными только через конкретные сценарии использования.

GrapheneOS — это не «прошивка для параноиков». Это практичный инструмент для людей с разными потребностями: от журналистов, работающих в опасных регионах, до обычных пользователей, которые просто хотят, чтобы Google не знал каждый их шаг.

Давайте разберём, как GrapheneOS решает реальные задачи в разных контекстах.

---

Журналист/правозащитник: работа под угрозой

Контекст

Журналисты и правозащитники в авторитарных странах или зонах конфликтов сталкиваются с угрозами государственного уровня:

  • слежка через сотовых операторов и интернет-провайдеров;
  • физическая конфискация устройств на блокпостах, границах, при задержаниях;
  • принуждение к разблокировке устройства под угрозой насилия или уголовного преследования;
  • таргетированные атаки через фишинг, эксплойты нулевого дня, шпионское ПО (Pegasus и аналоги).

Что даёт GrapheneOS:

Профили для разделения ролей

Личный профиль — обычная жизнь: общение с семьёй, фотографии, развлечения. Никаких конфиденциальных материалов.

Рабочий профиль — журналистская деятельность: защищённые мессенджеры (Signal, Wire), источники информации, черновики материалов, доступ к защищённым серверам через VPN/Tor.

«Чистый» профиль — для пересечения границ и контрольных точек. Минимум приложений: карты, переводчик, пара нейтральных мессенджеров без истории. Выглядит как обычный телефон туриста.

При угрозе конфискации:

Переключаетесь в «чистый» профиль за минуту до контакта с властями.

Если конфискуют и заставляют разблокировать — вводите duress-пароль.

Устройство разблокируется (внешне всё нормально), но рабочий профиль с конфиденциальными данными автоматически стирается за секунду.

Проверяющий видит «обычный телефон» — никаких подозрительных материалов, приложений, контактов.

Результат: конфиденциальность источников защищена, материалы не скомпрометированы.

#### Автоматическая перезагрузка и режим BFU

* Настраиваете **auto-reboot при бездействии** на 6-12 часов.
* Если устройство конфисковано (вы не разблокировали его в течение 6 часов) — оно автоматически перезагружается и переходит в режим **Before First Unlock**.
* Все ключи шифрования стираются из памяти. Даже если атакующий использует профессиональные инструменты форензики (Cellebrite, GrayKey) — данные недоступны без длинного пароля.
* Биометрия (отпечаток пальца) не работает после перезагрузки — нельзя принудить разблокировать прикосновением пальца.

#### Auditor: проверка целостности устройства

**Проблема:** Если устройство было изъято (даже ненадолго), как убедиться, что в него не внедрили шпионское ПО или не модифицировали систему?

**Auditor** — приложение GrapheneOS для **аппаратной аттестации** (hardware attestation).

**Как это работает:**

* Устанавливаете Auditor на **основное устройство** (журналиста) и **доверенное устройство** (например, телефон коллеги или запасной аппарат в безопасном месте).
* Сканируете QR-код с доверенного устройства основным — Auditor запоминает криптографический «отпечаток» основного устройства.
* **Периодически (или после подозрительного события)** проверяете устройство: сканируете QR-код снова.
* Auditor через **Titan M security chip** проверяет:
* не изменён ли загрузчик;
* не модифицирована ли система;
* не подменены ли ключи Verified Boot;
* совпадает ли прошивка с оригинальной.
* Если **всё в порядке** — зелёный статус «Verified». Устройство чистое.
* Если что-то изменено — **красный статус «Failed»**. Устройство скомпрометировано, нельзя доверять.

**Удалённая аттестация:**

Можно настроить автоматическую проверку через сервер. Устройство периодически (раз в день/неделю) отправляет подписанный отчёт о своём состоянии на ваш защищённый сервер. Если устройство перестало отправлять отчёты или отчёт показывает модификацию — вы узнаете об этом, даже если физически не имеете доступа к устройству.

**Практический сценарий:**

Журналист работает в зоне конфликта. Устройство ночью лежало в гостиничном сейфе. Утром он проверяет через Auditor — статус «Verified». Можно безопасно использовать дальше.

Если бы кто-то физически вскрыл устройство и попытался установить имплант (hardware implant, модификацию на уровне железа) или изменить прошивку — Auditor обнаружил бы это.

#### USB Restricted Mode (off-mode USB)

Когда устройство **заблокировано**, USB-порт автоматически **отключается** (не передаёт данные, только заряжается).

**Защита от:**

* **Атак через USB** — невозможно подключить устройство к компьютеру и попытаться эксплуатировать уязвимости через протоколы USB (такие атаки реальны — например, инструменты типа Cellebrite используют специальные кабели и адаптеры для эксплуатации багов в USB-стеке).
* **Juice jacking** — кража данных через зарядные станции (в аэропортах, кафе). Даже если подключили «зарядку», которая на самом деле пытается прочитать данные — USB-данные заблокированы, передаётся только питание.

После разблокировки устройства USB-порт активируется. Вы можете передавать файлы, подключаться к компьютеру — но только **после явного разрешения**.

**Итог для журналиста:**

* Устройство в кармане — USB заблокирован. Даже если кто-то физически подключит кабель (в толпе, при обыске) — передача данных невозможна.
* Нужно подключить к компьютеру — разблокируете устройство, соглашаетесь на передачу данных в уведомлении.

---

### Корпоративный BYOD / фрилансер: работа и личное на одном устройстве

**Контекст:**

**BYOD (Bring Your Own Device)** — сценарий, когда сотрудник использует личное устройство для рабочих задач. Фрилансеры работают с несколькими клиентами, каждый со своими требованиями к конфиденциальности.

**Проблемы:**

* Смешение личных и рабочих данных на одном устройстве — риск утечки конфиденциальных документов клиента через личные приложения.
* Работодатель требует контроля (MDM, Mobile Device Management) — вторгается в личную жизнь.
* Клиент требует защиты данных, но вы не хотите отдавать весь телефон под корпоративное управление.

**Что даёт GrapheneOS:**

#### Профили для разделения контекстов

* **Личный профиль** — ваши мессенджеры, соцсети, фото, личная почта.
* **Рабочий профиль «Клиент А»** — документы, почта, корпоративные приложения для одного клиента.
* **Рабочий профиль «Клиент Б»** — то же для другого клиента.

Каждый профиль **изолирован на уровне операционной системы**. Данные клиента А физически не могут попасть в профиль клиента Б или в личный профиль — даже если в каком-то приложении есть уязвимость.

#### Contact Scopes и Storage Scopes

Рабочие приложения (например, корпоративный мессенджер или CRM) часто требуют доступ к контактам или файлам.

**Без Scopes:**

Приложение получает **весь список контактов** (включая личные) или **полный доступ к файлам** (включая личные фотографии). Это утечка личной информации в корпоративное приложение.

**С Contact/Storage Scopes:**

* Открываете приложение CRM.
* Оно запрашивает доступ к контактам.
* Вместо «разрешить всё» или «запретить» — выбираете **конкретные контакты** (только рабочие: коллеги, клиенты). Личные контакты остаются невидимыми для приложения.
* Аналог ично с файлами: приложению для обработки счетов даёте доступ только к папке «Документы/Работа», но не к личным фотографиям или другим файлам.

**Результат:**

* Рабочие приложения функциональны — видят то, что им нужно для работы.
* Личные данные защищены — не покидают личный профиль, не попадают в корпоративные системы.

#### Сетевые и датчиковые тумблеры

Рабочий профиль активен только во время работы. В нерабочее время:

* Открываете **Network Permission** для рабочего профиля.
* **Блокируете сеть** для всех рабочих приложений одним тумблером.
* Рабочие мессенджеры, почта, CRM — **не могут отправлять/получать данные**. Вы вне досягаемости работодателя/клиентов после завершения рабочего дня.

Утром включаете сеть обратно — приложения синхронизируются, уведомления приходят.

**Датчики:**

Если рабочее приложение требует геолокацию (например, система учёта рабочего времени с отслеживанием местоположения), но вы не хотите, чтобы работодатель знал, где вы находитесь вне рабочих часов:

* Даёте разрешение на геолокацию в рабочем профиле.
* Через **Sensors Permission** делаете геолокацию **доступной только во время использования приложения**.
* Когда приложение в фоне (вы не работаете) — доступ к геолокации блокируется системой. Работодатель видит последнее известное местоположение (офис, где вы закончили день), но не отслеживает вас дома.

#### VPN leak hardening

Работаете с конфиденциальными данными клиента через корпоративный VPN.

**Проблема обычного Android:**

VPN может протекать (DNS-утечки, разрывы соединения), и данные клиента уйдут в открытую сеть мимо VPN — это нарушение контракта, риск юридических последствий.

**GrapheneOS:**

* Включаете корпоративный VPN в рабочем профиле.
* Система **гарантирует отсутствие утечек** (блокирует весь трафик вне VPN, защищает от DNS-гонок, отключает IPv6 если VPN не поддерживает).
* Клиент получает гарантию: все его данные идут через защищённый канал. Вы выполняете требования контракта.

#### Пересылка уведомлений между профилями

Работаете в личном профиле (общаетесь с друзьями), но нужно видеть срочные рабочие уведомления (письмо от клиента, звонок от коллеги).

**Настройка пересылки:**

Settings → System → Multiple users → [рабочий профиль] → Forward notifications.

Выбираете, какие уведомления пересылать в личный профиль:

* звонки и SMS (чтобы не пропустить срочный вызов);
* уведомления от конкретных приложений (рабочая почта, корпоративный мессенджер);
* без пересылки содержимого (только «У вас новое письмо», но не текст письма).

**Результат:**

Вы в личном профиле, видите, что пришло рабочее письмо. Переключаетесь в рабочий профиль (2 секунды), читаете, отвечаете. Не нужно постоянно сидеть в рабочем профиле «на всякий случай».

**Итог для фрилансера/BYOD:**

* Одно устройство — несколько изолированных рабочих пространств. Не нужен второй телефон для работы.
* Личная жизнь защищена от корпоративного контроля. Работодатель не видит ваших личных данных.
* Конфиденциальность клиентов обеспечена изоляцией. Данные разных клиентов не пересекаются.
* Гибкий контроль доступа (Scopes, Network/Sensors) позволяет точно настроить, что видят рабочие приложения.

---

### Родитель/семья: безопасное устройство для ребёнка

**Контекст:**

Ребёнку нужен смартфон (для связи, обучения, развлечений), но родитель хочет контролировать, что ребёнок устанавливает и использует, без установки навязчивого родительского контроля, который легко обходится.

**Что даёт GrapheneOS:**

#### Отдельный профиль для ребёнка с запретом установки приложений

Создаёте **детский профиль**:

Settings → System → Multiple users → Add user → Restricted profile.

**Настройки:**

* **Запрет установки приложений** — ребёнок не может устанавливать новые приложения из Play Store, Aurora Store, или загружать APK. Только родитель (владелец устройства) может добавлять приложения.
* **Белый список приложений** — родитель выбирает, какие приложения доступны ребёнку. Например: мессенджер для связи с семьёй, образовательные приложения, несколько игр.
* **Запрет изменения настроек безопасности** — ребёнок не может отключить контроль, изменить пароль профиля, удалить родительский профиль.

**Как работает на практике:**

* Ребёнок использует устройство в своём профиле. Видит только разрешённые приложения.
* Хочет установить новую игру — просит родителя. Родитель переключается в свой профиль (вводит пароль), проверяет приложение, устанавливает его в детский профиль (или отказывает).
* Ребёнок **не может обойти** контроль — профили изолированы на уровне операционной системы, не существует «взлома» через настройки или приложения.

#### Установка доступных приложений (curated app list)

Родитель может заранее подготовить **набор приложений**, которые ребёнок может установить самостоятельно из «безопасного списка».

**Настройка:**

* Родитель в своём профиле помечает приложения как «доступные для установки» в детском профиле.
* Ребёнок видит эти приложения в своём профиле (через Apps или Play Store, если установлен), может устанавливать/удалять их по желанию.
* Но устанавливать приложения **вне этого списка** — нельзя.

**Пример:**

Разрешённые приложения: Khan Academy, Duolingo, Minecraft, YouTube Kids.

Ребёнок может установить/удалить их по желанию, но не может поставить TikTok, Instagram или случайную игру с рекламой и микротранзакциями.

#### Приватные скриншоты

Ребёнок делает скриншот (например, смешная картинка из игры, чтобы показать другу).

**Проблема обычного Android:**

Скриншот сохраняется в общую галерею. Если у ребёнка есть приложение облачной синхронизации (Google Photos) — скриншот автоматически загружается в облако. Если приложение имеет доступ к фото — видит скриншот (и может отправить его на свои серверы для анализа/рекламы).

**GrapheneOS с Private Screenshots:**

* Скриншоты сохраняются в **изолированную папку**, доступную только стандартному просмотрщику изображений.
* Приложения (игры, мессенджеры) **не видят** эти скриншоты в галерее.
* Ребёнок может поделиться скриншотом вручную (долгое нажатие → Share → выбор приложения), но автоматической утечки не происходит.

**Зачем это важно:**

Дети часто не осознают, какие данные они расшаривают. Скриншот игры может содержать информацию о местоположении (если игра показывает карту), имя ребёнка (если в игре видно имя аккаунта), или просто накапливаться в облаке без контроля. Private Screenshots защищают от непреднамеренной утечки.

#### Контроль сетевого доступа

Родитель может **заблокировать сеть** для определённых приложений в детском профиле.

**Пример:**

* Ребёнку разрешена оффлайн-игра, но родитель не хочет, чтобы игра показывала рекламу или предлагала встроенные покупки (которые требуют интернета).
* Блокируете сеть для этой игры через Network Permission.
* Игра работает, но реклама не загружается (нет сети), встроенные покупки недоступны.

**Ограничение времени использования через завершение сессии:**

Настраиваете **автоматическое завершение сессии** детского профиля через заданное время (например, через 2 часа после переключения в него).

* Ребёнок играет/учится в своём профиле.
* Через 2 часа система автоматически завершает сессию профиля — все приложения закрываются, профиль «замораживается».
* Ребёнок не может продолжить использование без повторной активации профиля родителем (требуется пароль владельца).

Это естественный **таймер экранного времени**, встроенный на уровне системы — обойти его невозможно.

**Итог для родителя:**

* Полный контроль над тем, что ребёнок устанавливает и использует.
* Защита от случайной установки вредоносных/неподходящих приложений (ребёнок не может установить что-то без разрешения).
* Естественное ограничение экранного времени через завершение сессий.
* Приватность ребёнка защищена — скриншоты не утекают, приложения не собирают лишние данные.

---

### Исследователь/разработчик: тестирование безопасности и разработка

**Контекст:**

Исследователи безопасности, разработчики приложений, тестировщики нуждаются в **надёжной платформе** для анализа кода, тестирования уязвимостей, разработки защищённых приложений.

**Что даёт GrapheneOS:**

#### Vanadium WebView для тестирования веб-безопасности

Разработчик создаёт веб-приложение или исследует безопасность сайта.

**Vanadium** (системный WebView в GrapheneOS) предоставляет:

* **Самый защищённый WebView-движок** среди мобильных платформ — Site Isolation, hardened malloc, MTE (на Pixel 8/9), строгий CSP.
* Если веб-приложение работает в Vanadium — оно пройдёт самый строгий тест на безопасность. Если оно эксплуатируется в Vanadium — значит, уязвимость критическая (потому что обычные браузеры ещё более уязвимы).

**Практический сценарий:**

Исследователь тестирует XSS-уязвимость (Cross-Site Scripting) в веб-приложении:

* Запускает приложение в Vanadium.
* Пытается инжектить вредоносный JavaScript.
* Vanadium блокирует выполнение из-за строгого CSP и изоляции контекста выполнения.
* Исследователь видит: «Эксплойт не сработал даже в самом защищённом окружении — уязвимость, вероятно, несущественна». Или наоборот: «Сработал даже здесь — это серьёзная дыра».

#### Усиленные sandbox и mitigations для анализа малвари

Исследователь анализирует вредоносное Android-приложение (malware sample).

**Проблема обычного Android:**

Малварь может эксплуатировать уязвимости в системе, вырваться из песочницы приложения, получить root-доступ, и скомпрометировать устройство исследователя.

**GrapheneOS:**

* **Усиленные песочницы** (жёстче seccomp-фильтры, строже SELinux) делают escape из sandbox крайне сложным.
* **Mitigations против эксплуатации памяти** (hardened malloc, CFI, SCS) блокируют большинство известных техник эксплуатации.
* **MTE на Pixel 8/9** обнаруживает любые попытки эксплуатации через memory corruption — атака немедленно прерывается.

**Результат:**

Исследователь может запустить подозрительный APK в **изолированном профиле** на GrapheneOS и анализировать его поведение с минимальным риском компрометации устройства.

После анализа — удаляет профиль, все данные малвари стираются, основная система осталась чистой.

#### Аппаратный MTE на Pixel 8/9 для поиска багов

Разработчик создаёт собственное приложение на C/C++ (например, игровой движок, криптографическую библиотеку).

**Проблема:**

Баги в управлении памятью (use-after-free, buffer overflow) — частая причина уязвимостей. Традиционно их ищут через статический анализ или санитайзеры (AddressSanitizer), но они замедляют выполнение в десятки раз.

**MTE (Memory Tagging Extension) на Pixel 8/9:**

* **Аппаратная проверка каждого обращения к памяти** в реальном времени без замедления.
* Если код пытается записать/прочитать память с неправильным тегом (например, use-after-free: память уже освобождена, но указатель остался) — **немедленный крэш** с точным местом ошибки .

**Практическое использование:**

* Разработчик собирает приложение с поддержкой MTE (флаг компилятора `-fsanitize=memtag`).
* Запускает на Pixel 8/9 с GrapheneOS.
* Тестирует приложение — все обращения к памяти проверяются **аппаратно, на лету**.
* При обнаружении ошибки памяти — система генерирует детальный crash report с точным местом бага (какая строка кода, какой адрес памяти, какой тег был ожидаем и что получено).
* Разработчик исправляет баг **до релиза** приложения, а не после того, как пользователи столкнутся с крэшами или уязвимость будет эксплуатирована.

**Преимущество перед санитайзерами:**

* **Нет замедления** — MTE работает аппаратно, производительность близка к нативной.
* **Работает в production-сборках** — можно включить MTE даже в финальной версии приложения (в магазинах), и пользователи автоматически получат защиту от эксплуатации memory corruption.

Для разработчиков, работающих с нативным кодом, Pixel 8/9 с GrapheneOS — это **лучшая платформа для отладки безопасности памяти** среди всех мобильных устройств.

#### Reproducible builds и прозрачность

Исследователь хочет убедиться, что официальная сборка GrapheneOS **действительно собрана из открытого исходного кода** без добавления бэкдоров.

**GrapheneOS поддерживает reproducible builds** (воспроизводимые сборки):

* Любой может взять исходный код из GitHub.
* Собрать систему самостоятельно, следуя документированной процедуре.
* Сравнить **побайтово** результат своей сборки с официальным образом, опубликованным на сайте GrapheneOS.
* Если они **идентичны** — значит, в официальной сборке нет ничего, кроме того, что в исходниках. Полная прозрачность.

Это критично для исследователей, которые не доверяют на слово, а проверяют всё сами.

**Итог для исследователя/разработчика:**

* Максимально защищённая платформа для анализа малвари и небезопасного кода.
* Аппаратные инструменты (MTE) для поиска багов памяти без loss of performance.
* Прозрачность системы (open source + reproducible builds) — можно проверить каждый байт.
* Песочницы и изоляция профилей позволяют безопасно тестировать опасный код.

---

### «Обычный» пользователь: приватность без жертв в удобстве

**Контекст:**

Человек, который просто хочет, чтобы его данные не собирались Google, рекламными сетями, производителями приложений. Не параноик, не исследователь безопасности — просто **ценит приватность** и хочет контроль над своими данными. Но при этом нужны обычные приложения: банки, карты, мессенджеры, игры.

**Основной вопрос:** «Могу ли я использовать GrapheneOS, не становясь техническим гуру, и не отказываясь от привычных приложений?»

**Ответ:** Да. GrapheneOS для этого сценария — **практичнее, чем кажется**.

#### Sandboxed Google Play: совместимость без сдачи привилегий

**Проблема альтернативных прошивок:**

Многие «приватные» Android-прошивки (LineageOS, /e/OS и другие) либо:

* вообще не включают Google Play Services — половина приложений не работает (банки, приложения с push-уведомлениями, приложения с Google Maps API);
* включают **microG** — открытую реализацию Play Services, которая работает «так себе» (многие функции не реализованы, совместимость хромает, приложения крэшатся или работают нестабильно);
* требуют **root-доступа** для установки Play Services — это огромная дыра в безопасности.

**GrapheneOS + Sandboxed Play:**

* Устанавливаете **оригинальные Google Play Services** (те же, что в обычном Android).
* Они работают как **обычное приложение** (без системных привилегий), в изолированной песочнице.
* **Совместимость 99%** — банковские приложения, игры, карты, всё, что требует Play Services — работает так же, как на обычном Android.
* Но Google **не имеет системного доступа** — не может читать данные других приложений, не видит, что вы устанавливаете, не получает телеметрию обо всём, что вы делаете.

**Практически:**

Обычный пользователь устанавливает GrapheneOS, затем устанавливает Sandboxed Play из репозитория Apps (два тапа). Открывает Play Store, логинится (или использует без логина через Aurora Store), устанавливает привычные приложения — всё работает.

**Разница с обычным Android:**

* Google не знает, что вы делаете вне Play Store.
* Push-уведомления работают, но Google не читает их содержимое.
* Платежи через Google Pay работают, но данные транзакций не связаны с вашей активностью в других приложениях (они изолированы).

#### Автоматические обновления: «просто работает»

**Проблема кастомных прошивок:**

Обновления — ручной процесс: скачать образ, подключить к компьютеру, прошить через fastboot, надеяться, что ничего не сломается. Обычный пользователь не будет этим заниматься → устройство остаётся на старой версии с уязвимостями.

**GrapheneOS:**

* Обновления загружаются **автоматически в фоне**.
* Устанавливаются **без участия пользователя** (пока вы пользуетесь телефоном).
* Применяются после перезагрузки (которая занимает 30 секунд, как обычно).
* Если обновление сломано — **автоматический откат** на предыдущую версию, никакого «кирпича».

Обычный пользователь **вообще не думает об обновлениях** — система сама остаётся актуальной и безопасной. Это **проще**, чем на стоковом Android (где нужно вручную заходить в настройки и тапать «Проверить обновления»).

#### Понятные переключатели приватности

**Сетевые разрешения:**

Установили приложение фонарика. Зачем фонарику интернет? GrapheneOS показывает: «Приложение Flashlight запрашивает сетевой доступ».

* Тапаете **«Запретить»**.
* Фонарик работает (включает/выключает светодиод), но **не может отправить данные** на свои серверы (аналитика, реклама).

Это **интуитивно понятно** даже неопытному пользователю. «Зачем фонарику интернет? Не нужен — запрещаю».

**Датчики:**

Приложение погоды запрашивает геолокацию (чтобы показать погоду в вашем городе). Вы разрешаете — но только **«Во время использования»**.

* Открыли приложение — оно видит ваше местоположение, показывает погоду.
* Закрыли приложение — доступ к геолокации **автоматически блокируется**. Приложение не может отслеживать вас в фоне.

Это базовое поведение в GrapheneOS (как в iOS, но строже) — никакой фоновой слежки без явного разрешения.

**Contact/Storage Scopes:**

Мессенджер просит доступ к контактам (чтобы найти друзей, которые тоже используют мессенджер).

* Вместо «дать доступ ко всей адресной книге» GrapheneOS спрашивает: «Какие контакты показать этому приложению?»
* Выбираете несколько контактов (близкие друзья, коллеги) — мессенджер видит только их.
* Ваша полная адресная книга (контакты врачей, юристов, родственников) **не загружается на серверы мессенджера**.

Обычный пользователь **интуитивно понимает ценность** этого: «Почему мессенджер должен знать всех моих знакомых? Покажу ему только тех, с кем хочу общаться через него».

#### Без сложной настройки

GrapheneOS работает **безопасно из коробки**:

* Не нужно копаться в настройках часами.
* Не нужно устанавливать дополнительные приложения для блокировки трекеров (это встроено).
* Не нужно настраивать firewall вручную (Network Permission делает это просто).

**«Просто включил и пользуешься»** — но с высоким уровнем приватности и безопасности по умолчанию.

**Итог для обычного пользователя:**

* Привычные приложения работают (банки, игры, карты) — через Sandboxed Play.
* Не нужно думать об обновлениях — система сама остаётся актуальной.
* Простые и понятные инструменты контроля приватности (разрешения, Scopes, тумблеры).
* Google и другие компании собирают **на порядок меньше данных** о вас, но вы не жертвуете удобством.

---

### Общий выхлоп: GrapheneOS для разных ролей

| **Роль** | **Ключевые функции** | **Защита от чего** |
|----------|---------------------|-------------------|
| **Журналист/активист** | Профили, duress-PIN, Auditor, auto-reboot, USB restricted mode | Государственная слежка, конфискация, принуждение |
| **Корпоративный/фрилансер** | Профили BYOD, Contact/Storage Scopes, Network/Sensors toggles, VPN hardening | Смешение личного/рабочего, утечка данных клиента, корпоративный контроль личной жизни |
| **Родитель** | Restricted profiles, запрет установки, private screenshots, контроль сети | Нежелательные приложения, избыточное экранное время, утечка детских данных |
| **Исследователь/разработчик** | Vanadium WebView, MTE, усиленные sandbox, reproducible builds | Эксплуатация багов при анализе малвари, ненайденные уязвимости в собственном коде, недоверие к бинарным сборкам |
| **Обычный пользователь** | Sandboxed Play, автообновления, понятные privacy-контроли | Сбор данных Google/рекламными сетями, трекинг, утечка контактов/файлов |

GrapheneOS **не универсальное решение для всех**, но для перечисленных сценариев это **лучший выбор** среди мобильных платформ по соотношению безопасность/приватность/удобство.

---

Мы увидели, как GrapheneOS решает конкретные задачи для разных типов пользователей — от экстремальных сценариев до повседневного использования. Но почему именно GrapheneOS лучше других альтернатив? Чем он отличается от LineageOS, CalyxOS, /e/OS и прочих «приватных» прошивок?

Следующий раздел объясняет **технические и философские причины**, почему GrapheneOS практичнее конкурентов именно в описанных сценариях.

---

## 12. Почему GrapheneOS практичнее других Android-прошивок в этих сценариях

На рынке существует множество альтернативных Android-прошивок, которые позиционируют себя как «приватные», «безопасные» или «свободные»:

* **LineageOS** — самая популярная кастомная прошивка, поддерживает сотни устройств;
* **CalyxOS** — похожа на GrapheneOS по философии, но с другими компромиссами;
* **/e/OS** — ориентирована на «де-гуглизацию» с красивым интерфейсом;
* **DivestOS** — форк LineageOS с усилениями безопасности.

Все они **лучше стокового Android** по части приватности. Но GrapheneOS стоит особняком по нескольким критичным аспектам.

---

### Google Play Services: изоляция вместо костылей

**Подход большинства прошивок:**

* **LineageOS, DivestOS:** вообще не включают Google Play Services — пользователь сам решает, ставить или нет. Если ставить — часто нужен root или установка через сторонние инструменты (которые ломают безопасность).
* **/e/OS:** не включает Google Play, предлагает «microG» — открытую реализацию API Google Play Services. Звучит хорошо, но **microG:**
* не поддерживает многие функции (SafetyNet/Play Integrity API почти не работает — банки блокируют);
* требует **signature spoofing** (подделка подписи приложений), что создаёт дыру в безопасности (любое приложение может выдать себя за другое);
* работает нестабильно — многие приложения крэшатся или теряют функциональность.
* **CalyxOS:** также использует microG, с теми же проблемами.

**Результат:**

Пользователь получает либо **несовместимость** (приложения не работают), либо **дыры в безопасности** (signature spoofing, root-доступ для установки Play Services).

**Подход GrapheneOS:**

**Sandboxed Google Play Services** — оригинальные компоненты от Google, работающие **как обычное приложение**:

* **Полная совместимость** — банки, игры, всё работает так же, как на стоковом Android.
* **Без привилегий** — Play Services не имеют системного доступа, работают в обычной песочнице приложения.
* **Без signature spoofing** — не нужна подделка подписей, система безопасности не ослабляется.
* **Опционально** — можно вообще не устанавливать, если не нужны приложения, зависящие от Google.

**Практический результат:**

Обычный пользователь устанавливает GrapheneOS, добавляет Sandboxed Play — получает **полную функциональность Android** (все приложения работают) **без системной интеграции Google** (нет сбора телеметрии, нет привилегированного доступа).

На других прошивках такой баланс недостижим — либо совместимость, либо приватность, но не оба одновременamente.

---

### Строгая модель «без увеличения поверхности атаки»

**Философия GrapheneOS:**

> Каждое изменение в системе должно либо **снижать поверхность атаки**, либо **не увеличивать** её. Добавление новых функций допустимо, только если они не ослабляют безопасность.

**Как это работает на практике:**

GrapheneOS **удаляет или отключает** компоненты AOSP, которые увеличивают риск:

* удалены системные приложения с избыточными привилегиями (ненужные Google-приложения, демонстрационный софт);
* отключены небезопасные legacy-функции (старые bluetooth-профили, небезопасные сетевые протоколы);
* ужесточены настройки по умолчанию (запрещена динамическая загрузка кода в базовой ОС, см. ниже).

**Философия других прошивок:**

Многие кастомные ROM **добавляют функции** для удобства/красоты, не всегда учитывая безопасность:

* **LineageOS:** много «фич» для кастомизации (темы движков, дополнительные настройки UI), но некоторые из них расширяют attack surface (например, дополнительные системные сервисы, сторонние библиотеки).
* **/e/OS:** добавляет собственные облачные сервисы (для замены Google Drive/Photos), которые требуют серверной инфраструктуры — дополнительная точка отказа и потенциального компрометирования.
* **CalyxOS:** добавляет VPN-сервис (Calyx VPN на базе RiseupVPN), встроенные инструменты для обхода блокировок — всё это увеличивает кодовую базу и сложность системы.

**Проблема:**

Чем больше кода — тем больше потенциальных уязвимостей. Каждый добавленный компонент — это новый вектор атаки.

**Результат для GrapheneOS:**

Минималистичная система, где каждая строка кода оправдана с точки зрения безопасности. Меньше кода = меньше багов = меньше уязвимостей.

---

### Запрет динамической загрузки кода в базовой ОС

GrapheneOS запрещает **динамическую загрузку исполняемого кода** (dynamic code loading) для системных компонентов и привилегированных приложений.

**Что это значит:**

Обычно Android-приложение может:

* загрузить библиотеку (`.so`-файл) из интернета;
* выполнить её как часть приложения.

Это используется легитимно (например, для обновления модулей приложения без полной переустановки), но также эксплуатируется малварью:

* приложение проходит проверку Play Store (выглядит безобидно);
* после установки загружает вредоносный модуль с удалённого сервера;
* выполняет его — обходит проверки системы, потому что вредоносный код не был в оригинальном APK.

**GrapheneOS блокирует это:**

* Системные компоненты и приложения с расширенными привилегиями **не могут** загружать и выполнять код, который не был в оригинальном APK.
* Попытка динамической загрузки → немедленный крэш приложения или блокировка операции.

**Исключение:** обычные пользовательские приложения (без привилегий) могут использовать динамическую загрузку (для совместимости с существующими приложениями), но для них это **не критично** — они работают в песочнице и не имеют доступа к чувствительным данным.

**Другие прошивки:**

Не вводят таких ограничений — динамическая загрузка кода разрешена везде (как в стоковом Android).

**Практический результат:**

Атаки типа «троянские загрузчики» (приложение загружает вредоносный модуль после установки) **не работают** против системных компонентов GrapheneOS. Это блокирует целый класс sophisticated малвари.

---

### Реальная проверка целостности через Auditor

**Проблема «root-детекта» в других прошивках:**

Многие банковские и корпоративные приложения проверяют, не получено ли root-доступа на устройстве (через SafetyNet или Play Integrity API). Цель — защита от модифицированных систем.

**Подход LineageOS, CalyxOS и других:**

* Пытаются **обмануть** эти проверки (через Magisk Hide, Universal SafetyNet Fix и другие костыли).
* Результат: **кошки-мышки** — Google обновляет проверки, костыли перестают работать, нужно искать новые обходы.

**Подход GrapheneOS:**

**Не обманывать, а доказать подлинность.**

GrapheneOS использует **аппаратную аттестацию** (hardware attestation) через Auditor:

* Устройство криптографически подтверждает, что загружено с **подписанного и проверенного bootloader**.
* Ключи Verified Boot хранятся в Titan M (аппаратный security chip) — подделать их невозможно.
* Система может пройти **attestation от Google** (Play Integrity API) в **baseline integrity mode** — Google признаёт, что устройство не модифицировано злонамеренно.

**Практический результат:**

Банковские приложения **работают на GrapheneOS** без костылей — система проходит проверки Play Integrity на уровне «BASIC» или «DEVICE» (в зависимости от приложения).

На других прошивках:

* либо приложения блокируются (банк видит, что система модифицирована);
* либо нужно устанавливать Magisk (что даёт root-доступ = огромная дыра в безопасности) и надеяться, что обход сработает.

**Attestation через Auditor:**

Помимо Play Integrity, GrapheneOS предлагает **собственную систему аттестации**:

* Удалённая верификация состояния устройства (может использоваться корпорациями для проверки устройств сотрудников).
* Криптографическое доказательство, что система не модифицирована (не взломана, не установлен rootkit).
* Работает **независимо от Google** — можно использовать в сценариях, где доверие к Google отсутствует.

**Другие прошивки не предоставляют аналога** — они либо полагаются на SafetyNet (который легко обходится и не даёт реальных гарантий), либо вообще не имеют механизма аттестации.

---

### Тонкие механизмы минимально-достаточного доступа

**Contact Scopes и Storage Scopes** — уникальные функции GrapheneOS, которых **нет в других Android-прошивках** (включая стоковый Android).

**Сравнение:**

| **Функция** | **Стоковый Android** | **LineageOS/CalyxOS/другие** | **GrapheneOS** |
|-------------|---------------------|------------------------------|----------------|
| **Доступ к контактам** | Всё или ничего | Всё или ничего | Выборочные контакты (Scopes) |
| **Доступ к файлам** | Вся папка или запрет | Вся папка или запрет | Конкретные файлы (Storage Scopes) |
| **Контроль датчиков** | Разрешить/запретить | Разрешить/запретить | Разрешить + ограничение вр времени/приложения |
| **Сетевые разрешения** | Всегда разрешены | Зависит от прошивки (обычно нет контроля) | Поприложенный контроль (Network Permission) |

**Практический смысл:**

На других прошивках приложение либо **получает полный доступ** (видит все контакты, все файлы), либо вообще не работает (если запретите разрешение).

На GrapheneOS можно дать **минимально необходимый доступ** — приложение функционально, но видит только то, что ему действительно нужно.

Это реализация принципа **least privilege** (минимальных привилегий) на уровне, недостижимом для других прошивок.

---

### Серверная инфраструктура и обновления: приватность end-to-end

**Как обновляются другие прошивки:**

* **LineageOS:** загружаете образ с сайта (или через OTA, если настроено). Сервера обновлений часто используют CDN (CloudFlare, Fastly), которые видят ваш IP, логируют запросы, могут подвергаться давлению правительств.
* **CalyxOS:** аналогично, используют сторонние сервисы для хостинга.
* **/e/OS:** собственные сервера, но инфраструктура менее защищена (нет DNSSEC/DANE/CAA, менее строгий CSP).

**GrapheneOS:**

* Собственные выделенные сервера (bare-metal, без облачных провайдеров).
* **DNSSEC, DANE, CAA** — невозможно подменить DNS или TLS-сертификат.
* **Строгий CSP** — защита от XSS и inject-атак на сайт проекта.
* **Нет логирования пользователей** — серверы не хранят IP-адреса, не трекают, кто и что скачивает.

**Практический результат:**

Когда вы обновляете GrapheneOS:

* ваш IP не логируется;
* невозможно подменить обновление через MITM-атаку (DNS/TLS защищены);
* даже если кто-то скомпрометирует один из центров сертификации — DANE и CAA блокируют поддельные сертификаты.

**Другие прошивки** полагаются на инфраструктуру третьих сторон (CDN, облачные хостинги), которые собирают метаданные и могут быть принуждены к сотрудничеству с властями.

Для пользователей в странах с цензурой или государственной слежкой это **критичная разница** — обновления GrapheneOS труднее заблокировать или подменить.

---

### Философия: безопасность > удобство, но без фанатизма

**Подход GrapheneOS:**

> Безопасность — приоритет №1. Удобство — важно, но не в ущерб безопасности. Если функция ослабляет безопасность — она не добавляется, даже если пользователи просят.

**Примеры:**

* **Нет root-доступа по умолчанию** — root ломает модель безопасности Android. GrapheneOS не предоставляет root, даже опционально. Если нужен root — GrapheneOS не для вас.
* **Нет кастомизации UI ради красоты** — интерфейс максимально близок к стоковому AOSP. Нет тем, виджетов, анимаций из других прошивок. Всё, что не относится к безопасности/приватности — вырезано.
* **Поддержка только Pixel** — не расширяют поддержку на устройства с компромиссами в безопасности, даже если это ограничивает аудиторию.

**Подход других прошивок:**

* **LineageOS:** «Даём пользователю выбор» — можно включить root, можно установить что угодно, можно настроить систему как душе угодно. Гибкость > безопасность.
* **CalyxOS:** баланс между удобством и приватностью, но идут на компромиссы (microG, встроенные VPN-сервисы с зависимостью от сторонней инфраструктуры).
* **/e/OS:** максимальное удобство для «обычных пользователей» (красивый UI, облачные сервисы), но ценой снижения безопасности.

**Кому что подходит:**

* **Если приоритет — максимальная кастомизация/удобство:** LineageOS или /e/OS.
* **Если приоритет — компромисс приватность + удобство:** CalyxOS.
* **Если приоритет — максимальная безопасность без компромиссов:** GrapheneOS.

GrapheneOS **не пытается быть для всех**. Это осознанный выбор: лучше быть лучшими в узкой нише (серьёзная безопасность), чем средними во всём.

---

Мы разобрались, почему GrapheneOS технически и философски превосходит альтернативы в сценариях, требующих серьёзной безопасности и приватности. Теперь остался последний вопрос: **как начать использовать GrapheneOS на практике?**

Следующий раздел — финальный. Мы дадим практические инструкции по установке, объясним, почему важно использовать официальный установщик, и где искать достоверную информацию об обновлениях и изменениях системы.

---

## 13. Практическое начало работы

Вы прочитали сотни страниц о технологиях безопасности, сценариях использования, преимуществах GrapheneOS. Теперь — практика

: **как установить систему** и начать безопасно использовать её.

GrapheneOS делает процесс установки **максимально простым и безопасным**, но важно делать всё правильно — через официальные каналы и инструменты. Любые «альтернативные гайды» или сторонние установщики могут содержать модифицированные образы или вредоносный код.

---

### Где устанавливать: официальный WebUSB-установщик

**Официальный сайт установки:** [grapheneos.org/install/web](https://grapheneos.org/install/web)

GrapheneOS предлагает **WebUSB-установщик** — установка прямо из браузера, без скачивания отдельных программ.

#### Как это работает

**Требования:**

* Поддерживаемое устройство Pixel (см. список в разделе 10).
* Компьютер с браузером, поддерживающим WebUSB (Chromium, Chrome, Edge, Brave на Windows/Linux/macOS; **не Safari**).
* USB-кабель (желательно оригинальный или качественный).

**Этапы установки:**

**1. Включите режим разработчика на Pixel.**

* Settings → About phone → нажмите на **Build number** семь раз подряд.
* Появится сообщение «You are now a developer».

**2. Разрешите разблокировку загрузчика.**

* Settings → System → Developer options → включите **OEM unlocking**.

**3. Перезагрузите устройство в режим bootloader.**

* Выключите телефон.
* Зажмите **Volume Down + Power** одновременно.
* Устройство загрузится в режим bootloader (чёрный экран с текстом).

**4. Подключите устройство к компьютеру.**

Используйте USB-кабель, подключите к порту USB (USB-C предпочтительнее, если есть).

**5. Откройте официальный WebUSB-установщик.**

Перейдите на [grapheneos.org/install/web](https://grapheneos.org/install/web) в браузере Chromium/Chrome.

**6. Следуйте инструкциям на экране.**

Установщик автоматически:

* обнаружит устройство;
* проверит, совместимо ли оно;
* загрузит актуальный образ GrapheneOS (или предложит использовать уже скачанный);
* разблокирует загрузчик (**Unlock bootloader**) — потребуется подтверждение на устройстве (кнопками громкости выберите «Unlock», подтвердите кнопкой питания);
* прошьёт систему (bootloader, recovery, system partitions);
* заблокирует загрузчик обратно (**Lock bootloader**) — критично для безопасности!

**Важно:** После установки загрузчик **повторно блокируется**, но уже с новыми ключами GrapheneOS — Verified Boot продолжает работать, теперь для кастомной системы.

**7. Перезагрузите устройство.**

После завершения установщик предложит перезагрузку. Устройство загрузится в GrapheneOS.

**Время процесса:** 10-20 минут (в зависимости от скорости интернета и устройства).

---

### Альтернатива: CLI (command-line installer)

Для тех, кто предпочитает командную строку или работает на системах без поддержки WebUSB (например, старые версии Linux), GrapheneOS предлагает **CLI-установщик**.

**Документация:** [grapheneos.org/install/cli](https://grapheneos.org/install/cli)

**Процесс:**

* Скачиваете образ GrapheneOS для вашего устройства (factory image).
* Проверяете криптографическую подпись образа (чтобы убедиться, что файл не модифицирован).
* Устанавливаете `fastboot` (часть Android SDK Platform Tools).
* Выполняете команды для прошивки (`fastboot flashall`, unlock/lock bootloader).

CLI-метод **не проще**, но даёт больше контроля. Подходит для опытных пользователей или сценариев, когда WebUSB недоступен.

---

### Зачем избегать сторонних гайдов

В интернете (форумы XDA, YouTube, блоги) можно найти «альтернативные инструкции» по установке GrapheneOS.

**Почему их опасно использовать:**

**1. Модифицированные образы.**

Злоумышленник может создать «GrapheneOS», в который встроен бэкдор, троян, шпионское ПО. Вы прошиваете такой образ — устройство скомпрометировано с первого запуска.

**Как проверить подлинность:**

Официальные образы GrapheneOS **криптографически подписаны** ключами разработчиков. WebUSB-установщик автоматически проверяет подпись — если файл модифицирован, установка прервётся.

Сторонние гайды часто предлагают **уже скачанные образы** (с файлообменников, Telegram-каналов, Mega/Dropbox) — вы **не можете проверить**, что это оригинальный GrapheneOS.

**2. Устаревшие инструкции.**

Процесс установки периодически меняется (новые модели устройств, изменения в процедуре, улучшения установщика). Гайд, написанный год назад, может быть неактуален и приведёт к ошибкам.

Официальная документация GrapheneOS **всегда актуальна** — обновляется с каждым релизом.

**3. Пропуск критических шагов.**

Некоторые сторонние гайды упускают важные детали:

* **Не блокируют загрузчик после установки** — устройство остаётся с разблокированным bootloader'ом, что **полностью ломает безопасность** (кто угодно может модифицировать систему с физическим доступом).
* **Не проверяют OEM unlocking** — если не включить эту опцию до разблокировки, устройство может «окирпичиться».
* **Используют неофициальные инструменты** (сторонние версии `fastboot`, модифицированные скрипты установки) — потенциальный вектор атаки.

**Официальный WebUSB-установщик:**

* автоматически выполняет все шаги в правильном порядке;
* проверяет подпись образа;
* блокирует загрузчик после установки;
* показывает понятные ошибки, если что-то пошло не так.

**Правило:** Используйте **только официальный установщик** с сайта [grapheneos.org](https://grapheneos.org). Игнорируйте любые сторонние гайды/образы/инструменты.

---

### Первый запуск: начальная настройка

После установки GrapheneOS устройство перезагрузится и покажет экран приветствия — **стандартная процедура настройки Android**, но без интеграции Google.

**Шаги:**

**1. Выберите язык.**

GrapheneOS поддерживает десятки языков (включая русский).

**2. Подключитесь к Wi-Fi (опционально).**

Можно пропустить — настроить позже.

**3. Настройте пароль/PIN.**

Это **главный пароль** для разблокировки устройства. Рекомендации:

* Минимум 8-12 символов для обычного использования.
* 16+ символов (или парольная фраза) для high-security сценариев.
* **Не используйте четырёхзначный PIN** — слишком легко подобрать.

**4. Настройте отпечаток пальца (опционально).**

Если планируете использовать биометрию. Можно добавить несколько пальцев (для удобства).

**Напоминание:** Для максимальной безопасности включите **двухфакторную разблокировку** (отпечаток + PIN) — настраивается позже в Security settings.

**5. Не входите в аккаунт Google на этом этапе.**

Стандартная процедура Android предлагает «Войти в аккаунт Google» — **пропустите этот шаг**.

GrapheneOS работает **без обязательного аккаунта Google**. Если понадобится Play Store — установите Sandboxed Google Play позже (см. раздел 5).

**6. Завершите настройку.**

Система готова к использованию.

---

### Установка Sandboxed Google Play (если нужно)

Если вам нужны приложения из Play Store (банки, игры, карты):

**1. Откройте приложение Apps** (предустановлено в GrapheneOS).

**2. Найдите «Google Play Services» и «Google Play Store».**

Они находятся в списке доступных приложений.

**3. Установите оба.**

Нажмите «Install» для каждого.

**4. Откройте Play Store.**

При первом запуске потребуется:

* Принять условия использования Google (если согласны).
* Войти в аккаунт Google (или использовать без логина — некоторые приложения будут недоступны).

**5. Установите нужные приложения.**

Работает как обычный Play Store.

**Важно:** Play Services работают **в песочнице**, без системных привилегий. Они видят только данные, которые вы явно разрешили (через разрешения приложений).

---

### Где читать релиз-ноты и следить за обновлениями

GrapheneOS регулярно выпускает обновления (системные патчи безопасности, новые функции, исправления багов). Важно знать, что изменилось, чтобы использовать новые возможности и понимать, какие уязвимости были закрыты.

#### Официальные каналы информации

**1. Releases на GitHub:**

[github.com/GrapheneOS/releases](https://github.com/GrapheneOS/releases)

Каждый релиз содержит:

* **версию** (номер сборки, дата);
* **changelog** (список изменений: новые функции, исправления багов, закрытые уязвимости);
* **signed образы** для ручной установки (если нужно).

**Пример changelog:**

```
2024031400 (March 14, 2024)
- Updated to AOSP security patches (March 2024)
- Added support for Pixel 8a
- Fixed bug in Contact Scopes causing crash in Contacts app
- Improved MTE performance on Pixel 9
- Updated Vanadium to 122.0.6261.119
```

**2. Официальный сайт (раздел News):**

[grapheneos.org/news](https://grapheneos.org/news)

Публикуются важные анонсы:

* новые релизы;
* изменения в архитектуре;
* обновления документации;
* ответы на часто задаваемые вопросы.

**3. Официальный X (Twitter):**

[@GrapheneOS](https://twitter.com/GrapheneOS)

Быстрые уведомления о релизах, обсуждение новых функций, ответы на вопросы сообщества.

**4. Matrix/чаты сообщества:**

GrapheneOS имеет официальные чаты в Matrix (децентрализованный мессенджер):

* **#grapheneos:grapheneos.org** — общий чат;
* **#grapheneos-offtopic:grapheneos.org** — неформальное общение;
* **#grapheneos-dev:grapheneos.org** — обсуждение разработки (для контрибьюторов).

Подключиться можно через клиент Element ([element.io](https://element.io)).

**Не используйте:**

* Неофициальные Telegram-каналы (могут распространять модифицированные образы или дезинформацию).
* Reddit-сообщества, не связанные с официальным проектом (могут давать неправильные советы).
* YouTube-гайды от случайных блогеров (часто устаревшие или содержат ошибки).

**Правило:** Доверяйте только официальным каналам — GitHub, grapheneos.org, официальный X/Matrix.

---

### Как обновляться

Обновления приходят **автоматически** (см. раздел 9), но вы можете проверить их вручную:

Settings → System → System update.

* Нажмите **«Check for update»**.
* Если доступно обновление — оно загрузится и установится в фоне.
* После установки появится уведомление: «Update ready, reboot to apply».
* Перезагрузите устройство — обновление применится.

**Переключение каналов (Stable/Beta):**

Settings → System → System update → Release channel.

* **Stable** — рекомендуется для повседневного использования.
* **Beta** — для тех, кто хочет тестировать новые функции раньше (могут быть баги).

---

### Резервное копирование данных

GrapheneOS поддерживает стандартное Android-резервное копирование, но **без облака Google** (если не установлен Sandboxed Play).

**Опции:**

**1. Локальное резервное копирование через Seedvault (встроено).**

GrapheneOS включает **Seedvault** — открытое приложение для резервного копирования:

* Резервирует данные приложений, настройки системы, список установленных приложений.
* Хранит бэкапы **локально** (на устройстве или USB-накопителе) или в облаке (NextCloud, WebDAV).
* **Шифрует данные** — бэкап защищён паролем, невозможно прочитать без ключа.

**Настройка:**

Settings → System → Backup → Seedvault.

Выберите, где хранить бэкапы (USB, облако), настройте шифрование.

**2. Ручное копирование через USB.**

Подключите устройство к компьютеру (USB), скопируйте важные файлы (фотографии, документы) вручную.

**3. Синхронизация через облако (если установлен Sandboxed Play).**

Можете использовать Google Drive, Dropbox и другие облачные сервисы — но помните, что данные будут храниться у третьих сторон (оценивайте риски приватности).

**Рекомендация для high-security сценариев:**

* Используйте **Seedvault с локальным хранением** (USB-накопитель, который храните в безопасном месте).
* **Шифруйте бэкап** сильным паролем (отличным от пароля устройства).
* Периодически проверяйте, что бэкап восстанавливается (делайте тестовое восстановление на запасном устройстве или после factory reset).

---

### Что делать после установки: рекомендуемые настройки

После первого запуска GrapheneOS стоит потратить 10-15 минут на **настройку безопасности и приватности** под ваши потребности.

#### Базовые настройки (для всех)

**1. Настройте автоматическую перезагрузку.**

Settings → Security → Auto reboot → выберите интервал (рекомендуется **18-24 часа** для обычного использования, **6-12 часов** для high-security).

Это переводит устройство в режим BFU при долгой неактивности — защита от форензики.

**2. Настройте PIN scrambling (перемешивание цифр).**

Settings → Security → Screen lock → PIN scrambling → **включите**.

Защищает от shoulder surfing (подглядывания через плечо) и камер наблюдения.

**3. Настройте автоматическое стирание после неудачных попыток.**

Settings → Security → Screen lock → Auto-wipe after failed attempts → выберите количество (рекомендуется **20-30 попыток** для обычного использования, **10 попыток** для high-security).

**4. Включите Private screenshots.**

Settings → Privacy → Private screenshots → **включите**.

Скриншоты будут изолированы от приложений (не попадут в облачную синхронизацию, не будут видны сторонним приложениям).

**5. Настройте Network Permission для приложений.**

По мере установки приложений заходите в:

Settings → Apps → [название приложения] → Network permission.

Запретите сеть приложениям, которым она не нужна (фонарик, калькулятор, локальные игры без мультиплеера).

#### Дополнительные настройки (для продвинутых)

**6. Настройте Duress-пароль.**

Settings → Security → Duress password/PIN.

Создайте альтернативный пароль, который **стирает конфиденциальные данные** при вводе (см. раздел 8).

**7. Настройте профили (если нужны).**

Settings → System → Multiple users → Add user/profile.

Создайте отдельные профили для работы, личного использования, или для членов семьи.

**8. Настройте Contact/Storage Scopes для приложений.**

По мере использования приложений, которые запрашивают доступ к контактам/файлам, выбирайте **Scopes** вместо полного доступа:

* Разрешение на контакты → выберите конкретные контакты.
* Разрешение на файлы → выберите конкретные файлы/папки.

**9. Настройте Sensors Permission (если нужно).**

Для приложений, которые используют геолокацию или другие датчики в фоне, ограничьте доступ:

Settings → Privacy → Permission manager → Location → [приложение] → **Allow only while using the app**.

Или через Sensors permission полностью заблокируйте датчики для конкретных приложений.

**10. Настройте VPN (если используете).**

Settings → Network & internet → VPN → добавьте ваш VPN-провайдер.

Включите:

* **Always-on VPN** (постоянное подключение).
* **Block connections without VPN** (блокировка трафика вне VPN).

Это активирует VPN leak hardening (см. раздел 7).

---

### Частые вопросы новых пользователей

**«Нужен ли мне аккаунт Google для использования GrapheneOS?»**

**Нет.** GrapheneOS работает полностью без аккаунта Google. Вы можете:

* устанавливать приложения через **Aurora Store** (доступ к Play Store без логина);
* использовать **F-Droid** (репозиторий открытых приложений);
* устанавливать APK вручную.

Если нужны приложения, которые требуют Play Services (банки, некоторые игры), установите **Sandboxed Google Play** — можете использовать его с аккаунтом Google или без (в зависимости от приложений).

**«Будут ли работать банковские приложения?»**

**Да**, в подавляющем большинстве случаев. После установки Sandboxed Google Play большинство банковских приложений работают нормально.

**Исключения:**

* Некоторые банки (особенно в странах с жёсткими проверками безопасности) могут блокировать кастомные прошивки. Проверьте конкретное приложение вашего банка — часто есть отчёты пользователей GrapheneOS на форумах/Reddit.
* В крайнем случае можете использовать **веб-версию банка** через Vanadium (браузер GrapheneOS) — она всегда работает.

**«Можно ли использовать Google Pay / бесконтактные платежи?»**

**Да**, Google Pay работает на GrapheneOS с Sandboxed Play. Бесконтактные платежи (NFC) функционируют нормально (при условии, что банк поддерживает Google Pay).

**«Сломается ли гарантия устройства после установки GrapheneOS?»**

**Зависит от страны и продавца.**

* В **США/ЕС**: разблокировка bootloader и установка кастомной прошивки **не должны** автоматически аннулировать гарантию (если поломка не связана с модификацией ПО). Но некоторые производители/продавцы могут отказать в гарантийном обслуживании — проверьте условия.
* В **других регионах**: политика варьируется. Часто гарантия аннулируется при разблокировке bootloader.

**Важно:** Вы можете **вернуть стоковую прошивку Google** в любой момент (через официальный flash tool от Google) — устройство вернётся в заводское состояние, и продавец не узнает, что была установлена кастомная прошивка (если только не проводит глубокую форензику).

**«Как удалить GrapheneOS и вернуться на стоковый Android?»**

**Процесс:**

* Перейдите на [developers.google.com/android/images](https://developers.google.com/android/images).
* Скачайте factory image для вашей модели Pixel (стоковая прошивка от Google).
* Используйте **Flash Tool** от Google или командную строку (`fastboot flashall`), чтобы прошить заводскую прошивку.
* Устройство вернётся к стоковому Android, все данные GrapheneOS будут стёрты.

**Важно:** Если вы удаляете GrapheneOS из-за проблем — проверьте официальную документацию или чаты сообщества, возможно, проблема решаема без возврата на сток.

**«Можно ли использовать GrapheneOS параллельно с работой/учёбой, где требуют корпоративные приложения?»**

**Да**, через **профили**. Создайте рабочий профиль, установите корпоративные приложения (например, Microsoft Intune, Slack, корпоративную почту) в него. Личные данные останутся в личном профиле — изолированы от корпоративного контроля.

Некоторые корпоративные MDM-системы (Mobile Device Management) могут **не поддерживать** GrapheneOS (потому что система не проходит строгие проверки Play Integrity на уровне «STRONG»). Проверьте с вашим IT-отделом — часто достаточно уровня «BASIC», который GrapheneOS проходит.

**«Нужно ли мне разбираться в Linux/командной строке для использования GrapheneOS?»**

**Нет.** Установка через WebUSB-инструмент **полностью графическая** (нажимаете кнопки в браузере, следуете инструкциям). После установки GrapheneOS работает как обычный Android — интерфейс привычный, приложения устанавливаются через Apps/Play Store, настройки понятные.

Технические знания нужны только для:

* CLI-установки (если не можете использовать WebUSB);
* продвинутой настройки (например, изменение системных параметров через ADB) — но это опционально.

Обычный пользователь может комфортно использовать GrapheneOS **без технических навыков**.

---

### Рекомендуемые приложения для GrapheneOS

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

#### Коммуникация

* **Signal** — защищённый мессенджер с end-to-end шифрованием.
* **Molly** — форк Signal с дополнительной защитой (например, блокировка скриншотов внутри приложения).
* **Element** — клиент для Matrix (децентрализованный мессенджер).

#### Браузер

* **Vanadium** (предустановлен) — основной браузер для повседневного использования.
* **Tor Browser** (через Aurora Store/F-Droid) — для анонимного веб-сёрфинга.

#### Email

* **K-9 Mail** — открытый email-клиент.
* **FairEmail** — продвинутый email-клиент с акцентом на приватность.

#### Файлы и документы

* **Material Files** — файловый менеджер.
* **PDF Viewer** (предустановлен в GrapheneOS) — просмотр PDF без утечки данных.
* **Collabora Office** — офисный пакет (аналог Microsoft Office).

#### Карты и навигация

* **Organic Maps** — оффлайн-карты на базе OpenStreetMap (без Google).
* **OsmAnd** — продвинутые оффлайн-карты с навигацией.

#### Камера и галерея

* **Camera** (предустановлена) — базовая камера GrapheneOS.
* **Gallery** (предустановлена) — просмотр фото/видео.
* **Simple Gallery** (F-Droid) — альтернативная галерея с дополнительными функциями.

#### VPN

* **Mullvad VPN** — один из самых приватных VPN-провайдеров (анонимная регистрация, оплата криптовалютой).
* **ProtonVPN** — VPN от создателей ProtonMail (бесплатный тариф доступен).

#### Пароли

* **KeePassDX** — локальный менеджер паролей (база хранится на устройстве, можно синхронизировать через облако вручную).
* **Bitwarden** — облачный менеджер паролей с открытым исходным кодом (E2E-шифрование).

#### Блокировка рекламы и трекеров

* **RethinkDNS** — локальный DNS/firewall (блокирует рекламу, трекеры, выборочно для приложений).
* **AdAway** (требует VPN-режим или root, последний не рекомендуется) — блокировщик рекламы через hosts.

**Примечание:** В GrapheneOS многие функции блокировки (Network Permission, Sensors) встроены, поэтому сторонние блокировщики часто не нужны.

---

### Заключительные рекомендации

**1. Регулярно проверяйте обновления.**

Даже если система обновляется автоматически, заходите в System update раз в месяц — убедитесь, что устройство актуально.

**2. Читайте changelog релизов.**

Когда выходит обновление, загляните в GitHub releases — узнайте, какие уязвимости закрыты, какие функции добавлены.

**3. Не устанавливайте приложения из ненадёжных источников.**

APK с неизвестных сайтов могут содержать малварь. Используйте:

* официальный Play Store (через Sandboxed Play);
* Aurora Store (зеркало Play Store);
* F-Droid (репозиторий открытых приложений);
* только проверенные APK с известных источников (например, Signal с официального сайта signal.org).

**4. Используйте сильные уникальные пароли.**

Для каждого аккаунта (почта, мессенджеры, банки) — свой уникальный пароль. Храните их в менеджере паролей (KeePassDX, Bitwarden).

**5. Включайте двухфакторную аутентификацию (2FA).**

Для всех важных аккаунтов (почта, банки, криптобиржи) используйте 2FA:

* через приложение (Aegis, andOTP);
* НЕ через SMS (SMS легко перехватывается).

**6. Будьте осторожны с публичными Wi-Fi.**

GrapheneOS имеет сетевую защиту (randomized MAC, отключение автосоединения), но публичные сети всё равно рискованны. Используйте VPN при подключении к неизвестным Wi-Fi.

**7. Регулярно проверяйте устройство через Auditor.**

Если у вас high-security сценарий, настройте периодическую аттестацию устройства (см. раздел 11) — убедитесь, что система не скомпрометирована.

**8. Делайте резервные копии.**

Настройте Seedvault (локальные бэкапы на USB) — регулярно копируйте данные. Устройство может быть потеряно, украдено, сломано — бэкап спасёт ваши данные.

---

## Финал: для кого GrapheneOS и стоит ли оно того

Вы прошли через сотни страниц технических деталей, сценариев использования, инструкций. Теперь — честный ответ на главный вопрос: **стоит ли переходить на GrapheneOS?**

Ответ зависит от ваших приоритетов и контекста использования.

---

### Для кого GrapheneOS — идеальный выбор

**1. Люди, работающие в зонах риска.**

Журналисты, правозащитники, активисты, юристы, исследователи — все, кто сталкивается с угрозами государственного уровня, целевыми атаками, физической конфискацией устройств.

**Что даёт GrapheneOS:**

* Максимальную защиту от эксплуатации (MTE, hardened malloc, усиленные песочницы).
* Инструменты против принуждения (duress-password, auto-reboot в BFU).
* Проверяемость состояния устройства (Auditor).
* Изоляцию данных через профили.

**Альтернативы (iPhone, другие Android-прошивки) уступают:**

* iPhone не поддерживает профили с полной изоляцией, нет duress-механизмов, закрытая система (невозможно проверить отсутствие бэкдоров).
* Другие Android-прошивки (LineageOS, CalyxOS) не имеют аналогичного уровня hardening и инструментов для экстремальных сценариев.

**Вывод:** Для этой категории GrapheneOS — **единственный практичный выбор** среди мобильных платформ.

---

**2. Профессионалы, работающие с конфиденциальными данными.**

Фрилансеры, консультанты, врачи, адвокаты, финансисты — все, кто обрабатывает чувствительную информацию клиентов или работодателей на личном устройстве (BYOD-сценарии).

**Что даёт GrapheneOS:**

* Изоляцию рабочих и личных данных (профили).
* Точечный контроль доступа к данным (Contact/Storage Scopes).
* Гарантию отсутствия VPN-утечек (для работы с корпоративными сетями).
* Защиту от сбора данных через Google/рекламные сети (Sandboxed Play без системных привилегий).

**Альтернативы:**

* Стоковый Android — Google имеет полный доступ ко всем данным, граница между личным и рабочим размыта.
* iPhone — лучше по приватности, чем стоковый Android, но не поддерживает Scopes (контроль доступа «всё или ничего»), дороже, менее гибкий.

**Вывод:** GrapheneOS даёт **профессиональный уровень контроля** без необходимости покупать отдельное устройство для работы.

---

**3. Родители, заботящиеся о цифровой безопасности детей.**

Семьи, где дети используют смартфоны, но родители хотят контролировать доступ к приложениям и защитить детские данные от сбора компаниями.

**Что даёт GrapheneOS:**

* Restricted profiles с полным контролем установки приложений.
* Изоляция детских данных (скриншоты, фото не утекают в облако).
* Блокировка сети для приложений (ребёнок играет в игру, но реклама/IAP не работают).
* Встроенный «таймер экранного времени» через завершение сессий профиля.

**Альтернативы:**

* Стоковый Android + родительский контроль (Google Family Link) — работает, но Google собирает данные о ребёнке, контроль легко обходится техническими детьми.
* iPhone + Screen Time — хорошее решение, но дороже, менее гибкое, всё равно привязано к экосистеме Apple.

**Вывод:** GrapheneOS даёт родительский контроль **без зависимости от облачных сервисов** и **без сбора данных о детях**.

---

**4. Разработчики и исследователи безопасности.**

Те, кто создаёт безопасные приложения, анализирует малварь, тестирует уязвимости, или просто ценит прозрачность и воспроизводимость систем.

**Что даёт GrapheneOS:**

* Аппаратные инструменты отладки (MTE на Pixel 8/9 для поиска багов памяти).
* Максимально защищённая платформа для анализа вредоносного кода (усиленные песочницы, изоляция профилей).
* Полная прозрачность (open source + reproducible builds — можно проверить каждый байт).
* Лучший WebView-движок для тестирования веб-безопасности (Vanadium).

**Альтернативы:**

* Стоковый Android/iOS — закрытые системы, невозможно проверить исходники, ограниченные инструменты отладки безопасности.
* Другие Android-прошивки — открытые, но не имеют аппаратных инструментов (MTE) и уровня hardening GrapheneOS.

**Вывод:** Для разработчиков, работающих с безопасностью, GrapheneOS на Pixel 8/9 — **лучшая мобильная платформа для разработки и тестирования**.

---

**5. «Обычные» пользователи, ценящие приватность.**

Люди, которые просто не хотят, чтобы Google, Facebook, рекламные сети знали о каждом их шаге, но при этом хотят использовать привычные приложения (банки, мессенджеры, игры).

**Что даёт GrapheneOS:**

* Работают все приложения (через Sandboxed Play).
* Автоматические обновления (не нужно думать о безопасности).
* Простые и понятные настройки приватности (Network Permission, Scopes, тумблеры датчиков).
* Резкое снижение сбора данных Google и рекламными сетями (без жертв в удобстве).

**Альтернативы:**

* Стоковый Android — удобный, но Google знает всё.
* iPhone — лучше по приватности (Apple меньше зависит от рекламы), но дороже, закрытая экосистема, меньше контроля.
* Другие Android-прошивки — часто ломают совместимость (банки не работают, push-уведомления глючат) или требуют технических знаний.

**Вывод:** GrapheneOS — **единственная Android-прошивка**, где можно получить серьёзную приватность **без жертв в функциональности**.

---

### Для кого GrapheneOS — НЕ лучший выбор

**1. Геймеры, использующие игры с жёсткими античитами.**

Некоторые мобильные игры (особенно соревновательные, с античитами) могут блокировать кастомные прошивки, даже если Play Integrity API проходит проверку.

**Проблема:**

Античиты иногда проверяют наличие root, разблокированного bootloader, модифицированной системы — и блокируют доступ, даже если GrapheneOS не имеет root и bootloader заблокирован с валидными ключами.

**Решение:**

* Проверьте конкретную игру — большинство игр (включая популярные типа PUBG, Genshin Impact, Call of Duty Mobile) работают на GrapheneOS нормально.
* Если игра критична и точно не работает — возможно, GrapheneOS не подходит (или держите отдельное устройство для игр).

---

**2. Пользователи старых/дешёвых устройств.**

GrapheneOS поддерживает только Pixel. Если у вас устройство другого производителя (Samsung, Xiaomi, OnePlus, бюджетные телефоны) — **GrapheneOS установить нельзя**.

**Альтернативы:**

* LineageOS (поддерживает сотни устройств).
* DivestOS (усиленный форк LineageOS).
* /e/OS (удобный, но менее безопасный).

Эти прошивки дают **базовую приватность** (лучше стокового Android), но сильно уступают GrapheneOS по безопасности.


**3. Люди, которым нужны специфичные функции производителя.**

Samsung Knox (для корпоративной безопасности), стилус S Pen (Samsung), проприетарные камеры (вычислительная фотография от Samsung/Xiaomi).

**Проблема:**

GrapheneOS работает только на Pixel — вы теряете функции других производителей. Камера Pixel отличная, но если вам критично важна камера конкретно Samsung S24 Ultra — придётся выбирать между камерой и безопасностью.

---

**4. Люди, которым нужна полная интеграция с экосистемой Apple.**

Если у вас MacBook, iPad, AirPods, Apple Watch — iPhone даёт **бесшовную интеграцию** (Handoff, AirDrop, Universal Clipboard, Continuity Camera).

GrapheneOS (и Android в целом) не интегрируется с экосистемой Apple так же органично.

**Вывод:** Если вы глубоко в экосистеме Apple — iPhone проще и удобнее (хотя менее гибкий и настраиваемый).

---

### Стоит ли GrapheneOS усилий?

**Усилия минимальны:**

* Установка — 15-20 минут через WebUSB (проще, чем переустановка Windows на компьютере).
* Настройка — 10-15 минут (базовые настройки безопасности).
* Обновления — автоматические, ноль усилий.
* Использование — как обычный Android (интерфейс привычный, приложения работают).

**Выгоды огромны:**

* Ваши данные **не собираются** Google/рекламными сетями 24/7.
* Устройство **защищено** от эксплуатации памяти, целевых атак, форензики.
* Вы **контролируете**, какие приложения имеют доступ к чему (Scopes, Network/Sensors permission).
* Система **остаётся актуальной** годами (7 лет обновлений на Pixel 8/9).

**Соотношение усилия/результат — одно из лучших** среди всех решений приватности и безопасности.

---

### Финальный вердикт

GrapheneOS — это **не компромисс**. Это мобильная операционная система, которая доказывает: можно быть **максимально безопасным и приватным**, оставаясь при этом **функциональным и удобным**.

Вы не жертвуете приложениями (банки работают, игры работают, всё работает — через Sandboxed Play).

Вы не жертвуете удобством (обновления автоматические, интерфейс привычный, настройки понятные).

Вы получаете **инструменты уровня nation-state defense** (защита от государственной слежки, форензики, целевых атак) в устройстве, которое умещается в кармане.

**Для тех, кто серьёзно относится к приватности и безопасности, GrapheneOS — это не выбор. Это необходимость.**

Для обычных пользователей, которые просто хотят «чтобы Google меньше знал» — GrapheneOS **проще и эффективнее**, чем любые настройки приватности в стоковом Android.

---

### Начните сегодня

* Купите поддерживаемый Pixel (б/у Pixel 7 — отличный бюджетный вариант, новый Pixel 8/9 — для долгосрочного использования).
* Перейдите на [grapheneos.org/install/web](https://grapheneos.org/install/web).
* Следуйте инструкциям (15 минут).
* Настройте базовые параметры безопасности (10 минут).
* Установите Sandboxed Play (если нужны приложения из Play Store).
* **Живите спокойно**, зная, что ваше устройство защищено лучше, чем 99% смартфонов в мире.

GrapheneOS — это не будущее мобильной безопасности.

**Это настоящее.**

И оно доступно прямо сейчас.