← Вернуться в EyeCopy English summary

Политика конфиденциальности EyeCopy

Действует с 17 октября 2026 года (редакция от 16 октября дополнена разделами об аккаунте, синхронизации, распознавании в облаке и технических событиях). Относится к сайту EyeCopy, приложениям EyeCopy для Android и iOS (версия 0.8 и новее).

Коротко
  • Видео с камеры, звук с микрофона, ваши файлы и записи обрабатываются только на вашем устройстве. Рекламы и трекинга нет.
  • Аккаунт необязателен. Без него данные не покидают устройство; с аккаунтом GitHub конспекты и настройки синхронизируются через сервер EyeCopy в Европейском союзе (раздел 3).
  • Фото уходит в сеть только если вы нажали «Распознать в облаке» и подтвердили; оно не сохраняется.
  • Технические события и ошибки (без текстов, фото и видео) помогают улучшать EyeCopy и отключаются в настройках. Исключения, которые вы включаете сами: голосовые команды и озвучивание могут использовать сервисы браузера или системы (раздел 3).

1. Кто отвечает за приложение

Разработчик и правообладатель EyeCopy: p3stival.

Связаться с разработчиком: market.mape@gmail.com.

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

2. Главный принцип

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

3. Какие данные обрабатываются и где

Камера (режим «Камера»)

Микрофон: стук и щелчок (режим «Звук»)

Голосовые команды и голосовые заметки

Озвучивание фрагмента

Настройка «озвучивать фрагмент» по умолчанию выключена. Если её включить, текст фрагмента читает синтезатор речи вашей системы или браузера. Некоторые браузеры (например, Chrome с голосами Google или Edge с онлайн-голосами Microsoft) могут отправлять озвучиваемый текст на серверы своего производителя.

Файлы и фотографии

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

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

В приложениях для Android и iOS политика конфиденциальности открывается в том же окне. Чтобы после возврата продолжить с того же места, открытый текст и место в нём на это время кладутся во временное хранилище окна (sessionStorage) и удаляются, как только вы вернётесь; при закрытии приложения система стирает их сама.

Кроме того, на сайте браузер кэширует файлы самого EyeCopy и его библиотеки (Cache Storage, сервис-воркер), чтобы сайт работал без интернета. В кэше нет ваших данных. Приложениям для Android и iOS этот кэш не нужен: все файлы встроены в приложение.

Эти данные не покидают устройство (кроме того, что вы сами синхронизируете через аккаунт — см. ниже). Если в системе включено резервное копирование (iCloud, резервная копия Android в аккаунте Google), система может включить данные приложения в вашу личную резервную копию. Доступа к ней у разработчика нет.

Аккаунт и синхронизация (по желанию)

Без аккаунта всё работает как описано выше, и данные не покидают устройство. Аккаунт нужен, чтобы конспекты и настройки были на всех ваших устройствах и чтобы распознавать фото в облаке.

Трансляция лекции (по желанию, нужен аккаунт лектора)

Лектор, вошедший в аккаунт, может транслировать доску группе: его телефон смотрит на доску, а участники вводят код сессии (вход им не нужен).

Обратная связь

Кнопка «Написать нам» (раздел «Профиль» и подвал) отправляет на сервер EyeCopy только то, что вы написали: сообщение, тему и, по желанию, контакт для ответа. Если включён флажок «приложить технические данные», к сообщению добавляются версия, платформа, размер экрана, выбранный режим и язык интерфейса — без текстов, фото и видео. Сообщения хранятся на сервере, пока мы их разбираем, и пересылаются разработчику уведомлением в Telegram. Пока сервер не подключён, кнопка открывает обычное письмо на адрес из раздела 13; без сети сообщение ждёт на устройстве и уходит, когда сеть появится.

Технические события и ошибки

