Admin Guide
Reference for the HCCTS Staff Operations Portal's admin dashboard and content-management tools — for department editors, approvers, and portal admins. For the general staff-facing pages (homepage, department pages, sites, calendars, search, requests), see the User Guide.
Admin Dashboard
The landing page for every editor/admin tool, gated behind the admin/editor login. It shows only the tools the signed-in role is actually permitted to use.
Department Request Queue
The approver-side view of every request routed to a given department.
Department Content Tools
Three related tools cover everything about a single department's page and behavior: its editorial content, its structural settings, and (for Academic Services specifically) a dedicated content model.

Department Content Editor /department-editor.html
Edits a department’s overview text, contacts, and resource links — the content that renders on that department’s public page.

Department Settings /department-settings.html
Structural settings for a department (icon, color, display order, status) rather than its written content.

Academic Services Manager /academic-services-manager.html
A specialized content editor just for the Academic Services department page, which has its own richer content model (programs, compliance-related sections) beyond the generic department template.
Site-Wide Content Managers
Content that isn't scoped to one department is split across dedicated managers rather than one catch-all settings page — each tool owns exactly one kind of sitewide content.

Homepage CMS /homepage-cms.html
The only editing surface for the homepage. Deliberately structured-fields-only — there is no rich-text or raw-HTML field anywhere on this page, by design, so the homepage can’t become an arbitrary-HTML injection point.

Sites Manager /sites-manager.html
Add, edit, and reorder HCCTS site records (address, contact, photo) shown on the public Sites page.

Calendar Manager /calendar-manager.html
Maintains the calendar entries shown on the public Calendars page, built on the portal’s shared CMS-manager framework.

Custom Systems /custom-systems-admin.html
The catalog of HCCTS’s internal digital tools shown on the Digital Tools page and on relevant department pages. URLs are scheme-validated server-side (http/https only) to close a stored-XSS path documented in the project’s own security audit.

Organizational Links Manager /organizational-links-manager.html
Curates the external organizational links shown on the homepage.

Help & Support Manager /help-support-manager.html
Maintains the Help & Support content surfaced to staff.

Request Routing Manager /request-routing-manager.html
Configures where each request type on the Submit a Request form is routed — a department, an approver, or an external destination.

Global Portal Settings /global-settings-manager.html
Sitewide configuration that doesn’t belong to any one content area.

Legal & Policy Manager /legal-policy-manager.html
Metadata only (effective dates, version notes) for the Privacy Policy and Terms of Service. The legal text itself is not editable here by design — it lives in versioned code, not a CMS field.
Users & Audit Log
Who has access, and a record of what every admin/editor action changed.

User Management /users.html
Manage staff/editor/admin accounts and their roles.

Audit Log /audit-log.html
A history of admin and editor actions across the portal’s content tools, for accountability and troubleshooting.
Data Health & Link Review
Two maintenance tools that check the portal's own content for problems rather than editing it directly.

Coda Data Health /coda-health.html
Surfaces the status of the portal’s Coda-backed data sources — a diagnostic view, not a content editor.

Link Review /link-review.html
Reviews links across the portal’s content for problems (e.g. broken links). A scheduled Netlify Function (links-validate-scheduled, run daily per netlify.toml) keeps this check running automatically as well as on demand.
Roles & Permissions
Access is role-based and enforced server-side in netlify/functions/_lib/permissions.js, not only by which links a given UI happens to show.
| Role | Can generally do |
|---|---|
| Staff | Enter through the staff access gate (Google Workspace SSO in the current production configuration), view staff-facing portal content, and submit requests. No admin/editor tool access. |
| Department Editor | Edit that department's own content (Department Content Editor / Academic Services Manager) and act as approver on that department's request queue. |
| Approver | Review and action requests routed to their queue on the Department Request Queue tool. |
| Portal Administrator | Full access to every admin/editor tool: all department content and settings, all sitewide content managers, Users, Audit Log, and the data-health/link-review tools. |
hccts.org). Accounts on subdomains such as student.hccts.org are explicitly rejected. A Users-directory record can enrich role and department metadata, but it is not required for a valid staff-domain identity to enter the general staff portal.Security Notes
A few of the more notable, code-documented security decisions in this project:
dist/, not the repository root — per netlify.toml's own comments, publishing the raw repo previously made data/requests-store.json, data/audit-log-store.json, tests/, scripts/, and docs/ directly downloadable by anyone.href; it's now restricted to http(s) only, matching the same check already used elsewhere in the codebase.STAFF_LOGIN_MAX_ATTEMPTS controls the maximum allowed staff-password login attempts within the configured rate-limit window. Keep this value in Netlify environment variables; never place the password or secret values in portal HTML, JavaScript, screenshots, or documentation.SECURITY_HARDENING_REPORT.md, docs/PRODUCTION_READINESS_AUDIT_2026-07-25.md, netlify.toml), not an independent penetration test. No credentials, secrets, or real values are reproduced here.