Рисмикдокументация
Кабинет

Безопасность

Ключ API

  • Ключ хранится только на вашем сервере, в переменной окружения или в хранилище секретов. Не кладите его в код страницы, в мобильное приложение или в репозиторий.
  • У нас хранится только хэш ключа. Если ключ потерян, мы выпускаем новый, а старый отзываем.
  • Ключей может быть несколько, например для prod и staging. Каждый отзывается отдельно.
  • Ключ можно узнать по видимой части wbk_<8 символов>: её мы называем в переписке вместо самого ключа.

Ссылки участников

  • Ссылка — это пропуск конкретного человека в конкретный урок с конкретной ролью. Подделать её нельзя: она подписана нашим ключом.
  • Ссылка живёт от 15 минут до 12 часов. Выдавайте её прямо перед входом и только этому человеку, не рассылайте заранее.
  • Если человек передаст ссылку другому, тот войдёт под его именем. Поэтому ссылки для преподавателя давайте только преподавателю.
  • После архивации урока (DELETE /lessons/{id}) все его ссылки перестают открываться.

Домены

  • Урок показывается во фрейме только на ваших доменах. Мы ставим заголовок Content-Security-Policy: frame-ancestors <ваши домены> для каждой ссылки отдельно. Чужой сайт не сможет показать урок у себя и подтолкнуть человека к нажатию на нём (clickjacking).
  • Кроме того, страница урока сама проверяет, какой сайт её показывает (location.ancestorOrigins, в других браузерах — адрес, с которого пришли). Если сайта нет в вашем списке, урок не открывается. Это работает и в браузере, где расширение вырезает заголовки CSP.
  • События урока уходят только на ваши домены, а команды принимаются только с них.
  • Домены указываются полностью: https://school.example.ru. Поддомены добавляются отдельно.

Cookie и хранилище

Внутри фрейма урок не использует cookie: человек входит только по ссылке. Если браузер запрещает фрейму локальное хранилище, урок всё равно работает. Без хранилища просто не запоминаются тема оформления и расположение панелей.

Вебхуки

  • Проверяйте подпись по сырому телу запроса и отклоняйте запросы старше 5 минут: так повтор старого запроса не пройдёт.
  • Мы отправляем вебхуки только на https и только на публичные адреса. Перенаправлениям мы не следуем.

Данные

  • Мы храним: имя участника из ссылки, хэш вашего идентификатора пользователя, содержимое доски и чата урока, минуты.
  • Ваш идентификатор пользователя у нас не хранится, только его хэш. Email и телефоны мы не получаем.
  • Видео и звук урока не записываются, пока преподаватель сам не включит запись.
  • Данные хранятся в России.
  • По закону (152-ФЗ) оператор персональных данных ваших пользователей — вы, а мы обрабатываем их по вашему поручению. Шаблон поручения: dpa-template.md.

Если что-то случилось

Если ключ утёк, ссылки рассылаются не тем людям или пришли подозрительные вебхуки, напишите на help@rismik.ru. Мы отзовём ключ, при необходимости приостановим доступ платформы и разберём журнал.