Чтобы понимать, что в EyeCopy работает плохо, приложение может отправлять на сервер EyeCopy технические события: запуск и платформа (сайт, Android, iOS), версия, выбранный режим и размер фрагмента, скорость переписывания, число переключений и возвратов, качество калибровки камеры (одно число), итог распознавания фото (удалось ли, уверенность, время), а также ошибки JavaScript (текст ошибки и место в коде). В этих данных нет текстов конспектов, файлов, фото, видео и звука. Устройство помечается случайным идентификатором (ключ eyecopy-device); до входа события анонимны, после входа привязаны к аккаунту. Отправка отключается в «Профиль» → «Настройки» → «Приватность и данные»; «Стереть локальные данные» создаёт новый идентификатор. Ошибки могут дублироваться в сервис Sentry (Functional Software, Inc.) для разбора. На сайте может работать счётчик посещений Umami на нашем сервере — без cookie и без передачи данных третьим лицам.

Другое

4. Что мы не собираем

5. Сетевые запросы

EyeCopy обращается в сеть за собственными файлами и, если вы пользуетесь аккаунтом или распознаванием в облаке, к серверу EyeCopy:

6. Разрешения и как их отозвать

Все разрешения необязательны. Без камеры и микрофона суфлёр работает от касаний, свайпов и клавиш. Отозвать разрешение можно в любой момент:

7. Демонстрационные функции

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

Аккаунты, синхронизация, распознавание в облаке и трансляция лекции описаны в разделе 3; конспект ИИ на языковой модели пока не подключён. Когда появятся новые функции с передачей данных, эта политика будет обновлена до их запуска.

8. Дети

EyeCopy создан для школьников старших классов и студентов. Приложение не предназначено специально для детей младше 13 лет. Без аккаунта всё остаётся на устройстве; аккаунт и отправка технических событий — по желанию и отключаются (раздел 3). Если ребёнок пользуется приложением, родители могут в любой момент удалить его данные способами из раздела 9.

9. Хранение и удаление данных

Данные хранятся на устройстве, пока вы их не удалите. Удалить можно так:

Без аккаунта у разработчика копий ваших данных нет. С аккаунтом данные на сервере удаляются по кнопке «Удалить аккаунт» сразу, из резервных копий — в течение 30 дней.

10. Где находится сервер и кто им управляет

Сервер EyeCopy арендован у хостинг-провайдера в Европейском союзе (Германия или Финляндия) и управляется разработчиком. Аккаунт необязателен: без него всё, что вы вводите (например, имя в локальном профиле), хранится и обрабатывается только на вашем устройстве и под вашим контролем. По вопросам обработки данных пишите на адрес из раздела 13.

11. Безопасность

12. Изменения политики

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

13. Контакты

Вопросы о конфиденциальности и запросы: market.mape@gmail.com. Мы стараемся отвечать в течение 10 рабочих дней.

English summary

