Политика
конфиденциальности
Какие данные обрабатывают сайт и Telegram-бот baǵam, зачем, где они лежат и как их удалить. Каждое утверждение сверено с исходным кодом проекта: файлы перечислены в конце страницы.
Главное за полминуты
- Ссылка на объявление не сохраняется и не связывается с вами: из неё берётся только публичный номер лота.
- Номер вашего чата бот хранит, только пока вы подписаны на алерты или следите за лотами, и хранит его зашифрованным. Для статистики из номера считается короткий хэш.
- Состояние бота лежит в приватном репозитории автора на GitHub. Код проекта открыт, данные нет.
- Отписаться и удалить данные можно командой в боте или сообщением автору.
Кто оператор
baǵam — некоммерческий проект. Его ведёт автор: @Hopepe1 в Telegram. Сайт и бот бесплатны, рекламы на них нет.
Политика относится к сайту dex719-krisha-fair-price.hf.space и боту @fairprice_kzbot. Исходный код опубликован на GitHub (лицензия Elastic License 2.0), поэтому всё описанное ниже можно проверить самому.
Что обрабатывает сайт
Сайт работает без аккаунтов и регистрации. Вот что происходит, когда вы им пользуетесь.
Ссылка на объявление
Браузер отправляет ссылку на наш сервер. Сервер берёт из неё только номер объявления, сам загружает публичную страницу с krisha.kz и считает оценку. Ваш адрес и ваш браузер krisha.kz не видит.
Сама ссылка не сохраняется. Готовая оценка около 10 минут лежит в памяти сервера под номером объявления, без привязки к вам. В базе сервиса остаются публичная карточка лота (цена, площадь, адрес, описание продавца: всё, что и так видно на krisha.kz) и запись об оценке: время, цены и вердикт. Ничего о вас в них нет.
IP-адрес
Чтобы одна машина не заваливала сервис, сервер считает запросы с каждого адреса за последнюю минуту: по умолчанию не больше 15 оценок в минуту. Счётчик живёт в памяти процесса, на диск и в репозиторий не пишется и пропадает при перезапуске.
Технический журнал
Как у любого веб-сервера, у приложения есть журнал: путь запроса, код ответа, адрес, с которого пришло соединение (на Hugging Face запросы идут через прокси хостинга), и ошибки. Ссылку на объявление вы отправляете в теле запроса, поэтому в адресе страницы её нет. Журнал живёт до перезапуска контейнера. Если оценка завершилась ошибкой, в журнал может попасть номер объявления.
Счётчики
Сервер считает, сколько раз открыли страницы и сколько оценок посчитано, по дням и по часам. В счётчике нет ни IP, ни идентификатора посетителя. Раз в неделю автору приходит сводка из этих чисел.
Память браузера
Сайт записывает в localStorage три ключа: bagam-theme и kfp-theme с выбранной темой (второй — прежнее имя, значение дублируется) и bagam-stats с копией публичных цифр рынка, чтобы страница открывалась без пауз и без сети.
Личного в них ничего нет, на сервер они не отправляются. Стереть их можно в настройках браузера.
Кнопка «Вставить»
Читает буфер обмена только после вашего нажатия и только чтобы подставить текст в поле. Пока вы не нажали «Проверить», ничего никуда не уходит.
Mini App в Telegram
Если сайт открыт внутри Telegram, страница подгружает скрипт telegram-web-app.js с telegram.org: так сайт подстраивает цвет шапки и кнопку «Назад». Данные профиля, которые Telegram может передать мини-приложению, мы не отправляем на сервер и не сохраняем.
Что обрабатывает бот
Бот работает через Telegram: сообщение приходит на наш сервер (webhook), ответ уходит через Bot API. Подробности команд — на странице бота.
Что бот читает
Из каждого сообщения код использует три поля: номер чата, тип чата (личный или нет) и текст. Имя, @username, номер телефона и фото профиля бот не читает и не сохраняет. Тексты сообщений приложение не записывает.
Оценка по ссылке
Работает как на сайте: из сообщения берётся номер объявления, страницу загружает сервер. К ответу бот прикладывает первое фото объявления: Telegram сам скачивает его по публичной ссылке с krisha.kz.
Текст без ссылки
Сообщение без ссылки, не короче 40 символов, бот принимает за текст объявления. Его начало, до 3000 символов, уходит в Gemini, нейросеть Google, чтобы вытащить площадь, этаж и район. Это работает, только если у оператора подключён ключ Gemini. Сам текст мы не сохраняем.
Не отправляйте боту в таких сообщениях телефоны и другие личные данные.
Подписка на алерты
Команда /alerts_on сохраняет номер чата, фильтры (число комнат, максимальный бюджет, район) и дату подписки. По ним раз в день после обновления базы бот присылает новые выгодные объявления.
Слежка за лотами
Команда /track сохраняет номер чата и для каждого лота номер, заголовок, дату подключения и цену: после каждого обновления базы цена перезаписывается новой. Не больше 10 лотов на чат. Лот пропадает из слежки после /untrack или когда объявление снято с продажи.
Статистика бота
Каждое сообщение боту увеличивает дневной счётчик. Чтобы считать уникальных пользователей, сохраняется короткий хэш номера чата: 10 символов, посчитанных с секретной солью. Без этой соли по хэшу нельзя восстановить номер чата, а в репозитории её нет.
Защита от дублей
Telegram иногда присылает одно обновление дважды. Чтобы не отвечать два раза, сервис помнит номера последних 5000 обновлений: только номера, без текста и без чата. Они лежат в базе контейнера.
Чего мы не собираем
Список проверяет тест в репозитории: если на страницах появятся cookie или внешний скрипт, он упадёт.
- Cookie. Сайт их не создаёт и не читает.
- Стороннюю аналитику и рекламу. Нет счётчиков, пикселей, рекламных сетей и виджетов соцсетей. Единственный внешний скрипт —
telegram-web-app.js, и только внутри Telegram. - Внешние шрифты и CDN. Шрифты, стили, скрипты и картинки отдаёт сам сайт.
- Аккаунты и пароли. Регистрации нет. E-mail, телефон и платёжные данные никто не спрашивает.
- Геолокацию, камеру, микрофон и контакты. Сайт этих разрешений не запрашивает.
- Имя и @username в Telegram. Бот их не читает.
- Ваши сообщения боту. Приложение не сохраняет их текст. Единственное место, куда он уходит, — Gemini, когда вы присылаете текст объявления без ссылки (раздел 03).
Данные, цели и сроки
Всё, что живёт дольше одного запроса, собрано в таблицу. Остальное лежит в памяти сервера и исчезает при перезапуске.
| Данные | Зачем | Где хранятся | Сколько |
|---|---|---|---|
| Номер объявления, его публичная карточка и результат оценки | Оценка по ссылке | Память сервера (кэш) и база сервиса в контейнере | Кэш около 10 минут; база до пересборки контейнера, обычно раз в сутки |
| IP-адрес | Ограничение частоты запросов | Память процесса и технический журнал сервера | До перезапуска контейнера |
| Счётчики визитов, оценок и сообщений боту | Понимать нагрузку, недельная сводка автору | Приватный репозиторий: открытый JSON, без IP и без номеров чатов | 60 дней |
| Хэш номера чата | Число уникальных пользователей бота | Там же | 60 дней |
| Номер чата и фильтры алертов | Рассылка выгодных объявлений | Зашифрованный файл в приватном репозитории, копия в контейнере | Пока вы не отправите /alerts_off |
| Номер чата и лоты в слежке | Уведомления об изменении цены и о снятии | Там же | До /untrack или до снятия объявления с продажи |
| Тема и копия цифр рынка | Оформление и быстрая загрузка | localStorage вашего браузера | Пока вы не очистите данные сайта |
| Журнал оценокнеобязательный, по умолчанию выключен | Проверять качество модели на судьбе лотов | Приватный репозиторий: открытый JSON с временем, номером лота, ценами и вердиктом, без данных о человеке | Последние 20 000 записей |
Где хранятся и кто имеет доступ
Страницу объявления с krisha.kz загружает сервер, а не ваш браузер.
Сервер
Сайт и бот работают в Docker-контейнере на Hugging Face Spaces. Диск контейнера не постоянный: при перезапуске и ежедневной пересборке всё, что приложение записало локально, пропадает. Состояние бота после старта заново забирается из приватного репозитория.
Приватный репозиторий
Подписки, слежка и счётчики лежат в приватном репозитории автора на GitHub. Код проекта открыт, этот репозиторий нет. В описаниях коммитов нет ни номеров чатов, ни номеров лотов.
Предыдущие версии файлов остаются в истории репозитория. У файлов с номерами чатов они тоже зашифрованы.
Шифрование
Файлы с номерами чатов, то есть подписки и слежка, шифруются целиком до отправки в репозиторий (Fernet, библиотека cryptography). Ключ берётся из секрета на сервере (отдельного или, если его нет, токена бота), в репозитории его нет. Если ключа нет совсем, такой файл в репозиторий не отправляется вообще.
Не шифруются файлы без номеров чатов: счётчики (в них только хэши), журнал оценок и список уже разосланных лотов (публичные номера объявлений).
Шифрование закрывает файл от посторонних, но не от оператора: ключ есть у автора и у сервисов, которые рассылают вам сообщения.
Кто имеет доступ
Автор проекта: он владеет хостингом и репозиториями. Сервер на Hugging Face читает и записывает состояние по токену, выданному только на репозиторий данных. Рассылку алертов делает GitHub Actions проекта: в момент запуска он скачивает состояние и расшифровывает его, чтобы отправить сообщения.
Журнал рассылки в GitHub Actions пишет, сколько подписчиков и сообщений было. Если сообщение по слежке не доставилось (например, вы заблокировали бота), в журнал попадает номер этого чата. Журналы запусков публичного репозитория кода открыты для любого пользователя GitHub.
Мы не продаём данные и не отдаём их рекламным и аналитическим сервисам: таких интеграций в коде нет.
Третьи лица
У каждого из этих сервисов свои правила и свои журналы. Мы ими не управляем.
Telegram
Бот живёт внутри Telegram: ваши сообщения проходят через его серверы и подчиняются его политике. Внутри Mini App сайт подгружает скрипт с telegram.org.
Hugging Face
Хостинг сайта и бота. Как у любого хостинга с прокси, запросы к сайту (адреса страниц, IP) проходят через инфраструктуру Hugging Face.
GitHub
Приватный репозиторий с состоянием бота, релизы с базой объявлений и весами модели, GitHub Actions: ежедневный сбор данных и рассылка алертов. Исходный код открыт.
Google (Gemini)
Только бот и только если подключён ключ: текст объявления, вставленный без ссылки (до 3000 символов), и публичные фото объявлений для оценки ремонта.
krisha.kz
Источник публичных данных об объявлениях. Страницы объявлений запрашивает наш сервер, а не ваш браузер, поэтому krisha.kz не получает ваш адрес. Ссылки на объявления в результатах открываются на krisha.kz, там действуют его правила.
Как удалить данные
Почти всё удаляется одной командой в боте.
Отписаться от алертов: запись о подписке удаляется.
Убрать один лот из слежки.
Очистить слежку целиком.
Показать лоты, за которыми бот следит. Команда /alerts показывает текущую подписку.
Блокировка бота
Блокировка не удаляет данные: подписка и слежка остаются в файле, пока вы не отпишетесь. Поэтому сначала отправьте /alerts_off и /untrack all.
Браузер
Тему и копию цифр удалит очистка данных сайта в настройках браузера.
Счётчики
Счётчики и хэши удаляются сами через 60 дней.
Остальное
Чтобы показать, что о вас хранится, или удалить то, чего нет в командах, в том числе старые версии файлов в истории репозитория, напишите автору в Telegram с того же аккаунта. В личных чатах номер чата совпадает с номером пользователя, по нему запись и находится.
Изменения и контакты
Если политика изменится, например появится новая интеграция или аналитика, страница обновится, а дата редакции сменится. Прошлые редакции остаются в истории файла в репозитории проекта.
Сверить с кодом. Файлы, на которых стоят утверждения выше:
Состояние бота, шифрование, запись в приватный репозиторий.
Счётчики, хэш номера чата, срок в 60 дней.
Какие поля сообщения читает бот и какие команды понимает.
Текст без ссылки: не короче 40 символов, в Gemini уходит не больше 3000.
Что хранится при слежке и потолок в 10 лотов на чат.
Рассылка из GitHub Actions и то, что она пишет в журнал.
Лимит запросов по IP, заголовки безопасности, отдача страниц.
Необязательный журнал оценок и его потолок в 20 000 записей.
Тест: файл с номерами чатов не читается без ключа.
Вопрос или просьба удалить данные
Пишите автору в Telegram.
Редакция от
Куда дальше
Правила пользования, как устроен бот и код, по которому можно всё проверить.