Карта данных для проверок безопасности, которой могут пользоваться покупатели
Понятная карта данных для проверок безопасности помогает командам быстрее отвечать на вопросы покупателей, заранее замечать слабые места и не тормозить продажи.

Почему команды снова и снова отвечают одно и то же
Проверки безопасности со стороны покупателей часто идут по одному и тому же кругу. Где данные клиентов попадают в продукт? Где они хранятся? Кто может их скачать? Отдел продаж слышит эти вопросы каждый месяц, но многие команды всё равно воспринимают каждую анкету как новое расследование.
Обычно так происходит потому, что нет одного общего источника правды. Покупатель присылает таблицу. Отдел продаж пересылает её в engineering. Кто-то отвечает по памяти, по старому PDF-файлу или из чата, которому никто полностью не доверяет. Ответ может быть в целом верным, но это занимает время. Потом приходит следующий покупатель с тем же вопросом, и всё начинается заново.
Одни и те же вопросы от покупателей повторяются снова и снова: какие данные вы собираете, где храните, кто имеет к ним доступ, и кто может их экспортировать или удалить. Проблема не в плохом намерении. Просто разные люди видят разные части продукта. Основатель говорит о функциях. Инженер — о базе данных. Руководитель поддержки отвечает из переписок с клиентами.
Такие небольшие расхождения замедляют проверки. В одном ответе сказано, что резервные копии зашифрованы. В другом — что шифрование обеспечивает облачный провайдер. В третьем говорится, что экспортировать данные могут только администраторы, но никто не объясняет, какие именно администраторы и как эти действия логируются. Покупатели быстро замечают такие пробелы, и короткая анкета превращается в длинную цепочку писем.
Обычно не хватает ответственности. Если никто не отвечает за факты, у всех есть только свой кусочек картины. Sales гоняется за обновлениями. Инженеры отвлекаются от запланированной работы, чтобы отвечать на старые вопросы. Legal или compliance подключаются слишком поздно и видят, что формулировки не совпадают с тем, что команда уже отправила.
Простая карта данных решает большую часть этой проблемы. Она превращает разрозненные знания в один понятный справочник, которым может пользоваться вся команда. Вместо того чтобы каждый раз собирать ответ заново, вы начинаете с фактов, с которыми команда уже согласилась. Так ответы на анкеты по безопасности становятся быстрее и последовательнее.
Что должна показывать карта
Хорошая карта данных отвечает на вопросы, которые покупатели задают чаще всего. Ей не нужна полная архитектурная схема. Большинству покупателей достаточно чёткого представления о трёх вещах: где данные клиента попадают в систему, где они хранятся и кто может их оттуда достать.
Начните с точек входа. Покажите все места, где реальные данные клиента впервые попадают в продукт: веб-формы, API-запросы, загрузку файлов, вложения в поддержку, импорт через админку или отправки из мобильного приложения. Всё, что никогда не обрабатывает данные клиентов, лучше не включать — так карта останется читаемой.
Затем отметьте, где данные остаются после приёма. Покупателей хранилища интересуют гораздо больше, чем все внутренние переходы. Назовите основную базу данных, object storage, резервные копии и любые внешние инструменты, которые хранят данные клиента дольше мгновения. Если логи или аналитические сервисы получают поля из записей клиентов, их тоже стоит включить. Если кэш хранит только короткоживущие сессионные данные и не сохраняет значимые записи, обычно его можно не показывать.
Последняя часть — доступ. Используйте роли, а не имена сотрудников. «Support admin», «account owner», «billing manager» или «production engineer» говорят покупателю гораздо больше, чем длинная оргструктура. Ещё полезно указать, как данные покидают систему. Это экспорт внутри продукта, ручной экспорт через поддержку или действие в базе, доступное только инженерам? Одна такая деталь часто экономит несколько раундов вопросов.
Держите рамки узкими. Карта данных — это не инвентаризация всей компании. CI-серверы, маркетинговые инструменты и внутренние дашборды не должны попадать туда, если только они не получают и не хранят реальные данные клиентов.
Начните с трёх прямых вопросов
Сначала не нужна идеальная схема. Нужна честная. Большинство команд могут начать с трёх прямых вопросов, написанных простым языком.
Сначала — что именно пользователи вам отправляют? «Данные клиента» звучит слишком расплывчато и никому не помогает. Запишите реальные входные данные: имена, адреса электронной почты, сообщения в поддержку, счета, платёжные данные, файлы, payload'ы API или журналы активности. Если продукт собирает данные разными способами, разделите эти потоки. Форма регистрации, webhook и мобильное приложение несут разный риск.
Дальше — куда эти данные идут после попадания в систему? Хранилище — это только часть ответа. Одна запись может оказаться в основной базе данных, object storage, резервных копиях, аналитических инструментах, логах ошибок, инструментах поддержки и даже в тестовых средах, если туда когда-нибудь попадут реальные данные. Временные копии тоже считаются. Если пользователь загружает CSV-файл, укажите, где хранится оригинал, куда попадают распарсенные строки и сохраняют ли резервные копии и то и другое.
Потом задайте вопрос, который часто вскрывает настоящий пробел: кто может вынести данные наружу? Назовите роли, людей и системы, которые могут экспортировать, синхронизировать или передавать данные. Многие инциденты начинаются с обычной функции вроде экспорта CSV или доступа со стороны поддержки, а не с драматичной атаки. «Только владельцы аккаунта могут экспортировать счета» — это понятно. «Авторизованные пользователи могут при необходимости получить доступ к данным» — это уже ни о чём.
Первую версию лучше сделать немного скучной. Это хороший знак. Простая карта на одной странице с честными подписями гораздо полезнее, чем красивая схема, которая скрывает копии, побочные системы и пути экспорта.
Постройте карту, не превращая это в проект на полгода
Начните с малого. Если пытаться сразу описать всю компанию, документ становится размытым, и никто его не обновляет. Выберите один продукт, один сценарий или одну функцию, о которых покупатели спрашивают чаще всего, например регистрацию, загрузку файлов или биллинг.
Потом проследите путь в том порядке, в котором движутся данные. Перечислите каждое место, куда данные могут попасть, включая редкие сценарии, которые появляются только у крупных клиентов или у внутренних сотрудников. Проведите каждый вход до всех мест, куда он попадает. Обычно это база данных, файловое хранилище, логи, аналитические системы, резервные копии и любые процессы, которые создают ещё одну копию, например поисковый индекс, отчётный job, плановый экспорт или трекер ошибок. Такие побочные копии легко упустить, и именно они часто затягивают проверку.
Когда путь хранения уже понятен, отметьте все способы, которыми данные могут покинуть систему. Включите панели администрирования, инструменты поддержки, скрипты, отчётные задачи, доступ к базе и экспорт из продукта. Простые подписи работают лучше всего. «Support manager can export tickets» говорит покупателю что-то конкретное. «Внутренний доступ» — нет.
Соберите результат на одной странице. Подойдёт таблица. Подойдёт и простая схема. Формат менее важен, чем скорость. Если разработчик не может обновить её за десять минут после релиза, она слишком сложная.
Относитесь к карте как к живому документу. Назначьте владельца. Укажите дату последней проверки. Пишите так, чтобы sales, engineering, product и security могли открыть одну и ту же страницу и прийти к одному и тому же ответу.
Кто должен помочь её составить
Один человек почти никогда не видит весь путь данных клиента. Инженер может проследить код, но покупателей также интересуют скриншоты, логи, резервные копии, рабочие процессы поддержки и админские экспортные функции. Такие детали обычно распределены между несколькими командами.
Короткая рабочая встреча полезнее, чем долгий обмен задачами. Соберите небольшую группу на звонок, откройте продукт и проследите одно реальное действие пользователя от начала до конца. Так обычно становится видно, что команда действительно делает, а не то, что написано в старой схеме.
Engineering должен показать путь от формы или API-запроса до базы данных, очереди, кэша, аналитического инструмента и задачи экспорта. Support должен объяснить, как файлы, скриншоты и сообщения клиентов попадают в команду вне самого продукта. Ops или инфраструктура должны назвать места, где копии сохраняются после завершения запроса, включая логи, резервные копии, storage buckets, инструменты мониторинга и системы вендоров. Product должен указать, какие функции запрашивают более чувствительные поля, чтобы карта оставалась привязанной к реальному поведению продукта.
Каждый человек замечает свой слепой угол. Поддержка может знать, что корпоративные клиенты всё ещё присылают CSV-файлы по email. Ops может знать, что инструмент логирования хранит payload'ы запросов семь дней. Product может знать, что одно поле при онбординге собирает tax ID в некоторых регионах. Один только engineering легко упустит всё это.
До окончания встречи выберите одного владельца. В небольшой SaaS-компании это может быть engineering manager, security lead или fractional CTO. Владельцу не нужно лично писать каждое обновление. Ему нужно лишь следить, чтобы карта обновлялась, когда команда добавляет вендора, меняет хранилище или выпускает новую функцию экспорта.
Если владельца нет, всё быстро устаревает. И тогда следующий покупатель присылает анкету по безопасности, а команда снова начинает с нуля.
Простой пример для небольшого SaaS-продукта
Представьте небольшую SaaS-компанию, которая автоматизирует обработку счетов. Во время проверки покупатель задаёт знакомый вопрос: «Куда попадают загруженные счета после обработки?» До того как команда всё записала, этот один вопрос обычно превращался в длинную цепочку писем между sales, engineering и support.
Их карта потока данных клиентов начинается с формы загрузки в веб-приложении. В ней также показан путь через API, потому что некоторые клиенты отправляют счета из своей бухгалтерской системы, а не из браузера. Дальше карта ведёт файл к двум основным местам. Оригинальный счёт попадает в object storage. Извлечённые поля, например название поставщика, сумма и срок оплаты, сохраняются в базе данных, чтобы приложение могло искать их и показывать клиенту.
Карта также показывает доступ по ролям. Сотрудники поддержки могут открыть файл, если клиент сообщает об ошибке импорта или неверном результате OCR, но не могут массово экспортировать файлы. Только администраторы могут запускать экспорт, и команда отмечает, что система фиксирует эти действия в логах.
Затем команда добавляет детали, которые покупатели обычно спрашивают в следующем письме. Журналы приложения хранят метаданные запроса 30 дней и не сохраняют полный содержимое счетов. Резервные копии базы и хранилища подчиняются определённому сроку хранения, и карта пишет это простым языком, а не прячет в внутренней заметке.
Это работает, потому что отвечает на настоящий вопрос покупателя. Где данные клиента попадают в систему? Где они хранятся? Кто может их видеть? Кто может их вынести? Карта не заменяет весь процесс проверки безопасности SaaS, но убирает большую часть повторяющейся работы. Когда приходит следующая анкета, команде уже не нужно начинать с пустого листа.
Ошибки, из-за которых проверки затягиваются
Большинство задержек возникает из-за карты, которая выглядит аккуратно, но не показывает то, что действительно важно покупателю. Покупателю не нужна ваша самая красивая архитектурная схема. Ему нужно простое объяснение: откуда данные приходят, где лежат и кто может их вынести.
Самая частая ошибка — побочные копии. Команды рисуют основное приложение и забывают про логи, резервные копии, файловое хранилище, инструменты поддержки, трекинг ошибок, аналитические платформы и staging-данные. Даже если каждая система хранит только небольшой кусочек записи, покупатель всё равно хочет знать, что она существует.
Ещё одна проблема — размытые формулировки о доступе. Слова вроде «admin», «support» или «engineer» слишком широкие сами по себе. Покупатели хотят понимать, какая роль может просматривать данные, какая — загружать их и какая — экспортировать полный набор. Права на экспорт обычно важнее, чем должности.
Старые карты создают свои проблемы. Команда меняет auth, добавляет нового вендора, переносит хранилище или начинает отправлять события в новый аналитический сервис. Документ в общей папке не меняется, но sales продолжает прикладывать его к анкетам. Покупатели быстро замечают несоответствие, а когда доверие падает, на каждый ответ уходит больше времени.
Простой тест помогает. Дайте карту человеку не из engineering и задайте три вопроса: где данные клиента входят в систему, где они хранятся и кто может их экспортировать? Если за две минуты он не может ответить, карту ещё нужно доработать.
Быстрая проверка перед отправкой
Карта данных экономит время только тогда, когда кто-то ещё может быстро прочитать её и доверять ей. Если человеку, который её рисовал, приходится объяснять каждую стрелку, она ещё не готова.
Начните с холодного чтения. Дайте её инженеру, который не участвовал в создании, и попросите коротко объяснить путь данных. Он должен суметь сказать, где данные входят, где хранятся, какие сервисы их трогают и как кто-то может их достать. Если он замолкает, гадает или просит созвониться, пробелы всё ещё есть.
Потом проверьте все места, где данные лежат. Команды обычно помнят основную базу данных, но забывают обо всём вокруг неё: временных файлах, логах, резервных копиях, аналитических инструментах, скриншотах поддержки, staging-средах и файловых хранилищах. Именно там чаще всего появляются дополнительные вопросы.
С такой же честностью проверьте пути экспорта. Не останавливайтесь на публичном API или обычной кнопке экспорта в продукте. Посмотрите админ-панели, SQL-доступ, инструменты поддержки, отчётные задачи, webhooks и скрипты сотрудников. Если человек с нужным доступом может вынести данные наружу, внесите это в карту.
Один владелец должен поддерживать актуальность карты после релизов. Для этого не нужен комитет. Сделайте обновление частью release checklist. Новый вендор, новая очередь, новый кэш, новая функция экспорта — значит, карта тоже меняется.
Отдел продаж должен уметь использовать одни и те же утверждённые формулировки без догадок. Если менеджеру по продажам всё ещё нужны чат-треды, чтобы подтвердить базовые вещи, значит, подписи пока недостаточно ясны.
Что делать дальше
Используйте вопросы, которые покупатели уже задают, как сырой материал. Возьмите последние пять или десять проверок безопасности, отметьте повторяющиеся вопросы и на их основе стройте карту. Если покупатели всё время спрашивают, где лежат файлы, кто может их экспортировать или какие вендоры их получают, сделайте эти ответы очевидными.
Подготовьте первую версию за одну рабочую встречу. Не ждите идеальной схемы или полного переписывания политики. Один инженер, один человек из product и кто-то из support или ops обычно могут за час набросать полезный первый вариант. Коробки, стрелки и короткие заметки — этого достаточно.
После этого закройте пробелы, из-за которых чаще всего приходят дополнительные письма. Большинству команд не нужно больше слов. Им нужны более понятные ответы о точках входа, хранилищах, экспортах, удалении данных и вендорах. Начните с той недостающей заметки, из-за которой каждый раз возникают шесть последующих вопросов. Это не самая эффектная работа, но она быстро окупается.
Потом относитесь к карте как к продуктовой документации, а не как к вложению для sales, которое создают один раз и забывают. Пересматривайте её после запусков, смены вендоров, новых функций экспорта и любых изменений в том, как вы работаете с логами, резервными копиями или доступом поддержки. Если команда часто выпускает изменения, добавьте эту проверку в список релизов, чтобы она действительно происходила.
Есть одна привычка, которая помогает сильнее, чем многие ожидают. Когда покупатель задаёт сложный вопрос, обновите карту после завершения проверки. Тогда следующая проверка станет короче.
Если из-за этой работы сделки снова и снова застревают или она слишком сильно отвлекает инженеров, поможет внешний советник. Oleg Sotnikov на oleg.is работает со стартапами и небольшими компаниями как Fractional CTO и advisor, помогая командам улучшать техническую документацию, архитектурные решения и процессы проверок, чтобы ответы оставались последовательными, а каждый опросник покупателя не превращался в пожар.
Часто задаваемые вопросы
Что такое data map в проверке безопасности покупателя?
Это одна страница с тем, как данные клиентов проходят через ваш продукт. Покажите, где данные входят, где хранятся, кто может их просматривать и кто может экспортировать или удалять их.
Нужна ли мне полная архитектурная схема?
Нет. Обычно покупателям нужны простые факты, а не все внутренние сервисы и стрелки. Подойдёт простая таблица или схема, если в ней видно точки входа, хранилища, побочные копии и пути экспорта.
С чего лучше начать?
Выберите один процесс, о котором покупатели спрашивают чаще всего, например регистрацию, загрузку файлов или биллинг. Если начать с малого, карту проще читать и обновлять.
Какие системы команды чаще всего забывают?
Чаще всего забывают логи, резервные копии, аналитические инструменты, инструменты поддержки, хранилища файлов и данные в staging-среде. Эти копии вызывают дополнительные вопросы, потому что в них всё ещё может храниться информация о клиентах.
Насколько подробно описывать раздел с хранилищами?
Укажите реальные места, где лежат записи: основную базу данных, object storage и резервные копии. Если файл попадает в одну систему, а распарсенные поля — в другую, скажите об этом прямо.
Как понятно описывать доступ?
Используйте роли и действия, а не расплывчатые названия. Укажите, кто может просматривать данные, кто может их экспортировать и делают ли это support, админы или инженеры через продукт, инструмент поддержки или прямой доступ к базе.
Кто должен помогать составлять карту?
Подключите инженеров, поддержку и ops или инфраструктуру, а если какие-то функции собирают более чувствительные поля — ещё и продукт. Каждая группа видит свою часть потока, поэтому на короткой рабочей встрече обычно сразу находятся пробелы.
Как понять, что карту уже можно отправлять?
Дайте её человеку вне группы авторов и попросите за две минуты объяснить поток данных. Если он запинается на хранилищах, побочных копиях или экспортах, подписи нужно доработать до того, как sales отправит документ.
Как часто нужно обновлять карту?
Обновляйте её, когда добавляете вендора, меняете хранилище, выпускаете новую функцию экспорта или меняете доступ поддержки. Включите такую проверку в процесс релиза, чтобы карта оставалась актуальной.
Почему это ускоряет проверки безопасности?
Общая карта даёт sales, engineering, product и support один согласованный ответ вместо нескольких частичных. Покупатели получают более быстрые ответы, а вашей команде не приходится заново собирать один и тот же ответ для каждой анкеты.