Конфиденциальность

Обновлено: 22 октября 2026 года. Это перевод; при расхождениях действует английская версия.

У Codetree нет бэкенда, аналитики, рекламы, платного аккаунта и телеметрии. Запросы к репозиториям идут напрямую к провайдеру, выбранному пользователем. Необязательная синхронизация браузера использует хранилище аккаунта производителя браузера; собственного сервера синхронизации у Codetree нет.

Локальные данные

chrome.storage.local содержит настройки, подключённые аккаунты и учётные данные PAT/OAuth, выбранные ID аккаунтов, закладки, локальные отметки Viewed и ограниченные по размеру кэши деревьев репозиториев. Эти данные принадлежат профилю браузера и расширением не шифруются; защищайте профиль и устройство. Учётные данные, аккаунты, выбранные ID аккаунтов, отметки Viewed и кэши никогда не попадают в синхронизацию браузера. Токены обновления OAuth хранятся вместе с учётными данными своего аккаунта. Доверенное сессионное хранилище содержит состояние закрепления по окнам, временные данные авторизации устройства GitHub и метаданные рабочих областей вкладок файлов; оно очищается при перезапуске расширения или браузера.

Рабочие области файлов хранят пути файлов репозитория, активный путь, непрозрачный идентификатор нативного маршрута и позиции прокрутки по веткам и ревизиям. Ключи разделяют вкладку браузера, выбранный аккаунт, провайдера/хост, репозиторий и область Code или PR/MR/коммита. Пути и идентификаторы маршрутов могут раскрывать метаданные приватных репозиториев. Брокер проверяет метаданные, сам определяет идентичность аккаунта и отклоняет устаревшие сохранения после смены аккаунта. Ограничения: 32 открытых файла, 256 позиций, 50 рабочих областей и 64 КиБ на запись. Текст файлов и комментарии вместе с этими метаданными не сохраняются; они исключены из синхронизации браузера.

Доступ к локальному хранилищу установлен в TRUSTED_CONTEXTS; сессионное хранилище по умолчанию доступно только доверенным контекстам. Контент-скрипты получают ID, названия и имена пользователей аккаунтов, а также настройки и закладки; токены доступа и обновления и коды устройств они не получают никогда. Удаление аккаунта удаляет его локальные учётные данные и очищает кэш деревьев. Разрешения OAuth на стороне провайдера при этом не отзываются; для этого используйте настройки авторизованных приложений у провайдера. Удаление расширения удаляет его данные в Chrome.

Метаданные репозитория, комментарии и текст файлов кэшируются в ограниченной памяти service worker. Деревья, привязанные к ревизии, включая имена приватных файлов и папок, сохраняются в пределах 48 записей / 4 МиБ и действительны 24 часа. Просроченные записи удаляются при следующей загрузке или записи кэша; фонового таймера, удаляющего неактивные данные в момент истечения срока, нет. Ключи включают аккаунт, хост, проект и ревизию. Refresh и смена аккаунта очищают оба кэша; при превышении квоты хранилища постоянный кэш удаляется.

Необязательная синхронизация браузера

Синхронизация выключена по умолчанию и включается в Settings отдельно на каждом устройстве. chrome.storage.sync доступен только для TRUSTED_CONTEXTS. В нём хранится только явный список разрешённых настроек оформления и навигации, а также URL, заголовки и время создания закладок. URL и заголовки могут раскрывать названия приватных репозиториев; включая синхронизацию, вы разрешаете передачу этих метаданных производителю браузера на условиях его аккаунта. Токены, ID аккаунтов, имена пользователей, разрешения для собственных серверов, отметки Viewed, содержимое деревьев и файлов и сессионное состояние исключены.

Один версионированный снимок ограничен 8 КиБ и проверяется на соответствие доступным квотам браузера. Ошибка квоты или повреждённые данные не затрагивают локальные данные и отображаются в Settings. При первом включении применяются существующие удалённые настройки, а закладки объединяются по URL; для совпадающих URL сохраняются локальные данные. Последующие записи заменяют снимок по времени сохранения; при равном времени используется последний доставленный снимок. Разница часов устройств может задержать входящие изменения до следующего локального сохранения. Выключение останавливает синхронизацию на этом устройстве и сохраняет как локальную копию, так и общий снимок. Копии на других устройствах не удаляются, аккаунт браузера не отзывается.

Синхронизация требует одной экосистемы браузера и одного ID расширения; она не связывает аккаунты Chrome, Edge, Firefox и Safari. Поведение на нескольких устройствах и у разных производителей ещё требует проверки в реальных условиях.

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

Сервис репозиториев обрабатывает запросы API по своим правилам. Переход по обычной ссылке на репозиторий или обсуждение — это обычная навигация браузера.

Разрешения браузера

Разрешение Назначение
storage Настройки, учётные данные, закладки, отметки Viewed, деревья и сессионное состояние
scripting Регистрация контент-скриптов для серверов, настроенных пользователем
Доступ к хостам GitHub/GitLab Загрузка данных репозитория и встраивание интерфейса
Необязательный доступ к HTTPS-хостам Подключение конкретного собственного адреса, указанного в Settings
Необязательное identity Окно авторизации GitLab OAuth; запрашивается только при входе через GitLab

Необязательный шаблон HTTPS позволяет запрашивать собственные адреса; Codetree запрашивает только указанный адрес. Аккаунты добавляются и удаляются только в Settings расширения, но не из контент-скриптов.

Запись данных

Выбор аккаунта хранится локально. Настройки и закладки по умолчанию локальные и могут синхронизироваться после явного включения. Отметки Viewed в GitLab локальные. Отметки Viewed в GitHub могут синхронизироваться через GraphQL, если это поддерживается; иначе боковая панель показывает локальный режим.

Расширение читает комментарии и решения ревью. Оно не отправляет ревью, не публикует комментарии, не выполняет merge и не изменяет исходные файлы.

Этот сайт

На сайте нет аналитики, cookie и сторонних ресурсов. Ваш ручной выбор языка сохраняется в этом браузере как настройка codetree.landing.language. Если выбора ещё нет, язык определяется по настройкам браузера. Сайт не имеет доступа к расширению, вашим репозиториям и токенам.