L3 — командний baseline дозволів
L3 визначає правила для всього репозиторію й команди. Він не залежить від особистих налаштувань розробника або конкретного агента. Якщо L3 забороняє редагування payments/**, локальний дозвіл сесії не повинен це скасовувати.
L1 описує можливості поточної сесії, L2 — межі окремого агента або workflow, а L3 — спільну політику проєкту. Ці рівні накладаються, а не замінюють один одного.
| Рівень | Фокус |
|---|---|
| L1 | Поточна сесія та її активні capabilities |
| L2 | Окремий агент або workflow |
| L3 | Командний baseline і protected policy репозиторію |
Allow, Ask і Deny
| Режим | Коли застосовувати | Приклади |
|---|---|---|
| Allow | Низькоризикові дії | Read, search, diagnostics, tests |
| Ask | Зміна коду або стану репозиторію | Edit, write, config change, push |
| Deny | Неприйнятний ризик | Secrets, destructive commands, protected paths, force push |
Protected paths і enforcement
- payments/** — фінансові операції та платіжні інтеграції;
- migrations/** — зміни структури даних, іноді незворотні;
- .env* — ключі, токени та середовищна конфігурація;
- infra/** — деплой, доступи й інфраструктура.
- Опишіть командну політику в settings або іншій підтримуваній конфігурації.
- Додайте hook перед Edit або Write для критичних шляхів.
- Продублюйте очікувану поведінку в CLAUDE.md або rules-файлі.
- Перевірте, що deny-rule або hook справді блокує дію.
- Залиште audit trail для спроб доступу та схвалень.
Де зберігати політику
Критичні заборони не варто залишати лише в user або local settings: вони не дадуть однакового захисту всій команді. Водночас deny-зона не повинна бути надмірною, інакше люди почнуть обходити систему.
| Scope | Роль |
|---|---|
| Project | Спільні правила репозиторію |
| Managed | Обовʼязкові організаційні обмеження |
| User | Особисті налаштування |
| Local | Параметри конкретної робочої копії |
Перевірка L3-межі
- чи однаково policy застосовується до різних сесій і агентів;
- чи є окремий Ask для змін поза робочою областю;
- чи заблоковані secrets, destructive commands і force push;
- чи не покладається захист лише на текст CLAUDE.md;
- чи документовані permissions для хмарних планувальників та ревʼю.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush