K Kibo Скачать

Видит ли сторонняя клавиатура то, что вы набираете, без полного доступа?

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

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

Что видит любая клавиатура — с разрешением и без

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

Чем на самом деле управляет полный доступ

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

Место, о котором обычно молчат

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

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

Значит, выключать его всё-таки имеет смысл?

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

Что стоит проверить помимо переключателя

Раз полный доступ сам по себе не исключает локальную запись, разумно посмотреть ещё на несколько вещей, а не считать один переключатель исчерпывающим ответом.

Почему предупреждение одинаковое у всех

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

Где система решает за вас в любом случае

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

Частые вопросы

Мешает ли выключенный полный доступ клавиатуре видеть набранное?

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

Может ли клавиатура записывать набранное при выключенном переключателе?

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

Достаточно ли проверить, требует ли клавиатура полный доступ?

Это осмысленная проверка, но не полная. Дополните её разделом о данных в карточке приложения в App Store и конкретным, проверяемым объяснением от разработчика, зачем нужно каждое запрашиваемое разрешение. Отдельно стоит посмотреть, есть ли у клавиатуры серверная часть и учётная запись: без них отправлять данные попросту некуда.

Увидит ли сторонняя клавиатура мой пароль при вводе?

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

Попробуйте на своей клавиатуре

Kibo — бесплатная клавиатура для iPhone с настоящим механическим звуком клавиш, набором тем и эффектами RGB-подсветки. Без аккаунта, без рекламы, и работает даже с выключенным полным доступом.

Загрузить в App Store

Похожие руководства

Все руководства