Права доступа и приглашения

Зачем это нужно

Документация — не всегда публичная. Архитектурные решения, планы,
роадмепы, внутренние процессы — вещь чувствительная. При этом внутри
компании доступ нужно давать гибко: джунам только читать, сеньорам
редактировать, подрядчикам — видеть один проект и не видеть другие.

В Nextdocs есть четырёхуровневая модель прав, которая закрывает
большинство сценариев без перегруза.

Четыре роли

Роль

Что может

Owner

Всё что Admin + удалить проект целиком. Единственная роль, которая не может быть отозвана. Проект создаёт автоматически owner'ом его создатель.

Admin

Приглашать других, менять роли, редактировать любой контент, привязывать / отвязывать репозитории, удалять страницы. Не может удалить сам проект.

Editor

Редактировать страницы, создавать новые, комментировать, упоминать. Не видит админских панелей. Не может менять права.

Reader

Только чтение. Может оставлять комментарии и упоминания (это не считается «редактированием»). Не видит кнопки добавления / удаления страниц.

Приглашение нового участника

На странице проекта в меню шестерёнки → Share / Manage access.
Открывается модальное окно:

  1. Поле «Invite by email or name» — начните вводить email либо имя /
    логин. Если у пользователя уже есть аккаунт в Nextdocs и у вас
    есть хоть один общий проект — он подтянется в автокомплит.

  2. Если его нет — введите полный email и нажмите «Invite». Он
    получит письмо со ссылкой для регистрации.

  3. Выберите роль: Reader / Editor / Admin.

  4. Клик Invite.

Приглашённый:

Публичные проекты

Проекты с visibility: public:

Публичность полезна для open source документации, публичных спек,
маркетингового контента.

Уровни прав

Права выдаются на три уровня:

В обычной жизни 99% прав выдаются на project-level. Page-level
пригождается для confidential-страниц внутри общего проекта.

Управление правами

На странице проекта в Share-модалке:

Ссылка-приглашение

Альтернатива emailу — ссылка-приглашение в Share-модалке:

Удобно для приглашения пачки людей одним действием.

Lock / freeze проекта

Для проектов, которые стали «архивом» (продукт закрыт, команда
расформирована, но документация ценна), Owner может включить
Lock project:

Это мягкий механизм — не удаление, а «заморозка».

Что видят разные роли

Reader:

Editor:

Admin:

Owner:

Приглашения через SSO / домен

Для корпоративных клиентов: если настроена интеграция с SSO
провайдером, любой сотрудник компании автоматически может
запрашивать доступ через «Request access» (кнопка на странице
403). Админам проекта приходит уведомление, они одним кликом
подтверждают.

Ограничения

Типовые сценарии

Новый член команды. Admin заходит в Share-модалку, вводит его
email, выбирает Editor, Invite. Человек получает инвайт-письмо,
через 2 минуты уже в проекте.

Вылетающий сотрудник. Admin в Share-модалке → Remove. Сотрудник
теряет доступ в момент клика. Никакой очистки кеша — всё что он
успел загрузить в браузер, станет 403 при следующем запросе.

Внешний контрактор получает доступ к одному разделу. Admin
находит конкретную страницу, на её шестерёнке → Share → приглашает
контрактора как Reader. Выдаётся page-level права, в проект целиком
он не попадает.

Публикация release notes. Project → Visibility: public. Всех
посторонних можно оставить без приглашения — они откроют по ссылке
без аккаунта. Делитесь в блоге / твиттере.