Безопасность: как защищена лицензия и где хранятся ваши данные
Два вопроса, которые редко задают до покупки и которые становятся важными потом: кто имеет доступ к собранной вами базе клиентов и что мешает пользоваться продуктом бесплатно. Разбираем, как устроена криптографическая подпись лицензии, привязка к рабочему месту и почему база лидов не покидает ваш компьютер.
Где физически лежит собранная база
Начнём с главного вопроса, потому что он про ваши деньги, а не про нашу технологию.
Собранные карточки организаций хранятся в локальной базе браузера на вашем компьютере. Не на нашем сервере, не в облаке, не в чужом хранилище. Технически это IndexedDB — штатное хранилище Chrome, рассчитанное на десятки тысяч записей.
Практические следствия. Мы не видим, какие ниши и города вы собираете. Ваш список потенциальных клиентов не может утечь с нашей стороны, потому что его у нас нет. И если мы завтра закроемся, база останется у вас — её можно выгрузить в файл в любой момент.
На сервер уходит ровно одна вещь: запрос «этот ключ ещё действует?». В нём нет ни контактов, ни поисковых запросов, ни содержимого базы.
Почему проверка «ключ записан в браузере» не работает
Самый распространённый способ защиты в браузерных расширениях — записать в локальное хранилище отметку «лицензия активна» и проверять её при запуске.
Проблема в том, что локальное хранилище открыто для просмотра и правки прямо из инструментов разработчика, встроенных в любой браузер. Заменить false на true может человек без навыков программирования, по инструкции из интернета.
Почему это касается вас как покупателя. Если продукт легко обходится, платит за него меньшинство. Разработчик не окупает поддержку. А поддержка здесь не роскошь: картографические сервисы регулярно меняют формат данных, и в такой момент инструмент перестаёт работать у всех сразу. Чинить его будет тот, у кого есть на это деньги.
Криптографическая подпись лицензии
«Хват» использует другой подход. Лицензия — это не отметка в памяти, а документ, подписанный электронной подписью.
- На сервере хранится приватный ключ
Он существует в единственном экземпляре и никогда не покидает сервер. Им подписываются выдаваемые лицензии.
- В расширении зашит публичный ключ
Им можно только проверить подпись, но нельзя создать новую. Даже полностью разобрав код расширения, выпустить рабочую лицензию невозможно.
- Сервер выдаёт подписанный токен
В нём указаны тариф, лимит строк, срок действия, доступ к интеграциям и идентификатор рабочего места.
- Расширение проверяет подпись
Проверка идёт встроенными в браузер криптографическими средствами по алгоритму ECDSA на кривой P-256.
- Любое изменение ломает подпись
Исправили в токене лимит с 200 на 5000 — подпись перестаёт сходиться, и токен отвергается целиком.
Разница принципиальная: подделать отметку в памяти может любой, подделать электронную подпись без приватного ключа нельзя — на этом же принципе работают банковские и государственные системы.
Привязка к рабочему месту
Криптография защищает от подделки, но не от складчины: один человек покупает ключ и раздаёт его десяти коллегам. Поэтому в токене указан идентификатор рабочего места.
Идентификатор вычисляется из устойчивых характеристик установки и представляет собой производную величину — по нему нельзя восстановить сведения о вашем компьютере, и он не является персональными данными. Ключ, выданный для одного рабочего места, на другом просто не пройдёт проверку.
Смена компьютера. Купили новый ноутбук, переустановили систему, ушёл сотрудник — напишите в поддержку, привязка снимается вручную. Это делается для живых людей и не предполагает бюрократии; ограничение направлено против массовой раздачи ключа, а не против нормальной смены техники.
Работа без интернета
Строгая проверка лицензии создаёт риск: если сервер недоступен, работа встанет. Для рабочего инструмента это неприемлемо.
Поэтому подтверждение лицензии действует до 72 часов без связи с сервером. Пропал интернет, лёг наш сервер, вы работаете в дороге — сбор продолжается. Проверка возобновится, когда связь вернётся.
Трёх суток достаточно, чтобы пережить любую техническую неприятность на нашей стороне, и недостаточно, чтобы пользоваться продуктом месяцами с отключённой сетью.
Три уровня проверки внутри продукта
Защита устроена послойно, чтобы отключение одного слоя не открывало доступ ко всему.
| Уровень | Где работает | Что делает |
|---|---|---|
| 1. Интерфейс | Пульт и База лидов | Без ключа пульт показывает замок, база перекрыта окном активации |
| 2. Индикатор на карте | Страница карт | Без действующей лицензии индикатор горит красным и не даёт запустить сбор |
| 3. Ядро | Фоновый процесс расширения | Проверяет подпись перед каждой записью и считает строки; при достижении лимита обрезает пачку под остаток и выключает сбор |
Смысл послойности в том, что первые два уровня — это удобство и понятные сообщения пользователю, а реальная проверка живёт на третьем. Обойти интерфейс бессмысленно: записи всё равно не появятся.
Почему защита от пиратства выгодна покупателю
Аргумент, который звучит как оправдание, но имеет прямое практическое содержание.
Инструменты сбора данных с карт живут в подвижной среде. Сервисы меняют вёрстку и формат ответов несколько раз в год, и после каждого такого изменения инструмент нужно переделывать. Это не разовая разработка, а постоянная работа.
Продукт, который массово используют бесплатно, эту работу не окупает. Через полгода после очередного изменения он просто перестаёт работать — и никто его не чинит. Вы теряете не деньги за ключ, а рабочий процесс, который на нём построили.
На что смотреть при выборе, помимо защиты, разобрано в статье «Как выбрать сервис сбора контактов с карт».
Частые вопросы
Вы видите, какие компании я собираю?
Нет. Собранные карточки хранятся в браузере на вашем компьютере и на наши серверы не передаются. Сервер отвечает только за проверку лицензии.
Что произойдёт с моей базой, если вы закроете сервис?
База останется у вас — она физически лежит на вашем компьютере. Выгрузить её в файл можно в любой момент.
Можно ли пользоваться ключом на двух компьютерах?
Нет, ключ работает на одном рабочем месте. Сменить устройство можно через поддержку — привязка снимается вручную.
Что будет, если интернет пропадёт посреди работы?
Вы продолжите работать. Ранее полученное подтверждение лицензии действует до 72 часов без связи с сервером.
Зачем вообще привязка к компьютеру, это же неудобно?
Без неё один купленный ключ расходится по десяткам пользователей, продукт перестаёт окупаться и его прекращают поддерживать. Привязка — это то, что позволяет чинить продукт, когда сервисы карт меняются.
Отправляются ли на сервер какие-то данные о моём компьютере?
Только производный идентификатор рабочего места, по которому нельзя восстановить сведения о вашем устройстве. Ни файлы, ни история браузера, ни содержимое базы не передаются.
Соберите первую базу бесплатно
Расширение бесплатное, ставится за полминуты. Демо-ключ открывает 15 организаций — этого хватит, чтобы проверить полноту телефонов и качество выгрузки на своём городе и своей нише. Банковская карта не нужна.
- Сколько разговоров теряет отдел продаж на ручном сборе базы: разбор на цифрах
- Часто задаваемые вопросы о сборе контактов с карт и выгрузке в CRM
- Как автоматически собрать контакты организаций с Яндекс.Карт и 2ГИС: пошаговая инструкция
Сервис работает только с общедоступными сведениями об организациях, которые компании сами разместили в открытых справочниках: название, адрес, рабочий телефон, корпоративная почта, сайт, режим работы, категория. Персональные данные физических лиц не собираются и не обрабатываются. Ответственность за дальнейшее использование выгрузки — в том числе за соблюдение требований к рекламным рассылкам и звонкам — несёт получатель данных. Подробнее — в Политике обработки персональных данных и Публичной оферте.
Материал носит информационный характер и не является публичной офертой.