Безпека

Де зберігаються дані школи і хто їх бачить

Cerium створює fire-gem - компанія з розробки програмного забезпечення, а не мережа шкіл: ми не конкуруємо з вами за учнів і не продаємо дані. Нижче - що перевірено, а чого ще немає.

Як це влаштовано

Кожне твердження нижче підтверджене тестом або перевіркою на робочій інсталяції.

Сервери в Польщі

Застосунок, база даних і сервер онлайн-занять працюють на наших власних серверах у Польщі. Файли зберігаються у сховищі Hetzner у Німеччині, а пошта надсилається через провайдера з дата-центром у ЄС.

Кожна школа відокремлена в базі

Кожен запит прямо вказує школу, а база все одно пропускає лише її рядки (RLS з FORCE). Це перевіряють 320 тестів ізоляції перед кожним розгортанням.

Пароль знає лише його власник

Сервер генерує пароль і надсилає його листом, а в базі зберігається тільки хеш Argon2id. Школа пароля не бачить, а втрачений пароль людина відновлює сама за посиланням, дійсним 15 хвилин.

Сесія без секрету в браузері

Cookie HttpOnly з випадковим токеном, у базі лише його хеш. Сесія завершується через 30 днів або через 14 днів неактивності, а відкликаний доступ припиняє її з наступного ж запиту.

Блокування, яке нічого не видає

Після 10 невдалих спроб обліковий запис блокується на 15 хвилин, а відповідь виглядає як неправильний пароль. Тож сторонній не дізнається, чи існує такий обліковий запис.

Копія бази щодня

Дамп бази створюється раз на добу і зберігається 14 днів на окремому диску того самого сервера. Копії поза сервером поки немає: це наступний крок.

Що перевірено, а чого ще немає

Безпека - це також список того, що ще не зроблено. Ми радше покажемо його самі, ніж чекатимемо, поки хтось знайде.

Перевірено

  • Ізоляція шкіл: тести на базі, зокрема запис до чужої школи та прив'язка до чужого запису.
  • Відкликання доступу: відкрита сесія отримує відмову з наступного запиту.
  • Платежі: дані картки залишаються у Stripe, Cerium зберігає лише ідентифікатори та позначку.
  • Файли: завантажити можна лише файли з розширеннями зі списку, а скачуються вони завжди як вкладення.
  • Вебхук платежів: підпис перевіряється, повторна подія не проводиться вдруге.

Чого ще немає

  • Тесту на проникнення від зовнішньої компанії.
  • Копії бази поза сервером: копія зберігається на другому диску тієї самої машини.
  • Журналу подій: перегляд даних не залишає сліду.
  • Двофакторного входу.
  • Сканування вмісту файлів; перевіряється лише розширення.

Хто що бачить

Що ви бачите, визначає ваша роль. Межу на кожному запиті контролює сервер, а не прихована кнопка в меню.

РольБачитьЗмінює
ОператорОбсяг використання лімітів, список людей із датою останньої активності та звернення до Підтримки.Створює робочий простір і встановлює ліміти. У простір школи не заходить.
КерівництвоУсю школу. PESEL і документ учня бачить лише керівництво.Усе; договори та ставки команди методист отримує лише після надання доступу.
ВикладачСвої групи, заняття та учнів, яких навчає.Присутність, оцінки та домашні завдання на своїх заняттях. Договорів і ставок команди не отримає.
Учень, батькиСебе або своїх дітей: журнал, платежі й матеріали. Склад групи не бачать.Власний обліковий запис: пароль, адресу та мову.

Питання про дані

RODO (GDPR), де зберігаються дані, хто має доступ і що відбувається, якщо ви підете.

Школа. Дані, які школа вносить у систему або збирає на своїх публічних сторінках, належать їй, а ми обробляємо їх як обробник на підставі доручення, передбаченого договором. Розширений договір доручення обробки надаємо на запит. Подробиці в політиці конфіденційності та правилах користування.

Ми не заходимо в робочий простір школи. Оператор платформи бачить обсяг використання лімітів, список людей із датою останньої активності та їхні пристрої з активним входом, звернення до Підтримки, а також журнал доставки пошти: адресу одержувача і тему листа, без змісту. На прохання школи ми готуємо пакет її даних для завантаження (RODO, ст. 15 і 20); кожне таке завантаження фіксується в журналі дій оператора. Пароль власника оператор бачить один раз, під час створення простору, а потім власник змінює його в розділі «Обліковий запис». Паролів решти школи не знає ні школа, ні ми.

Застосунок, база даних і сервер онлайн-занять працюють на наших серверах у Польщі. Файли з DocHub і E-learning зберігаються у сховищі Hetzner у Німеччині, пошта надсилається через ZeptoMail з дата-центру в ЄС, а трафік до сайту й панелі проходить через мережу Cloudflare. Онлайн-платежі проходять через акаунт Stripe школи.

Поки діє договір, школа сама вивантажує дані: експорт CSV з таблиць, документи та файли. Після розірвання договору доступ блокується, а дані ми зберігаємо 90 днів, щоб передати їх на прохання школи. Потім їх остаточно видаляють, а з резервних копій вони зникають протягом наступних 14 днів.

Лише керівництво: власник і методист. Для всіх інших із модулем «Учні» сервер повертає PESEL, номер документа і дату народження порожніми, зокрема в експорті CSV. Це обмеження на боці сервера, а не прихований стовпець на екрані.

З'єднання працюють через HTTPS, а cookie сесії має атрибути Secure і HttpOnly. Паролі й токени зберігаються в базі як хеші, а ключі до бухгалтерських програм зашифровані. Саму базу в стані спокою окремо не шифруємо і кажемо про це прямо.

Поки що ні. Обліковий запис захищають пароль від 10 символів, блокування після 10 невдалих спроб і сесія, яка завершується після зміни пароля або адреси. Щоб змінити свій пароль, потрібно ввести поточний, а всі інші сесії завершуються тієї ж миті.

Пізнайте Cerium зсередини.

14 днів на ваших групах і внесках. Без картки й без зобов'язань.