Безопасность и доверие
Что платформа реально делает для защиты данных — и, что не менее важно, чего она пока не делает.
Последняя проверка: 21 октября 2026
Эта страница написана по реализации, а не по шаблону. Каждый контроль ниже существует в продукте; каждый, которого у нас нет, перечислен ниже с объяснением. Если что-то здесь устарело — напишите, и мы поправим.
Контроль доступа
Кто может добраться до ваших данных и что он сможет с ними сделать.
Каждый аккаунт — конкретный человек
Аккаунты создаются на подтверждённый e-mail с паролем. Общих логинов нет, дефолтных аккаунтов нет, демо-рабочего пространства с реальным содержимым нет.
- Аккаунт создаётся на подтверждённый e-mail с паролем
- Никаких общих или безымянных учётных записей — доступ всегда привязан к человеку
- Последнего владельца рабочего пространства нельзя удалить, поэтому пространство не останется без владельца
Роли проверяются на сервере
В рабочем пространстве четыре роли. Проверка происходит в API и в базе данных, а не в интерфейсе, поэтому изменённый клиент не сможет её обойти.
- Owner — оплата, участники, домены и всё, что ниже
- Admin — участники, домены, проекты, публикация
- Editor — создание и публикация туров, без доступа к оплате и участникам
- Viewer — доступ только на чтение к проектам и аналитике
- Проверка ролей выполняется на сервере при каждой записи, и только Owner может назначить Owner
Изоляция на уровне строк в базе данных
Во всех таблицах рабочего пространства включена RLS. Запрос без правильного контекста организации не возвращает строк вообще — не отфильтрованные строки, а ноль строк.
- RLS включена во всех двенадцати таблицах рабочего пространства, включая проекты, туры, сцены, хотспоты, ассеты и лиды
- Чтение чужих рабочих пространств невозможно на уровне базы данных, а не только заблокировано в коде
- Доступ через service role существует только на сервере — для операций, которым он действительно нужен (запись аудита, учёт лимитов)
Защита данных
Что зашифровано, что хэшируется, а что намеренно обрезается.
Всё отдаётся по HTTPS
Каждый ответ маркетингового сайта и студии несёт HSTS, политику безопасности контента и стандартные заголовки против перехвата и встраивания.
- TLS на каждой странице, каждом вызове API и каждой встройке
- HSTS, CSP, X-Content-Type-Options, Referrer-Policy и Permissions-Policy на каждом ответе
- Просмотр и встройка отдаются с no-store, чтобы тур не остался в кэше на общем компьютере
Пароли доступа хэшируются, а не хранятся
Тур, закрытый паролем, хранит хэш scrypt. Сравнение выполняется за постоянное время, поэтому ответ не выдаёт, сколько символов пароля угадано.
- Хэширование scrypt с индивидуальной солью для каждого тура
- Сравнение за постоянное время при каждой попытке
- Cookie разблокировки — httpOnly, Secure, SameSite=Lax, срок 24 часа
- Пять попыток в минуту с одного IP; шестая отклоняется с заголовком Retry-After
IP-адреса посетителей обрезаются
Аналитика хранит сеть посетителя, а не сам адрес. Полный IP никогда не попадает в базу.
- IP-адрес обрезается до сети /16 перед сохранением
- Обрезанное значение используется только для подсчёта уникальных посетителей
Опубликованный контент
Как защищён опубликованный тур после выхода в продакшен.
Опубликованные версии неизменяемы
Сборка, которую видит посетитель, не может измениться под ним. Изменения выходят новой версией, а любую предыдущую можно вернуть.
- Опубликованная версия заморожена — всех посетителей обслуживает одна и та же сборка
- Полная история версий с возвратом в один клик
- Видимость задаётся явно: публичная, без ссылки или с паролем
Правила доступа, которые можно ужесточить
Помимо пароля, туру можно задать срок действия или ограничить список доменов, которым разрешена встройка.
- Ссылки с ограниченным сроком — тур перестаёт открываться в назначенную дату
- Списки разрешённых доменов — встройка отклоняется на любом хосте не из списка
- Оба правила применяются и в просмотрщике, и во встройке, а не только в редакторе
Ваш контент переносим
Тур можно выгрузить в любой момент: пакет содержит конфигурацию и исходные панорамы, поэтому уход с Mango360 не означает потерю работы.
- Выгрузка тура: граф сцен, хотспоты, планы этажей и брендинг в JSON плюс исходные файлы панорам
- Выгрузка аналитики и лидов в CSV
- Выгрузка доступна по запросу, без «окна» перед уходом
Защита от злоупотреблений
Ограничения, не дающие одному клиенту исчерпать платформу.
У каждого write-эндпоинта есть лимит
У каждого пути записи свой бюджет по IP-адресу, а ответ содержит стандартные заголовки лимитов, чтобы корректный клиент мог снизить темп.
- Десять публикаций в минуту, двадцать снятий с публикации, двадцать откатов
- Шестьдесят аналитических событий в минуту, тридцать задач обработки панорам
- Пять заявок за десять минут — самый жёсткий бюджет в системе
- Ответы содержат X-RateLimit-Limit, X-RateLimit-Remaining и Retry-After
Публикация — контролируемая операция
Публикация — самая дорогая операция, которую клиент может запросить, поэтому у неё самый жёсткий лимит и самая строгая проверка.
- Каждая публикация — новая неизменяемая версия с полной записью аудита
- История версий хранит, кто опубликовал, когда и какую версию
Эксплуатация и мониторинг
Как сервис наблюдается и поддерживается в работе.
Ошибки отслеживаются, а не угадываются
Приложение студии передаёт ошибки и трассировки производительности в Sentry, включая запись сессий, чтобы сбой обнаруживался раньше, чем о нём сообщит клиент.
- Отчётность об ошибках клиента и трассировки производительности в приложении студии
- Запись сессии позволяет воспроизвести сбой, не прося пользователя его описывать
Журнал административных действий
Административные действия записываются вместе с исполнителем и временем. Это запись для расследования, а не экран в интерфейсе: нужен отчёт по действиям — спросите нас, мы выгрудим из базы.
- Записываются: публикации, снятия с публикации, удаления туров и проектов, создание и подтверждение доменов, старт и завершение live-сессий, смена статуса лида
- Каждая запись хранит исполнителя, действие, объект и время
- Входы в систему и изменения состава участников пока не записываются
Приватность и право
Документы и люди за ними.
Опубликованные политики и адресные контакты
Политика конфиденциальности и условия использования опубликованы и версионированы, а за каждым документом закреплён ящик, который читает живой человек.
- Политика конфиденциальности и условия использования опубликованы на сайте
- privacy@mango360.app — запросы по защите данных
- legal@mango360.app — договоры и соглашения
- support@mango360.app — вопросы по продукту
Запросы субъектов данных
Запросы на доступ, исправление или удаление персональных данных обрабатываются по e-mail. Запросы о данных посетителей мы решаем сами, а запросы о данных аккаунта передаём владельцу рабочего пространства.
- Запросы на доступ, исправление и удаление — privacy@mango360.app
- Прежде чем действовать, мы подтверждаем, какие данные о конкретном посетителе у нас есть
Субпроцессоры и соглашения
Список сервисов, на которых мы полагаемся, и соглашение об обработке данных доступны по запросу. Сегодня это не самостоятельная загрузка, и мы предпочитаем сказать об этом прямо, чем делать вид.
- Актуальный список субпроцессоров высылается по запросу
- Соглашение об обработке данных доступно клиентам Business и Enterprise
Пока недоступно
Вот список контролей, о которых спросит служба безопасности и на которые мы не можем ответить «да». Мы публикуем его, потому что вендор, который прячет пробелы, оценивается хуже, чем вендор, который их называет.
SSO / SAML / OIDC
Аутентификация — только e-mail и пароль. Интеграции с провайдером удостоверений в продукте сегодня нет. Если в вашей организации SSO обязателен, считайте это блокером и поговорите с нами до того, как принимать решение.
SOC 2 Type II и ISO 27001
Мы не сертифицированы, и аудит сертификации не идёт. Мы не поставим на этой странице значок, за которым не сможем показать отчёт.
Локализация данных и региональное хранение
Все данные находятся в одном регионе, и выбрать другой нельзя. Регион указан в списке субпроцессоров, который высылается по запросу.
Опубликованные бэкапы, RPO и RTO
Мы не публикуем целевые показатели восстановления. Если ваша политика их требует, это вопрос для договора, а не для сайта.
Публичная страница статуса и SLA по доступности
Публичной страницы статуса нет, и процент доступности мы не гарантируем. Об инцидентах пострадавшие клиенты уведомляются по e-mail.
Шифрование хранилища ключами клиента
Хранилище зашифровано провайдером управляемыми им ключами. Ключи клиента и BYOC недоступны.
Где лежат ваши данные
Именно эту таблицу мы проходим вместе со службой безопасности клиента. Она намеренно конкретна в части сроков хранения, включая места, где мы пока не удаляем данные автоматически.
| Что | Где | Срок хранения |
|---|---|---|
| Панорамы, планы этажей и загруженные медиафайлы | Объектное хранилище (Supabase Storage), один регион | До удаления проекта |
| Конфигурация тура: сцены, хотспоты, планы этажей, брендинг, опубликованные версии | PostgreSQL | До удаления проекта; опубликованные версии переживают удаление тура |
| События аналитики: просмотры, достигнутость сцен, клики по хотспотам | PostgreSQL | Автоматического удаления сегодня нет. Выгрузите в CSV и попросите нас очистить |
| Заявки из форм туров и с сайта | PostgreSQL | До удаления вами или закрытия рабочего пространства |
| Данные аккаунта: e-mail, хэш пароля, участие и роль в пространстве | PostgreSQL (Supabase Auth) | До закрытия аккаунта |
Вопросы, которые нам задают на проверках
Есть ли страница статуса, на которую можно подписаться?
Вы подписываете соглашение об обработке данных?
Могу ли я хранить данные в ЕС?
Как выгрузить данные?
События аналитики удаляются автоматически?
Поддерживаете ли вы single sign-on?
Нашли что-то?
Присылайте детали на security@mango360.app. Мы подтвердим получение и скажем, будем ли это исправлять, до того как выпустим исправление. Если ищете что-то конкретное, чего нет на этой странице, — спросите: мы ответим, а не пришлём PDF.