Дозволи
Observer використовує дворівневу модель дозволів. Кожен користувач має роль платформи, яка контролює доступ до адміністративних функцій. У кожному проекті користувачі також мають роль проекту, яка контролює, що вони можуть робити з даними справ. Три прапорці чутливості додатково обмежують, які поля з’являються у відповідях.
Ролі платформи
Ролі платформи задаються під час створення облікового запису і можуть бути змінені лише адміністратором.
| Роль | Що вони можуть робити |
|---|---|
admin | Повний доступ до всього — користувачі, проекти, довідкові дані, всі справи |
staff | Управління довідковими даними та проектами; не може керувати іншими користувачами |
consultant | Робота в призначених проектах; немає доступу до панелі адміністратора |
guest | Доступ лише для читання в призначених проектах |
Адміністратори платформи автоматично виступають власниками проекту в усіх проектах — вони повністю обходять перевірки дозволів на рівні проекту.
Ролі проекту
Ролі проекту застосовуються в межах конкретного проекту. Користувач повинен бути явно призначений до проекту для доступу до нього.
| Роль | Ранг | Що вони можуть робити |
|---|---|---|
owner | 4 | Все, включно з видаленням проекту |
manager | 3 | Усі операції з даними справ + управління членами команди |
consultant | 2 | Створення, читання, оновлення справ та експорт даних |
viewer | 1 | Доступ лише для читання до даних справ |
Вимоги до дій
| Дія | Мінімальна роль проекту |
|---|---|
| Читання даних | viewer |
| Створення записів | consultant |
| Оновлення записів | consultant |
| Видалення записів | manager |
| Управління учасниками | manager |
| Експорт даних | consultant |
Прапорці чутливості
Кожен дозвіл проекту має три незалежних булевих прапорці, що задаються менеджером або власником для кожного користувача в кожному проекті.
| Прапорець | Що контролює |
|---|---|
can_view_contact | Номери телефонів та адреси електронної пошти в записах про людей |
can_view_personal | Повне ім’я, дата народження, національний ID (external_id), інфо про згоду |
can_view_documents | Доступ до файлів документів та метаданих документів |
Коли прапорець вимкнено, відповідні поля виключаються з відповідей API та CSV-експорту — дані залишаються в базі даних, але не надсилаються цьому користувачу. Консультант з can_view_personal: false не може отримати національні ідентифікатори або дати народження через експорт, навіть якщо він може створювати записи.
Призначення дозволів
Лише адміністратори платформи та власники/менеджери проектів можуть призначати дозволи проекту.
Додати користувача до проекту
POST /admin/projects/:project_id/permissions{
"user_id": "01J...",
"role": "consultant",
"can_view_contact": true,
"can_view_personal": false,
"can_view_documents": false
}Оновити наявний дозвіл
PUT /admin/projects/:project_id/permissions/:permission_idВидалити користувача з проекту
DELETE /admin/projects/:project_id/permissions/:permission_idТипові налаштування
Польовий працівник (consultant, обмежені персональні дані)
{
"role": "consultant",
"can_view_contact": true,
"can_view_personal": false,
"can_view_documents": false
}Номери телефонів видимі для координації; немає доступу до національних ID або дат народження.
Супервайзер (manager, повний доступ)
{
"role": "manager",
"can_view_contact": true,
"can_view_personal": true,
"can_view_documents": true
}Зовнішній аудитор (viewer, без чутливих даних)
{
"role": "viewer",
"can_view_contact": false,
"can_view_personal": false,
"can_view_documents": false
}