Конфиденциальность
Обновлено: 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. Поведение на нескольких устройствах и у разных производителей ещё требует проверки в реальных условиях.
Сетевые запросы
- GitHub.com использует
https://api.github.com. -
GitHub Enterprise Server использует
/api/v3и/api/graphqlнастроенного адреса. - GitLab.com и self-managed GitLab используют
/api/v4настроенного адреса. - PAT передаются в заголовках авторизации API. Перенаправления API и cookie-учётные данные отключены.
-
Запросы OAuth идут напрямую на
/login/device/codeи/login/oauth/access_tokenGitHub или на/oauth/authorizeи/oauth/tokenGitLab. Вход через браузер использует обычную сессию провайдера в его окне авторизации. При обмене токенов перенаправления и cookie отключены, секрет клиента и промежуточный сервер не используются. - Удалённые шрифты и исполняемые скрипты не загружаются. Указанные шрифты берутся из установленных локально, с системным запасным вариантом.
Сервис репозиториев обрабатывает запросы 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. Если выбора ещё нет, язык определяется по настройкам браузера.
Сайт не имеет доступа к расширению, вашим репозиториям и токенам.