NetBox plugin to hide form fields per user group from the UI
Project description
NetBox HideBox Plugin
NetBox HideBox is a powerful utility for NetBox administrators to clean up and customize the user interface. It allows you to dynamically hide specific form fields on a per-model basis, filtered by User Groups.
Whether you want to hide internal metadata from specific teams or simplify complex forms for non-technical users, HideBox provides a managed, UI-driven way to do it.
Features
- UI-Driven Configuration: No need to edit Python files to hide fields; manage everything through the "Field Hide Rules" menu.
- Dynamic Field Discovery: Automatically inspects NetBox forms to list available fields for any selected Content Type (Device, IP Address, Virtual Machine, etc.).
- Group-Based Visibility:
- Hide fields for all users.
- Hide fields only for specific User Groups.
- Safe Integration: Uses safe monkey-patching on the base
NetBoxModelFormto ensure compatibility across the entire NetBox ecosystem. - Toggleable Rules: Easily enable or disable rules without deleting them.
- Per-Session Reveal Toggle: A button in the top navbar lets any logged-in user temporarily show all hidden fields for their current session, without changing any rules.
Compatibility
| NetBox Version | Plugin Version |
|---|---|
| 4.3.0+ | 2.0.1 |
| 4.3.0+ | 1.3.0 |
| 4.2.0 – 4.2.8 | 1.2.3 |
| 4.2.0 – 4.2.6 | 1.2.1 |
Installation
1. Install via Pip
pip install netbox-hidebox
(Alternatively, if installing from source: pip install . from the root of the repository)
2. Enable in NetBox
Add the plugin to your configuration.py:
PLUGINS = [ 'netbox_hidebox', ]
3. Run Migrations
python3 manage.py migrate netbox_hidebox
4. Restart NetBox
sudo systemctl restart netbox netbox-rq
How It Works
- Middleware: The plugin includes a lightweight middleware that tracks the current user in the request thread.
- Form Patching: Upon startup, the plugin patches the
__init__method of the coreNetBoxModelForm. - Dynamic Logic: Every time a form is initialized, the plugin checks the database for active rules matching that model. If the current user falls under the rule, the specified fields are programmatically converted to
HiddenInputwidgets.
Usage
Creating a Rule
- Navigate to Plugins > HideBox > Field Hide Rules.
- Click Add.
- Name: A descriptive name (e.g., "Hide VM Sensitive Tags").
- Content Type: Select the model you want to target (e.g.,
virtualization | virtual machine). - Fields to Hide: Once the Content Type is selected, the plugin will load all available form fields. Check the boxes for fields you want to disappear.
- Hide for Groups:
- The fields are hidden only for members of the groups you select here.
- If left empty, the fields are hidden for everyone.
- Enabled: Keep checked to activate the rule.
Revealing Hidden Fields
A toggle button appears in the top navbar (an eye icon). Clicking it temporarily reveals all hidden fields for your current session — useful when you occasionally need to see or edit a hidden field. The state is per-session and per-user; clicking again (eye-off icon) re-hides the fields. This does not modify any rules. Note that reveal is available to all authenticated users, consistent with HideBox being a UI tool rather than a security control.
Security Note
HideBox is a UI/UX enhancement tool.
Hiding a field prevents it from appearing in the browser-based forms. However, this plugin does not modify API permissions or database-level constraints. A user with API access and the correct NetBox permissions could still theoretically modify hidden fields via the REST API or custom scripts. For strict security enforcement, always use NetBox's built-in Permissions and Constraints system.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netbox_hidebox-2.0.1.tar.gz.
File metadata
- Download URL: netbox_hidebox-2.0.1.tar.gz
- Upload date:
- Size: 28.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
838b4d0e603f3293838c3f09217c6e726ba32af0ea35feb9d33f79a293f941c0
|
|
| MD5 |
fede1747d290dabbc3b5aff8f543f3fb
|
|
| BLAKE2b-256 |
27e1c15c9f7a2e57089c5e8e902ea5c7cfcd184090f458f059a5fe551ae5a474
|
File details
Details for the file netbox_hidebox-2.0.1-py3-none-any.whl.
File metadata
- Download URL: netbox_hidebox-2.0.1-py3-none-any.whl
- Upload date:
- Size: 32.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c7e2357238e9bd0ea3e00e757c35c71b0320d6b95653e92fa43d2f55f75a3d0
|
|
| MD5 |
e617fb1e2ef6495218e2a59d1fc76871
|
|
| BLAKE2b-256 |
3d09486fba2968178fdaa49025f1f4362e092491719c98f0ef63dce145cc8390
|