StomPro хранит самое ценное, что есть у клиники — данные пациентов. Карты, диагнозы, финансы. Этот документ объясняет, как они защищены технически и юридически: шифрование, изоляция, бэкапы и соответствие нормам.
Карточки пациентов, истории лечения, зубные карты и финансовые операции шифруются алгоритмом AES-256-GCM перед записью в базу. Ключ выводится из мастер-секрета и идентификатора клиники через PBKDF2 — компрометация одной клиники не раскрывает данные других.
Пароли пользователей никогда не хранятся в открытом виде. Используется адаптивный хеш-алгоритм Bcrypt с cost-фактором 10 и индивидуальной солью. Восстановить оригинальный пароль из хэша невозможно — даже разработчик StomPro не имеет доступа к паролям клиентов.
Каждый вход создаёт уникальный 32-байтовый токен с TTL 7 дней. Все запросы к API проверяют
его в заголовке X-Session-Token. Владелец клиники в любой момент видит список
активных сессий с устройством, IP и временем последней активности — и может закрыть любую одной кнопкой.
Login, смена пароля, OAuth-подключение защищены rate-limit'ом — с ограничением числа попыток с одного IP/ключа. После превышения — блокировка с экспоненциальным backoff. Попытки brute-force подбора пароля становятся неосуществимы за разумное время.
При создании или смене пароля система помечает слабые комбинации:
короче 8 символов, только буквы, только цифры, входит в чёрный список (12345678, qwerty, password, admin и т.п.).
Владелец клиники видит уведомление и может потребовать смену.
Каждая клиника получает свой clinic_id, который проверяется на каждом запросе.
Структура хранения: отдельные таблицы на каждую клинику —
случайно или намеренно прочитать данные чужой клиники невозможно даже на уровне базы.
Ключи шифрования индивидуальны для каждой клиники. Утечка одной клиники не компрометирует другие.
Полная копия всей базы данных создаётся автоматически каждый день, retention — 30 дней. Бэкапы шифруются тем же AES-256 и хранятся в географически отделённом storage.
Владелец клиники может восстановить состояние на любую из контрольных точек одним кликом из административной панели — без обращения в поддержку, восстановление занимает менее 30 минут.
StomPro обрабатывает персональные данные пациентов в соответствии с требованиями закона «О персональных данных». Клиника как оператор персональных данных получает от StomPro Data Processing Agreement (DPA) и подписывает его при подключении.
Пациент в любой момент может запросить экспорт всех своих данных или их удаление — операция выполняется в течение 30 дней через раздел «Настройки → Конфиденциальность».
Всё взаимодействие с серверами StomPro идёт исключительно по защищённому каналу.
Сертификаты обновляются автоматически через Let's Encrypt, поддержка устаревших версий
(TLS 1.0/1.1, SSL) полностью отключена. HTTP-запросы получают 301 редирект на HTTPS.
Периметр сети защищён от объёмных атак на сетевом уровне (L3/L4) и атак на приложение (L7). Подозрительный трафик автоматически фильтруется по сигнатурам и поведенческим паттернам.
WAF блокирует SQL-инъекции, XSS, попытки обхода авторизации. Логи всех инцидентов хранятся 90 дней и доступны при расследовании.
StomPro использует ограниченный круг внешних сервисов для отдельных функций. Каждый из них получает только необходимый минимум данных и обязан соблюдать эквивалентные стандарты безопасности.
Используется для опционального модуля «Чаты» — приём и отправка сообщений из аккаунта клиники. Передаются только идентификаторы переписок, инициированных пациентом. Клиника подключает интеграцию явным согласием в настройках, отключение — в один клик с полной очисткой данных.
Опциональный модуль обмена сообщениями через Direct/Messenger. Передаются идентификаторы переписок и тексты входящих сообщений. Подключение — только через официальный OAuth, обработка в рамках Data Processing Terms Meta.
Полный актуальный список subprocessors доступен по запросу: security@stompro.uz. Об изменениях клиники уведомляются за 30 дней.
Нашли проблему безопасности? Расскажите нам напрямую, до публикации. Мы благодарны исследователям, помогающим защитить данные клиник и их пациентов.
Напишите подробное описание уязвимости с шагами воспроизведения. Мы подтверждаем получение в течение 24 часов и регулярно сообщаем статус устранения. Публичное раскрытие — после исправления и согласования с вами.