Политика конфиденциальности Callmar
Обновлено: 4 августа 2026
Эта Политика конфиденциальности описывает, как приложение Callmar («Callmar», «мы») работает с данными при использовании iOS-приложения Callmar и при посещении сайта callmar.online. Callmar — это профессиональный SIP/VoIP-софтфон, который подключается к SIP-аккаунтам, предоставленным вами или вашим работодателем. Приватность — один из ключевых принципов разработки приложения.
1. Данные, к которым приложение обращается на устройстве
Перечисленные ниже данные обрабатываются локально на устройстве. Ничего из этого не загружается на серверы Callmar, за исключением исходных SIP-учётных данных аккаунта, который вы явно включили для звонков в фоне 24/7 — см. §2.6.
| Данные | Зачем | Хранение |
|---|---|---|
| SIP-учётные данные (сервер, логин, пароль) | Для регистрации у SIP-провайдера | iOS Keychain, зашифровано (а также отправляются на прокси для аккаунтов, включённых для звонков в фоне 24/7 — §2.6) |
| Номера, по которым вы звоните или с которых вам звонят | История звонков, подстановка имён | Локальная база SwiftData |
| Контакты iOS | Подстановка имён рядом с номерами | Читаются по запросу, не копируются |
| Аудио звонка (во время разговора) | Передача голоса по SIP | В памяти, удаляется после звонка, если не включено «Сохранять записи» |
| Записи звонков (если включены) | Прослушивание прошлых разговоров | Локальные файлы с NSFileProtectionComplete |
| Транскрипции (если включена транскрипция) | Поиск по разговорам | Локально в SwiftData; генерируется на устройстве через Apple Speech (по умолчанию на iOS 26+) или WhisperKit |
| APNs VoIP device token | Пробуждение приложения при входящих | iOS Keychain |
2. Данные, передаваемые наружу
Данные покидают устройство только в следующих случаях:
2.1 SIP-трафик к вашему SIP-провайдеру
Для звонков приложение отправляет SIP-сигналинг и аудио (RTP) на SIP-сервер, который вы настраиваете. Сигналинг шифруется TLS, если выбран транспорт «TLS» (порт 5061). Аудио шифруется SRTP, если ваш провайдер это поддерживает.
2.2 Push-прокси Callmar (опциональный, включён по умолчанию)
Чтобы получать входящие звонки, когда приложение в фоне, SIP-сигналинг маршрутизируется через sip.callmar.online. Прокси только пересылает SIP-сообщения и не расшифровывает аудио. При обычной push-маршрутизации прокси обрабатывает только данные регистрации — ваш номер телефона / SIP AoR.
Push-прокси можно отключить в настройках; при отключении входящие работают только пока приложение на переднем плане.
2.3 Apple Push Notification service (APNs)
Когда входящий звонок приходит, а приложение приостановлено, push-прокси просит Apple APNs отправить VoIP-push на устройство. В теле push содержится номер звонящего, чтобы Callmar показал его на экране CallKit.
2.4 Опциональный Webhook (настраивается вами)
Если вы настроите URL webhook в настройках, Callmar отправит туда метаданные звонка (номер, направление, длительность, транскрипцию) после завершения. URL задаёте вы; Callmar не видит, что происходит дальше.
2.5 Apple App Store / StoreKit (подписки)
Callmar предлагает автопродлеваемую подписку «Callmar Pro» с 14-дневным бесплатным пробным периодом. Все покупки, продления и управление пробным периодом обрабатываются App Store от Apple:
- Мы используем StoreKit 2 для получения информации о продуктах, инициации покупок и проверки права доступа. Запрос на покупку получают серверы Apple, оплата проходит через ваш Apple ID, и приложение получает обратно криптографически подписанную транзакцию.
- Callmar никогда не видит ваш Apple ID, способ оплаты, адрес выставления счёта или другие данные Apple-аккаунта. Мы видим только подписанную транзакцию от Apple (ID продукта, дата исходной покупки, дата окончания).
- Состояние подписки проверяется на устройстве фреймворком StoreKit iOS. Если вы включите серверную SIP-регистрацию (§2.6), приложение также отправляет
originalTransactionIdподписки на прокси, чтобы тот мог подтвердить активную подписку перед регистрацией от вашего имени; мы по-прежнему никогда не получаем данные оплаты или ваш Apple ID. - Вы можете просмотреть, изменить или отменить подписку в любой момент: Настройки (iOS) → Apple ID → Подписки, или прямо в Callmar (Настройки → Подписка → Управление подпиской).
- Политика Apple относительно покупок в App Store: <https://www.apple.com/legal/privacy/data/ru/app-store/>.
2.6 Серверная SIP-регистрация (только для аккаунтов, которые вы включили)
Некоторые SIP-провайдеры перестают присылать звонки, если приложение давно не перерегистрировалось, поэтому телефон в фоне может пропускать звонки через какое-то время. Чтобы звонки приходили в фоне 12+ часов, вы можете разрешить прокси держать SIP-регистрацию за вас. При включении этой опции для аккаунта:
- Приложение отправляет исходные SIP-логин, пароль и AoR этого аккаунта (и APNs VoIP-токен) на прокси по TLS.
- Пароль хранится зашифрованным (AES-256-GCM); незашифрованная копия существует только в оперативной памяти прокси (tmpfs) и никогда не записывается на постоянный диск. Мы используем его исключительно для регистрации у вашего SIP-провайдера от вашего имени.
- Перед подключением прокси проверяет, что запрос пришёл от подлинной, неизменённой копии приложения Callmar, с помощью Apple App Attest (анонимная защита от мошенничества, не содержащая аппаратных идентификаторов).
- Отправляется ваш
originalTransactionIdиз StoreKit, чтобы прокси мог подтвердить активную подписку.
Это выключено, пока вы не включите push-прокси для аккаунта в поддерживаемом регионе. Вы можете удалить сохранённые учётные данные в любой момент, отключив прокси для аккаунта, удалив аккаунт, или написав на [email protected]. Мы не храним на прокси аудио звонков, записи, транскрипции или саммари — только данные регистрации, перечисленные выше.
2.7 Анонимная воронка активации (на наших серверах)
Чтобы понимать, на каком шаге новые пользователи застревают при настройке (и улучшать онбординг), Callmar записывает небольшое число анонимных событий взаимодействия с приложением — например: приложение открыто, шаг онбординга пройден или пропущен, SIP-аккаунт сохранён, SIP-регистрация успешна или завершилась ошибкой, звонок попытались начать, заблокировали, начали, не смогли начать, соединили или завершили, экран подписки показан и готов или недоступен, а инициированная пользователем покупка или восстановление завершились с обобщённым результатом (например, активировано, ожидает, отменено, ошибка или нет активной подписки).
- События отправляются на наш собственный сервер (
callmar.online/events), а не сторонним сервисам аналитики, рекламы или атрибуции. - Единственный постоянный аналитический идентификатор — случайный ID, сгенерированный на вашем устройстве при первом запуске. Это не рекламный идентификатор (IDFA), не идентификатор устройства (IDFV), и он не связан с вашим Apple ID, номером телефона, контактами, записями или SIP-учётными данными. Он нужен только чтобы считать уникальные установки в воронке, и сбрасывается при переустановке приложения. Каждое событие и каждая операция также получают новый случайный UUID для дедупликации доставки и краткой корреляции; эти UUID не являются постоянными идентификаторами пользователя или устройства.
- В теле события — название, время, версия/сборка приложения, платформа, канал сборки и только обобщённые категории: направление звонка, диапазон длительности, SIP-код, источник paywall, месячный/годовой план и типизированный результат покупки/восстановления. Там нет номеров телефонов, имён, SIP-аккаунтов или паролей, StoreKit product/transaction ID, цен, текстов ошибок, содержимого сообщений, записей или транскрипций.
- Если вы принимаете и сохраняете помеченный QR-код или ссылку импорта внутри приложения, к последующим событиям воронки для этой анонимной установки может быть прикреплён необязательный фиксированный грубый ярлык канала провижининга (например, пилот или собственный сайт). Он не идентифицирует SIP-провайдера, клиента, кампанию или клик и не является атрибуцией App Store или рекламы.
- Эти данные не используются для отслеживания вас в других приложениях или на сайтах.
- Сборки, которые мы используем внутри для разработки, эти события не отправляют.
- В App Store-сборках каждое ожидающее событие сначала помещается в ограниченную локальную очередь (не более 200 событий). Записи старше семи дней отбрасываются при следующей обработке очереди приложением; если приложение не запускается, неактивный файл очереди может оставаться до этой обработки. События также удаляются после успешной доставки или отбрасываются после лимита повторов либо постоянного отказа сервера. Телеметрия никогда не блокирует звонок, покупку или другое действие.
2.8 Чат поддержки (по желанию)
В Настройках → Contact Support («Связаться с поддержкой») можно написать нашей команде поддержки прямо из приложения и по желанию приложить скриншоты или диагностический лог, чтобы помочь нам разобраться в проблеме.
- Ничего не отправляется, пока вы не наберёте сообщение и не нажмёте Send. Прикладывать скриншот или диагностический лог — ваш выбор; переключатель диагностического лога можно выключить перед отправкой.
- Ваше сообщение, скриншоты (до 3 штук, уменьшенные и сжатые на устройстве) и диагностический лог (уже обезличенный — см. ниже) отправляются на наш собственный сервер, который пересылает их в приватный канал поддержки, который мы ведём в Telegram. Ответы от нашей команды поддержки приходят тем же путём и появляются в приложении; если вы разрешили уведомления, мы также отправляем alert-push, чтобы вы знали, что ответ уже ждёт.
- Диагностический лог — тот же журнал событий, что доступен в Настройки → Diagnostics: недавняя активность приложения вроде регистрации и состояний звонка. Он обезличивается ещё до записи в лог (номера телефонов и SIP-адреса вырезаются) и никогда не содержит аудио звонков, записи, транскрипции или контакты.
- Вы идентифицируетесь только вторым случайным ID установки, сгенерированным отдельно от ID воронки активации из §2.7, поэтому эти две функции нельзя сопоставить между собой. Учётной записи или входа нет. Если вы разрешили уведомления, тот же ID установки на нашем сервере связывается с APNs-токеном устройства только для доставки уведомления об ответе поддержки; токен не передаётся в Telegram и никаким третьим сторонам.
- Если наш сервер поддержки временно недоступен, экран покажет «Support Chat Unavailable» вместо отправки чего-либо.
2A. Что мы заявляем в карточке «Конфиденциальность приложения» в App Store
Рядом с каждым приложением в App Store отображается короткая карточка «Конфиденциальность приложения», основанная на данных, которые разработчик сообщил Apple. По официальному определению Apple, «сбор данных» — это данные, которые покидают ваше устройство и остаются у нас (или у наших партнёров) дольше, чем нужно для real-time обработки запроса. Данные, которые обрабатываются только на iPhone, или которые вы сами маршрутизируете на выбранный вами адрес, не считаются сбором.
По этому определению Callmar заявляет в карточке следующие типы данных:
| Тип | Почему появляется | Связано с вашей личностью? | Используется для отслеживания? |
|---|---|---|---|
| Номер телефона | Push-прокси (sip.callmar.online) переносит SIP AoR / номер телефона при маршрутизации входящего звонка, и хранит его для аккаунтов, включённых для звонков в фоне 24/7 (§2.6). |
Нет (учётных записей у нас нет) | Нет |
| Прочие данные (SIP-учётные данные) | Для аккаунтов, включённых для звонков в фоне 24/7, ваши исходные SIP-логин/пароль отправляются на прокси и хранятся зашифрованными, чтобы он мог регистрироваться от вашего имени (§2.6). | Нет | Нет |
| Покупки | Состояние подписки StoreKit читается на устройстве для гейтинга платных функций, а originalTransactionId отправляется на прокси для авторизации §2.6. В анонимную воронку также входят обобщённые план и результат покупки/восстановления. Цели: функциональность и аналитика. В аналитику не передаются платёжные данные, цена, Apple ID, product ID или transaction ID. |
Нет | Нет |
| Взаимодействие с приложением | Анонимные события активации и надёжности (§2.7), включая обобщённые ошибки SIP/звонков и результаты цикла paywall/покупка/восстановление, отправляются на наш собственный сервер. Цель: аналитика. | Нет | Нет |
| Идентификатор устройства (анонимный ID установки) | Случайный ID установки, сгенерированный на устройстве, используется только для дедупликации шагов воронки из §2.7. Это не IDFA/IDFV. Новые UUID каждого события/операции нужны только для дедупликации/корреляции отдельных записей и не являются постоянными идентификаторами. Цель: аналитика. | Нет | Нет |
| Обращения в поддержку | Если вы пользуетесь Настройки → Contact Support (§2.8), текст сообщения, приложенные скриншоты и диагностический лог отправляются в наш канал поддержки, чтобы мы могли помочь. Отправляется только по нажатию Send. Если разрешены уведомления, APNs-токен устройства также хранится (только в паре с анонимным support install ID), чтобы мы могли сообщить об ответе поддержки. Цель: функциональность приложения. | Нет | Нет |
Мы намеренно не заявляем контакты, аудиозаписи, транскрипции, ИИ-саммари, геолокацию, данные о здоровье/финансах/конфиденциальные данные, историю поиска или просмотров и любые другие категории из списка Apple, не перечисленные выше. Причины:
- Контакты — читаются только на устройстве через
CNContactStore. На серверы Callmar не отправляются. - Аудиозаписи — сохраняются только на вашем устройстве с
NSFileProtectionComplete. Не загружаются никуда. - Транскрипции и ИИ-саммари — генерируются на устройстве через Apple Speech (или WhisperKit) и Apple Foundation Models. Если вы настроите CRM-webhook (Bitrix24 / amoCRM / Alfa CRM / собственный URL), транскрипция доставляется на выбранный вами адрес; Callmar только помогает с маршрутизацией. По определению Apple, такие user-routed данные не считаются сбором со стороны разработчика приложения.
- App Attest — при включении §2.6 прокси проверяет запрос через Apple App Attest. Apple проектирует такие аттестации анонимными, без аппаратных идентификаторов, используемыми только для защиты от мошенничества, поэтому они не подлежат декларированию и не считаются идентификатором.
- Рекламные данные / геолокация / здоровье / финансовые данные — приложение их не запрашивает, не генерирует и не отправляет.
Эту карточку можно независимо проверить в App Store (раздел «Конфиденциальность приложения» страницы Callmar) или в документации Apple: <https://developer.apple.com/app-store/app-privacy-details/>.
3. Запись и транскрипция звонков
- Запись по умолчанию ВЫКЛЮЧЕНА. Её можно включить только в настройках, подтвердив юридическое уведомление.
- Вы несёте единоличную ответственность за соблюдение законов о записи звонков в вашей юрисдикции и юрисдикции собеседника. В некоторых странах (ЕС/GDPR, штаты США — Калифорния, Флорида, Массачусетс, Вашингтон, Иллинойс, Мэриленд, Пенсильвания, Монтана, Нью-Гэмпшир, Невада) требуется согласие всех сторон; в некоторых странах запись без согласия — уголовное правонарушение.
- Callmar не отвечает за юридические последствия записей, которые вы делаете.
- Записи хранятся только на вашем устройстве. Мы их не загружаем, не резервируем и не имеем к ним доступа.
- Транскрипция выполняется полностью на устройстве: по умолчанию через Apple Speech на iOS 26+ (для поддерживаемых языков), иначе через WhisperKit (Apple Core ML). Никакие облачные сервисы не используются.
- Вы можете удалить отдельные записи или все записи в любой момент: Настройки → Хранилище.
4. Сторонние сервисы
Callmar не интегрирует сторонние сервисы аналитики, трекинга или рекламы. Анонимная аналитика активации из §2.7 — собственная (first-party): собирается нашим сервером без стороннего SDK и никому не передаётся. Единственный сторонний код:
- WhisperKit — распознавание речи на устройстве. Никаких сетевых обращений.
- KeychainAccess — обёртка над Keychain. Никаких сетевых обращений.
- PJSIP и OpenSSL — библиотеки SIP/TLS/SRTP. Общаются только с SIP-провайдером, который вы настроили, и с
sip.callmar.online(если push-прокси включён). - Telegram Bot API — только если вы пользуетесь чатом поддержки (§2.8). Наш сервер пересылает ваше сообщение и вложения, которые вы решили отправить, в приватный канал Telegram, который мы ведём сами, чтобы наша команда поддержки могла ответить. Telegram больше нигде в приложении не используется и никогда не получает аудио звонков, записи, транскрипции или контакты.
5. Трекинг
Callmar не отслеживает вас между приложениями и сайтами. Мы не собираем рекламный идентификатор.
5A. Аналитика сайта (callmar.online)
Этот раздел — про сайт, а не про приложение.
Посещения callmar.online мы считаем с помощью GoatCounter, который работает на нашем собственном сервере, а не в стороннем аналитическом сервисе. Он не ставит куки и не хранит IP-адреса. По каждому визиту сохраняются страница, сайт-источник перехода, семейство браузера и операционной системы, страна, ширина экрана и язык браузера — этого достаточно, чтобы понять, какие руководства стоит писать, и недостаточно, чтобы вас опознать. Поскольку на вашем устройстве ничего не сохраняется, баннер согласия не нужен, а подсчёт работает для всех посетителей.
Запросы, которые представляются ботами или поисковыми роботами, хранятся отдельно вместе со строкой user-agent в течение 30 дней и в статистику не попадают.
Отдельно, и только если вы примете куки, мы также используем Google Analytics 4, чтобы понимать, какие страницы полезны и откуда приходят посетители. Google ставит на устройство куки ga и gid. Они идентифицируют браузер между визитами на callmar.online; для рекламы они не используются, Google Signals и персонализация объявлений у нас выключены. Google LLC обрабатывает эти данные как наш обработчик в рамках EU–US Data Privacy Framework. Баннер можно отклонить и продолжать пользоваться сайтом: подсчёт через GoatCounter идёт в любом случае, а код Google не загружается, пока вы не согласитесь.
6. Сроки хранения данных
- Данные, которые вы создаёте (записи, транскрипции, история), хранятся на устройстве, пока вы их не удалите или не удалите само приложение.
- Обычное состояние регистрации на push-прокси хранится только пока приложение активно зарегистрировано; стирается при истечении регистрации.
- Для аккаунтов, включённых для звонков в фоне 24/7 (§2.6), зашифрованные SIP-учётные данные хранятся на прокси, пока вы не отключите прокси для аккаунта, не удалите аккаунт или не запросите удаление. После этого они удаляются из зашифрованного хранилища и из памяти.
- Анонимные события воронки (§2.7) хранятся на нашем собственном сервере. Поскольку ID установки случайный и не связан ни с каким другим идентификатором, мы не можем найти или удалить события конкретной установки по запросу; переустановка приложения создаёт новый, никак не связанный с прежним ID.
- Ожидающие доставки события воронки хранятся на устройстве только в ограниченной очереди из §2.7 (максимум 200 событий; записи старше семи дней удаляются при следующей обработке очереди приложением).
- Переписка с поддержкой (§2.8) хранится на нашем сервере и в Telegram столько, сколько нужно для решения вашего вопроса, и после этого — в течение разумного срока хранения истории поддержки. Вы можете запросить удаление на
[email protected], указав примерную дату обращения — учётной записи для поиска у нас нет. - Доставки webhook зависят от политики хранения вашего webhook-провайдера.
7. Дети
Callmar не предназначен для детей младше 13 лет. Мы сознательно не собираем персональные данные детей.
8. Ваши права
Поскольку Callmar хранит данные на вашем устройстве, у вас полный контроль:
- Доступ и переносимость: данные находятся в локальной базе и папке
Documents/Recordings, доступной через iOS Files. - Удаление: удалите отдельные элементы в приложении или само приложение, чтобы стереть всё. Для учётных данных, хранящихся на прокси для звонков в фоне 24/7 (§2.6), отключите прокси для аккаунта или удалите аккаунт, чтобы удалить их на сервере.
- Ограничение: отключите запись, транскрипцию, webhook или push-прокси в настройках в любой момент. Если не хотите отправлять нам сообщение, скриншот или лог — просто не пользуйтесь Настройки → Contact Support.
По push-прокси можно запросить удаление остаточного состояния SIP-регистрации по адресу [email protected].
9. Безопасность
- SIP-учётные данные и секреты webhook хранятся в iOS Keychain.
- Для аккаунтов, включённых для звонков в фоне 24/7 (§2.6), исходный SIP-пароль, который хранит прокси, зашифрован AES-256-GCM; незашифрованная копия существует только в оперативной памяти сервера (tmpfs) и никогда не записывается на постоянный диск. Подключение защищено проверкой Apple App Attest (проверка подлинности приложения).
- Записи звонков защищены
NSFileProtectionComplete— недоступны, пока устройство заблокировано. - Push-прокси использует TLS с сертификатом Let's Encrypt, обновляемым автоматически каждые 60 дней.
10. Изменения
Мы можем обновлять политику при добавлении новых функций или для соответствия новым требованиям закона. Изменения объявляются в приложении и вступают в силу с даты «Обновлено».