AI AGENT NOTIFIER
Privacy Policy
Updated 2026-08-12
Политика конфиденциальности
Обновлено 12.08.2026

Nothing leaves your computer until you switch it on.

By default this is a local extension talking to a local process, with no server on the other end. One optional feature — phone notifications — changes that, and most of this page describes exactly how.

With its default settings, AI Agent Notifier collects, stores, and transmits nothing. Turning on the phone channel necessarily sends notification content off your machine, because that is what the feature does. What is sent, to whom, and what is kept is spelled out below.

What the software does

AI Agent Notifier pairs a Chrome extension with a small companion program (the “host”) that you install and run on your own machine. The host listens for hook events from AI coding agents — Claude Code, Cursor, GitHub Copilot CLI, OpenAI Codex CLI — running locally, and the extension shows a notification or badge when an agent needs your attention.

Default: everything stays local

Coding agent
host process
Chrome notification

All three run on 127.0.0.1 — your machine. ✕ no step leaves the device

  • Minimal permissions. Only nativeMessaging, notifications, alarms, and storage — no tabs, scripting, or host_permissions, so the extension cannot read page content or browsing history.
  • No outbound network code in the extension. Its source contains no fetch, XMLHttpRequest, or any other call that reaches the internet. Any network access the product makes is made by the host process, never by the extension.
  • Local-only transport. Extension and host talk over a TCP socket on 127.0.0.1:8765, protected by a random token generated on first run and stored in your local profile. It never accepts a connection from outside the machine.
  • Logs stay put. Tool names, working-directory paths, and short summaries of what an agent is asking are written only to local log files (%APPDATA%\ai-agent-notifier\*.log and platform equivalents), for your own troubleshooting.
  • No accounts. No sign-in and no persistent identifier tied to you beyond the random local auth token above.

The optional phone channel

Off by default. You pick a provider in the extension popup, and nothing is sent until you do. Whichever you pick, the message that leaves your machine contains a title saying an agent wants permission / asked a question / finished, the project folder name or the session label you assigned, and the event’s short summary (typically a tool name and a one-line description of the action). It does not contain file contents, full command output, or credentials.

  • ntfy, Webhook (Discord/Slack), Pushover, or your own Telegram bot. The message goes straight from your machine to the service you configured, using the URL or token you entered. Nothing passes through any server operated by this project. Those services’ own privacy policies apply.
  • Telegram shared bot. Saves you from creating a bot of your own; the cost is that a relay server run by this project sits in the middle. Described in full below.

The shared-bot relay (ai-agent-notify.ru)

host process
relay
Telegram
your phone

A small Node.js service; its full source is in the relay/ directory of the repository.

  • Pairing stores three things. Your Telegram chat id, a random token generated for your installation, and the pairing timestamp. Your phone number, name, and contacts are never received.
  • Notification text is not stored on the server. Each notification is received, forwarded to Telegram, and discarded — held in memory for the duration of the request only. Your Allow/Deny answer travels back the same way. The message itself of course remains in your Telegram chat, under Telegram’s own policy.

Usage statistics — and how to turn them off

The relay records statistics, used to decide what to build next and what limits are realistic. They can be switched off with the «Помогать статистикой» checkbox next to the shared-bot setting; notifications keep working either way. While on, each event records:

  • What kind of event it was. Permission request or task finished, which agent it came from, and the tool name (Edit, Bash, …).
  • Your environment. Operating system and version, CPU architecture, host program version, and whether you installed the standalone executable or run it via Node.js.
  • Timestamps, counts, and outcomes. For permission requests: allow / deny / no answer, and how long the answer took.
  • A uid. A truncated salted SHA-256 hash of your installation token, so that one installation can be told apart from another. It cannot be reversed into your token, and the salt is unique to the server.

Never recorded, with the checkbox on or off: the event summary, the working-directory path, command text, file contents, your Telegram chat id in the statistics log, or your IP address. Statistics files are kept for six months, then deleted automatically.

Feedback, diagnostics, and issue reports

Sending /feedback <text> to the shared bot stores your message text, chat id, and Telegram username if you have one, so a reply can reach you — only for messages you deliberately send as feedback, and kept until the issue is resolved.

The popup’s “Copy diagnostics” button copies a local log excerpt to your clipboard on your click. “Report a problem” additionally opens a pre-filled GitHub issue form in a new tab; nothing is submitted until you press GitHub’s own submit button, and you decide what to paste in. Nothing uploads automatically.

Third parties

No analytics SDKs, crash reporters, or ad networks are integrated into the extension or the host. If you enable a phone provider, that provider — ntfy, Discord, Slack, Pushover, or Telegram — receives your notifications and applies its own privacy policy. Nothing is sold, and nothing is shared with anyone else.

Changes to this policy

Material changes are made in this document first, described in the project’s README, with the revision history kept visible in the GitHub repository.

Contact

This is an independent, open-source project. Questions or concerns can be raised via GitHub Issues, or by sending /feedback to the shared bot.

С вашего компьютера ничего не уходит, пока вы сами это не включите.

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

В настройках по умолчанию AI Agent Notifier ничего не собирает, не хранит и не передаёт. Включение канала «телефон» неизбежно отправляет содержимое уведомлений за пределы вашей машины — в этом и состоит смысл функции. Что именно отправляется, кому и что остаётся храниться, расписано ниже.