This summary is provided for convenience, for example for app store reviewers. The Russian text above is the authoritative version.

  • Developer: p3stival. Contact: market.mape@gmail.com. Effective: 17 October 2026 (the 16 October edition extended with the optional account, sync, cloud recognition and technical events).
  • Without an account nothing leaves the device. No ads and no tracking. An account is optional: sign-in with GitHub (we store the GitHub id, login, name and avatar URL) syncs the profile, saved notes, settings, daily statistics and margin notes through the EyeCopy server hosted in the the United States (Utah, provider Cloudzy), over HTTPS, with encrypted daily backups kept 30 days in Backblaze B2 (EU). Sessions use a random bearer token stored in local storage (hashed on the server); no cookies. “Удалить аккаунт” (Delete account) in the profile deletes all server data immediately.
  • Cloud recognition (optional): only after signing in and only when you press “Распознать в облаке” and confirm, the photo (downscaled to 1600 px) is sent to the EyeCopy server and forwarded to the recognition service: Anthropic (Claude model, USA) or Alibaba Cloud Model Studio (Qwen model, Singapore); the confirmation dialog names the one in use. The photo is not stored; only the request size, model, token counts and cost are logged for quotas, and the recognised text is returned.
  • Feedback: the “Write to us” button sends only what you type (message, topic, optional contact) and, if you keep the checkbox on, technical details (version, platform, screen size, mode, interface language) — no texts, photos or video. Messages are stored on the EyeCopy server while we handle them and forwarded to the developer as a Telegram notification. Without a server the button opens a regular email.
  • Technical events (optional, on by default when the app is built with a server address, switchable in Settings): app start and platform, version, chosen mode and fragment size, writing speed, switch/back counts, camera calibration quality, local recognition outcome, and JavaScript errors (message and code location). They never contain note texts, files, photos, audio or video. Devices are identified by a random id; events are anonymous until sign-in. Errors may be mirrored to Sentry. The website may use self-hosted, cookie-less Umami visit counting.
  • Camera: used only after the user turns on camera mode. Frames are processed on the device by MediaPipe Face Landmarker to detect whether the user looks at the screen or at the notebook. Video is never recorded, stored or transmitted; no biometric identification is performed.
  • Microphone: knock/click detection analyses only the sound level on the device; audio is never recorded or transmitted.
  • Voice commands (optional, off by default): use the platform Web Speech API. In Chrome, audio is processed by Google; in other browsers, by the browser vendor (e.g. Microsoft in Edge); in Safari and the iOS app, by Apple. Voice commands listen continuously until turned off. Voice input is not available in the Android app. The developer never receives audio or transcripts.
  • Files (PDF, DOCX, TXT, photos) are parsed on the device and never uploaded. Text in photos of pages and in scanned PDFs is recognised on the device by the bundled Tesseract engine (tesseract.js); photos never leave the device and are not stored — only the extracted text is kept in memory (or in local storage if you save it to the local profile). On the website the engine and the Russian/English language data (about 8 MB) are downloaded from the site itself the first time (or from a public CDN as a fallback) and cached for offline use; the apps bundle them. Printed text works well; handwriting and blackboards are still inaccurate, and the app says so. Notebook checking (handwriting) is a demo in this version.
  • Local storage: reading position, “don’t understand” marks, margin notes, an optional local profile (name, university, group, saved notes), daily word statistics, settings (including the last chosen mode) and UI flags (e.g. the install tip or the tutorial was dismissed, the camera should use the CPU) are kept in the device’s local storage only. In the apps, the open text is kept in session storage only while the privacy policy is open, to restore it on return. The website also caches the app’s own files for offline use.
  • Network: the EyeCopy server (api.<EyeCopy domain>) is contacted only for sign-in, sync, cloud recognition and technical events; Google, Telegram or GitHub takes part in sign-in (Google: account id, name, e-mail, avatar; Telegram: id, name, username, avatar; GitHub: id, login, name, avatar); Anthropic or Alibaba Cloud in cloud recognition (see above). The website is hosted on GitHub Pages, which logs visitor IP addresses for security. The apps bundle all files. Public CDNs (jsDelivr, cdnjs, unpkg; Google Cloud Storage for the MediaPipe model) are contacted only as a fallback if a bundled library or model fails to load; they see the IP address like any website. Fonts have no fallback source. The stand-alone demo file EyeCopy-demo.html loads its libraries from these CDNs and its fonts from Google Fonts. External links open in the browser only when tapped.
  • Lecture streaming (optional, requires the lecturer’s account): the lecturer’s phone sends single board frames (JPEG ≤ 1600 px, only when the board has changed and movement has stopped; never while writing) to the EyeCopy server and the same recognition service as cloud recognition (Anthropic or Alibaba Cloud, named in the dialog before streaming starts); frames are not stored, only the recognised text blocks, readable by anyone who has the session code. Sessions are deleted 30 days after they end and together with the lecturer’s account. Participants join by code without signing in; the server keeps no list of them, only the number of open connections.
  • Demo features (groups, “Explain”, AI summary, notebook check, the “Demo” lecture) are local mock-ups with sample data; sync is real only with an account.
  • Children: the app is not specifically directed at children under 13; without an account nothing leaves the device, and the account and technical events are optional.
  • Deletion: Profile → Settings → “Стереть локальные данные” (Erase local data) erases all EyeCopy data in local and session storage, including marks, margin notes and the session token; “Удалить аккаунт” deletes server data; or uninstall the app / clear site data.
  • Permissions (camera, microphone, speech recognition) are optional and can be revoked in system settings at any time.