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.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

  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.2.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.2-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

Details for the file netbox_hidebox-2.0.2.tar.gz.

File metadata

  • Download URL: netbox_hidebox-2.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 a761ca917248bd8466779223be983d4f29dad98ae6d4be256e9ba715887bdfdc
MD5 cc9fa6f327deff07b5a0a386dc786779
BLAKE2b-256 e4caea939b76400a9553a2b42ffde304559a199a26d0dfb011213e8761bcf8cf

See more details on using hashes here.

File details

Details for the file netbox_hidebox-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: netbox_hidebox-2.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e6ee0c9402ccc281de7e582d4190985493211fdb3a786fdce38b8e093b97bfb3
MD5 38330a36394ddaf5052a554f5323dec8
BLAKE2b-256 648a19a73e0ec81555e0db0381c6ad346e8956d5cfa54ff3e5dcf4c0898925b9

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