Что делает программа

AI Agent Notifier связывает расширение Chrome с небольшой программой-компаньоном («хостом»), которую вы сами устанавливаете и запускаете на своей машине. Хост слушает события хуков от ИИ-агентов для программирования — Claude Code, Cursor, GitHub Copilot CLI, OpenAI Codex CLI — работающих локально, а расширение показывает уведомление или бейдж, когда агенту нужно ваше внимание.

По умолчанию всё остаётся локальным

ИИ-агент
процесс-хост
Уведомление Chrome

Все три части работают на 127.0.0.1 — вашей машине. ✕ ни один шаг не покидает устройство

  • Минимум разрешений. Только nativeMessaging, notifications, alarms и storage — без tabs, scripting или host_permissions, поэтому расширение не может читать содержимое страниц или историю браузера.
  • В расширении нет исходящего сетевого кода. В его исходниках нет ни fetch, ни XMLHttpRequest, ни любого другого вызова в интернет. Всю сетевую работу, если она есть, делает процесс-хост, а не расширение.
  • Только локальный транспорт. Расширение и хост общаются через TCP-сокет на 127.0.0.1:8765, защищённый случайным токеном, который генерируется при первом запуске и хранится в вашем локальном профиле. Соединения снаружи машины не принимаются.
  • Логи остаются на месте. Имена инструментов, пути рабочих директорий и короткие сводки того, о чём спрашивает агент, записываются только в локальные файлы логов (%APPDATA%\ai-agent-notifier\*.log и аналоги на других платформах) — для вашей же диагностики.
  • Без аккаунтов. Нет входа и нет постоянного идентификатора, привязанного к вам, кроме случайного локального токена авторизации, описанного выше.

Опциональный канал «телефон»

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

  • ntfy, Webhook (Discord/Slack), Pushover или свой бот Telegram. Сообщение уходит напрямую с вашей машины в тот сервис, который вы настроили, по указанному вами URL или токену. Через серверы этого проекта не проходит ничего. Действуют политики конфиденциальности самих сервисов.
  • Общий бот Telegram. Избавляет от необходимости заводить своего бота; плата за это — посередине оказывается relay-сервер, который держит автор проекта. Подробно — ниже.

Relay общего бота (ai-agent-notify.ru)

процесс-хост
relay
Telegram
ваш телефон

Небольшой сервис на Node.js; его исходники целиком лежат в папке relay/ репозитория.

  • Привязка сохраняет три вещи. Ваш chat id в Telegram, случайный токен, сгенерированный для вашей установки, и время привязки. Номер телефона, имя и контакты сервер не получает вообще.
  • Текст уведомлений на сервере не хранится. Каждое уведомление принимается, пересылается в Telegram и выбрасывается — оно живёт в памяти только на время запроса. Ваш ответ Разрешить/Отклонить возвращается тем же путём. Само сообщение, разумеется, остаётся в вашем чате Telegram по политике самого Telegram.

Статистика использования — и как её выключить

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

  • Тип события. Запрос разрешения или завершение задачи, от какого агента пришло и имя инструмента (Edit, Bash, …).
  • Ваше окружение. Операционная система и её версия, архитектура процессора, версия программы-хоста и то, поставили ли вы автономный exe или запускаете через Node.js.
  • Время, счётчики и исходы. Для запросов разрешения — разрешено / отклонено / без ответа и сколько времени занял ответ.
  • uid. Укороченный SHA-256-хеш вашего токена с солью — чтобы отличать одну установку от другой. Обратно в токен не превращается, а соль уникальна для сервера.

Не записывается никогда, независимо от флажка: сводка события, путь к рабочей директории, текст команд, содержимое файлов, ваш chat id в логе статистики и ваш IP-адрес. Файлы статистики хранятся шесть месяцев и затем удаляются автоматически.

Обратная связь, диагностика и баг-репорты

Команда /feedback <текст> в общем боте сохраняет текст вашего сообщения, chat id и имя пользователя Telegram, если оно у вас есть, — чтобы можно было вам ответить. Только для сообщений, которые вы намеренно отправили как обратную связь; хранится до решения вопроса.

Кнопка «Скопировать диагностику» в попапе копирует выдержку из локального лога в буфер обмена по вашему нажатию. «Сообщить о проблеме» дополнительно открывает в новой вкладке предзаполненную форму issue на GitHub; ничего не отправляется, пока вы не нажмёте кнопку отправки самого GitHub, и что именно вставлять, решаете вы. Автоматической отправки нет.

Третьи стороны

В расширение и хост не встроены ни SDK аналитики, ни сборщики крашей, ни рекламные сети. Если вы включили провайдера для телефона, этот провайдер — ntfy, Discord, Slack, Pushover или Telegram — получает ваши уведомления и применяет свою политику конфиденциальности. Ничего не продаётся и никому больше не передаётся.

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

Существенные изменения сначала вносятся в этот документ, описываются в README проекта, а история версий остаётся видна в репозитории на GitHub.

Контакты

Это независимый open-source проект. Вопросы и замечания можно оставить через GitHub Issues или отправив /feedback общему боту.