Безопасность
Эта страница описывает технические и организационные меры, которые APERTURESyndicate OÜ использует для защиты вашего аккаунта и данных. Она написана так, чтобы быть точной, а не впечатляющей: здесь перечислено то, что мы реально делаем сегодня, и названы границы того, что мы можем обещать.
Если вы нашли уязвимость, прочитайте Безопасность и ответственное раскрытие информации — там объясняется, как о ней сообщить и чего от нас ожидать.
Аккаунты и аутентификация
Пароли никогда не хранятся в читаемом виде. Каждый пароль хешируется bcrypt (коэффициент стоимости 12) перед записью в базу данных и проверяется только сравнением хешей. Никто в APERTURESyndicate — включая администраторов — не может прочитать ваш пароль. Если вы его потеряли, его можно только сбросить, но не восстановить.
Одноразовые коды, отправляемые по email, хешируются argon2id — функцией с высокими требованиями к памяти, потому что короткие числовые коды иначе было бы легко подобрать перебором.
Двухфакторная аутентификация доступна на каждом аккаунте и поддерживает:
- Passkeys (WebAuthn) — самый надёжный вариант; закрытый ключ никогда не покидает ваше устройство, и его нельзя выманить фишингом.
- Приложения-аутентификаторы (TOTP).
- Одноразовые коды по email.
- Коды восстановления на случай, если вы потеряете доступ ко второму фактору.
Сессии выдаются как краткоживущие токены доступа плюс refresh-токен,
хранящийся в куке HttpOnly, которую JavaScript на странице прочитать не
может. Выход из аккаунта, смена пароля или отзыв сессии немедленно аннулируют
refresh-токен на всей платформе, и каждый сервис проверяет отзыв перед тем, как
принять токен.
Данные при передаче
Весь трафик к aperturesyndicate.com и каждому поддомену обслуживается по HTTPS;
обычный HTTP перенаправляется. Трафик проходит через Cloudflare, который
обеспечивает завершение TLS на краю сети, защиту от DDoS и веб-файрвол
приложений, и соединение от Cloudflare до наших серверов также зашифровано.
Обращения в поддержку защищены TLS при передаче и доступны нам для чтения — иначе на них было бы невозможно ответить. Они хранятся в нашей базе данных так же, как текст профиля или пост, и их видят только те, кто занимается поддержкой. Личной переписки между пользователями мы не предоставляем, так что на платформе нет места, где вам следовало бы рассчитывать, что мы не сможем прочитать написанное.
Шифрование при хранении — что зашифровано, а что нет
Мы не заявляем о сплошном шифровании всех персональных данных на уровне приложения, и вам стоит скептически относиться к любой небольшой компании, которая это заявляет. Что мы реально делаем:
- Конкретные секреты повышенного риска шифруются AES-256-GCM перед записью в базу данных — TOTP-сиды для двухфакторной аутентификации и OAuth-токены сторонних коннекторов, подключённых к ИИ-ассистенту. Если кто-то получит копию только этих таблиц, он не получит рабочие учётные данные.
- Пароли и одноразовые коды хешируются, а не шифруются, как описано выше — они никогда не восстановимы, никем.
- Остальная часть базы данных — профили, сообщения, метаданные загрузок — хранится незашифрованной на уровне приложения, защищённой вместо этого сетевой изоляцией, контролем доступа и полной защитой диска хоста.
Базы данных, кэши и шина событий работают на отдельной машине, недоступной из публичного интернета — файрвол принимает подключения к базе данных только с адреса нашего сервера приложений. Загруженные файлы, не предназначенные для публичного доступа, хранятся в приватном object-storage бакете и отдаются через короткоживущие подписанные ссылки, а не публичные URL.
Секреты приложений — ключи подписи, учётные данные базы данных, ключи API сторонних сервисов — хранятся вне репозитория с исходным кодом и внедряются в сервисы во время выполнения.
Изоляция сервисов
Платформа разделена на отдельные сервисы (аутентификация, профили, контроль доступа, биллинг, чат, музыка и другие). Каждый сервис может читать только свою схему базы данных и должен запрашивать всё остальное у другого сервиса через аутентифицированный внутренний канал. Уязвимость в одном продукте, таким образом, не отдаёт злоумышленнику всю базу данных.
Доступ к административным инструментам регулируется ролевыми разрешениями и дополнительно защищён проверкой passkey, выдающей отдельный, короткоживущий административный токен. Чтобы точно указать, чем это не является: административный интерфейс — часть основного веб-приложения и обслуживается с того же хоста и того же сервиса, что и остальной сайт. Он защищён авторизацией и усиленной аутентификацией, а не сетевым разделением или отдельным административным хостом. Каждое административное действие записывается в журнал аудита, доступный только для добавления.
Предотвращение злоупотреблений
Вход, регистрация, сброс пароля, загрузки и конечные точки API ограничены по частоте запросов. Удаление в наших системах — это мягкое удаление: записи помечаются как удалённые и исчезают из продукта, что позволяет нам восстановиться после ошибочного или злонамеренного удаления. Полное удаление по запросу обрабатывается отдельным процессом — см. GDPR и ваши данные.
Резервные копии
База данных копируется во внешнее зашифрованное хранилище в ЕС с возможностью восстановления на момент времени. Полная копия снимается раз в неделю, разностная — ежедневно, а журнал предзаписи отгружается непрерывно. Это значит, что мы можем восстановить базу на любую точку внутри окна хранения, а не только на время последней копии. В худшем случае теряются несколько минут записей.
Копии шифруются до того, как покидают сервер, ключом, который хранится отдельно от самого хранилища. Тот, кто получит файлы резервных копий без этого ключа, не получит ничего читаемого.
Мы храним четыре последние еженедельные полные копии — то есть окно восстановления более раннего состояния составляет около месяца. Более старые копии удаляются автоматически вместе с относящимся к ним журналом предзаписи.
Восстановление проверяется, а не предполагается. Резервная копия, которую ни разу не разворачивали, копией не является, поэтому мы периодически восстанавливаем её в одноразовом окружении и убеждаемся, что данные приходят целыми. Последняя успешная проверка — 1 августа 2026 г. Кроме того, ежедневно автоматически проверяется, что хранилище копий доступно и что журнал предзаписи действительно до него доезжает: молча сломавшаяся цепочка копий иначе обнаружилась бы ровно в тот день, когда она нужна.
Чего это не покрывает: резервные копии защищают от потери, повреждения и ошибок. Это не кнопка «отменить» лично для вас — удаление вашего собственного контента регулируется Хранением данных, и восстанавливать всю базу ради одного удалённого элемента мы не станем.
На что мы не претендуем
Мы компания из двух человек и предпочитаем быть честными о границах:
- Мы не имеем в настоящее время сертификации ISO 27001, SOC 2 или сопоставимой.
- Мы не содержим круглосуточную команду безопасности. Сообщения и инциденты обрабатываются в рабочее время, настолько быстро, насколько могут двое.
- Мы не утверждаем, что нас невозможно взломать. Ни один онлайн-сервис не может это утверждать.
- Функции, всё ещё находящиеся в разработке, могут пока не иметь полного набора защит, описанных здесь; где это так, документация продукта об этом говорит.
Если мы когда-либо столкнёмся с утечкой персональных данных, способной затронуть ваши права, мы уведомим Andmekaitse Inspektsioon в течение 72 часов с момента, как узнаем об этом, и уведомим вас напрямую там, где это требует закон.
Ваша часть
Самая сильная защита аккаунта, которую мы можем предложить, всё равно зависит от вас: используйте уникальный пароль, включите двухфакторную аутентификацию (passkey, если ваше устройство его поддерживает), храните коды восстановления в надёжном месте и никогда никому не сообщайте одноразовый код — мы никогда не попросим его у вас.
Контакты
Сообщения о безопасности и вопросы: [email protected] (используйте префикс темы «SECURITY», чтобы письмо быстрее попало в обработку).