Account & administration Admin

Admin panel

Manage users, customers, reference data, libraries, registrations, audit logs, and licensing.

What this is for

The Admin panel is the back-office of MyHaccpPlan. It’s reachable at /admin and is visible only to users with the admin or super_admin role. The panel uses tab navigation; some tabs are super-admin-only.

The 12 tabs and what each one does:

TabAudiencePurpose
CustomersAdminCreate and manage customer organizations.
UsersAdminCreate, edit, deactivate users; reset passwords.
RegistrationsAdminApprove or reject company registration requests.
Reference DataSuper adminManage product categories, processing steps, and their hazards.
Hazard LibrarySuper adminGlobal hazard reference database.
PathogensSuper adminReference pathogens database.
Global LibrariesSuper adminManage global standards, decision trees, matrices.
Loupe ImporterSuper adminImport legacy plans from Loupe.
Archived PlansSuper adminBrowse and restore soft-deleted plans.
Audit LogAdminView change history for a customer.
Bucket ExplorerSuper adminBrowse S3 storage, find orphans.
LicensesSuper adminManage customer licenses.
the Admin panel with tab navigation across the top

Common tasks

How to invite a user to your customer

  1. Open Admin → Users.
  2. Click + Create user.
  3. Fill in name, email, password, role, and customer ID.
  4. Tick Send welcome email to email the user their credentials.
  5. Click Create.

The user is created and (if ticked) emailed. They can log in immediately.

How to deactivate a user

  1. Users tab → find the user.
  2. Click the trash icon → confirm.

The user can no longer sign in. Their data is preserved; they can be reactivated later.

How to reset a user’s password

  1. Users tab → find the user.
  2. Click the password icon (key/lock).
  3. Enter a new password (min 8 characters) and confirm.

The user can sign in with the new password immediately.

How to manage customers (super admin)

The Customers tab lets super admins create, edit, and delete customer organizations:

  1. Click + Create customer.
  2. Fill in name, email, phone, address, notes.
  3. Save.

Customers are then visible in the Users tab’s customer dropdown when creating users.

How to approve a company registration

  1. Registrations tab.
  2. Filter by Pending.
  3. Click Approve on the row.
  4. The system creates a customer + admin user and sends a welcome email.

To reject, click Reject and (optionally) add a reason — the rejection email is sent to the requester.

How to manage reference data (super admin)

Reference data drives the Online Hazards browser and product/step matching.

  1. Reference Data tab.
  2. Sub-tab: Categories or Steps.
  3. Sidebar lists items (with search, infinite scroll).
  4. Click an item to view its details and hazards.
  5. Add/edit/delete using the toolbar buttons.
  6. Each hazard has B/C/P/M/R/Q type, optional pathogens, examples, and EN/FR translations.

Import or export the entire reference dataset via Import / Export (.hplnrc for categories, .hplnrs for steps). Use Reset (with master password) to restore the seed dataset.

How to manage the global hazard library (super admin)

The Hazard Library tab is a flat list of every reference hazard, organized by hazard type. Add/edit/delete hazards here — the changes propagate to the matching reference categories and steps.

How to manage global standards / decision trees / matrices (super admin)

The Global Libraries tab consolidates all three. Each section lists items, with create / edit / delete and import / export from the appropriate file format (.hplns, .hplnd, .hplnm).

How to view the audit log

  1. Audit Log tab.
  2. Pick a customer.
  3. Scroll the chronological list of changes (who changed what, when).

How to release a stuck plan lock

If a user left a plan open and walked away, the lock auto-expires eventually. To force-release:

  1. Bucket Explorer tab (super admin) → navigate to the customer’s plans.
  2. Find the lock metadata file (.lock) and delete it.

The next user to load the plan acquires a fresh lock.

How to manage licenses (super admin)

The Licenses tab shows every customer’s license status:

  1. Click Edit on a customer row.
  2. Set status (active / expired / suspended), expiry date, plan limit.
  3. Save.

Changes are logged to the audit log automatically.


Screen reference

Tab bar

Across the top, with super-admin-only tabs marked with a small lock icon for non-super-admin admins (which are mostly hidden).

Customers tab

ColumnDescription
NameCustomer name.
EmailPrimary contact.
PhoneContact phone.
StatusActive / inactive.
ActionsEdit / delete.

Users tab

ColumnDescription
NameFull name.
EmailLogin email.
Rolesuper_admin / admin / user / readonly.
CustomerCustomer organization.
StatusActive / deactivated.
ActionsEdit / reset password / send welcome / deactivate.

Registrations tab

| Filter | Status counts: All / Pending / Approved / Rejected. | | Column | Company / Contact / Email / Phone / Status / Date / Actions. | | Actions | Approve / Reject (with optional reason). |


FAQs

Why can’t I see all admin tabs? Several tabs (Reference Data, Hazard Library, Global Libraries, Loupe Importer, Archived Plans, Bucket Explorer, Licenses) are super-admin-only. Regular admins only see Customers, Users, Registrations, and Audit Log for their own customer.

Where do welcome emails come from? Datahex’s email infrastructure (Resend). The from-address is the standard MyHaccpPlan domain. If a user reports not receiving the email, check spam first.

Can I bulk-import users from a CSV? Not yet via the UI. Datahex super admins can run a one-off import on request. For larger onboarding, contact Datahex.

The reference data tab is huge — is there a way to filter? Use the sidebar search box, which filters by item name. Infinite scroll loads more items as you scroll down.

What does “Reset reference data” actually do? It reverts every category, step, and hazard to the seed dataset shipped with MyHaccpPlan, discarding all custom edits. It requires a master password (set per-environment) — use with extreme care, and back up first.

Can I delete a customer with active plans? You can, but plans associated with the customer become inaccessible (they remain in S3 storage but no users can sign in to view them). Consider deactivating the customer instead, or moving the plans to a different customer first.

Where do I see who restored a plan from archive? Archived plan restores are written to the audit log with the user, customer, and timestamp.

Can a non-super-admin manage the global libraries? No — global libraries are Datahex content. Customers should manage their own copies via the customer libraries (each opened from inside a plan).