Skip to main content

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 NetBoxModelForm to 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

  1. Middleware: The plugin includes a lightweight middleware that tracks the current user in the request thread.
  2. Form Patching: Upon startup, the plugin patches the __init__ method of the core NetBoxModelForm.
  3. 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 HiddenInput widgets.

Usage

Creating a Rule

  1. Navigate to Plugins > HideBox > Field Hide Rules.
  2. Click Add.
  3. Name: A descriptive name (e.g., "Hide VM Sensitive Tags").
  4. Content Type: Select the model you want to target (e.g., virtualization | virtual machine).
  5. 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.
  6. 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.
  7. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_hidebox-2.0.1.tar.gz (28.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_hidebox-2.0.1-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

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

Hashes for netbox_hidebox-2.0.1.tar.gz
Algorithm Hash digest
SHA256 838b4d0e603f3293838c3f09217c6e726ba32af0ea35feb9d33f79a293f941c0
MD5 fede1747d290dabbc3b5aff8f543f3fb
BLAKE2b-256 27e1c15c9f7a2e57089c5e8e902ea5c7cfcd184090f458f059a5fe551ae5a474

See more details on using hashes here.

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

Hashes for netbox_hidebox-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5c7e2357238e9bd0ea3e00e757c35c71b0320d6b95653e92fa43d2f55f75a3d0
MD5 e617fb1e2ef6495218e2a59d1fc76871
BLAKE2b-256 3d09486fba2968178fdaa49025f1f4362e092491719c98f0ef63dce145cc8390

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page