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.