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.2 |
| 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.
Release files for netbox-hidebox 2.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| netbox_hidebox-2.0.3.tar.gz | 28.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netbox_hidebox-2.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.5 kB
Release files / netbox_hidebox-2.0.3.tar.gz
| Download URL | netbox_hidebox-2.0.3.tar.gz |
|---|---|
| Size | 28.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
505df96e7958179fac1c0d83f579685aa37b47932b7897cb31b7119b2799a77a
|
|
BLAKE2b-256 checksum How to use checksums |
15bd636b4c1a79395e56b1f17e0c4abe909afd85e34836b9f2e091bdda76a514
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / netbox_hidebox-2.0.3-py3-none-any.whl
| Download URL | netbox_hidebox-2.0.3-py3-none-any.whl |
|---|---|
| Size | 31.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eeb7c12d19eb3ae2e59dedd6aa43166d03a569e12f18001809676b48a7028802
|
|
BLAKE2b-256 checksum How to use checksums |
3d44004553ef49c5825235d2a5f89bcff677c981ed661dcd822e6d9c6da7dce9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|