Access Management

ubTrace allows you to create and manage Users, Roles, and Permissions. These elements can be used to secure specific aspects of documentation:

  • Folder: Secure an entire folder with all files, including subfolders.

  • Files: Secure individual files.

  • File content: Secure specific parts of a documentation file.

This mechanism ensures that documentation can be secured and access can be granted to specific groups only.

Use Cases

  • Internal Developer Docs: Allow your developers to store internal information like software architectures, security audits, requirements, and other sensitive information in the same place as the public documentation.

  • Customer Handling: Provide your customers access to specific parts of the documentation, such as the test coverage report for quality approval, while hiding internal data, like individual test cases.

  • Support Docs: Grant access to extra information only to customers with the “support package.” This could include a dedicated support hotline, a helpful FAQ, or a link to an internal ticket system.

  • Platform Docs: Are you creating a software platform used by different projects or customers? Often, >80% of your documentation is shared across all projects, but certain aspects are highly project-specific and sensitive. ubTrace supports this use case by enabling a common documentation file that contains role- or project-specific statements.

Configuration

The configuration of Users and Roles, as well as the definition of secured areas within the documentation, is fully integrated into the Sphinx workflow.

The configuration file conf.py can contain all user-related options.

Example

# conf.py
ubtrace_users = [
    {
        "email": "me@example.com",
        "username": "me",
        "password": "secret",
        "active": True,
        "roles": ["user", "admin"]
    }
]

Documentation files (*.rst) contain the definition of what to secure and which roles have access.

Example

**Welcome**

Hello everybody.

.. secure:: internal

   This section is secured and can only be read by logged-in users with the role "internal."

This section can be read by everyone.

This deep integration into the Sphinx workflow makes it easy to address security concerns while writing the documentation.

For more details, please read Content Protection and User Management.