Skip to main content
Loading...
Portals
Portals
Portals

Portals

Umbrella surface for every public-facing portal — catalog, identity & recovery, audit log, and analytics across all app-owned portals.

Overview

Every OneMango app with a public-facing surface — Job Board's Candidate Portal, Field Service's Customer Portal, eSignature's kiosk, Drive's share links — manages that surface on its own. None of them can show you all the others. Portals is the place that does.

The Catalog lists every portal's status, owning app, and a live preview. An admin turns any portal on or off right there — availability follows the owning app's license, and where a portal is also switched in its own app (the careers site, Field Service's Customer Portal, Shared moments) the two are the same switch. Identity & Recovery sets the one rate-limit and retention policy shared by every portal on the OTP / magic-link layer, backed by a searchable audit log that stores identifiers only as one-way hashes. Branding and a verified custom domain apply once, to every branded portal.

Traffic Analytics rolls up visits across the portals wired into it. An admin-gated Ask AI agent answers status and audit questions read-only, so admins stop piecing the answer together app by app.

Manage every public-facing portal across your apps from one place — a cross-app catalog with live preview and on/off control, a shared OTP and magic-link recovery layer with a searchable audit log, and cross-portal traffic analytics.

Highlights

See every public-facing portal in your business in one catalog — status, owning app, live URL, and a one-click preview — for every registered portal type.
Turn any portal on or off from a single registry; each portal's availability follows its owning app's license.
Track visitor traffic — page views, sessions, devices, top pages, and realtime activity — across your public portals, with CSV export.
Configure the shared OTP / magic-link recovery layer once — rate limits, attempt caps, retention — applied to every portal that opts in.
Investigate recovery abuse with a searchable, SHA-256-hashed audit log plus repeat-failure-IP and cross-portal signals.
Brand every public portal from one place — logo, colors, fonts, header and footer — and map verified custom domains.

Capabilities

Portal Catalog & Control
  • Cross-app catalog of every public portal (34 types across 13 categories)
  • Enable / disable any portal from one place (PublicPortalConfiguration registry)
  • Availability gated by each portal's owning-app license
  • Status, owning app, category, and public URL per row
  • One-click live preview of each portal
  • Filter the catalog by category, status, or keyword
Traffic Analytics
  • Cross-portal visitor dashboard: page views, unique visitors, sessions
  • Bounce rate and pages per session (from identifiable visitor sessions)
  • Device breakdown (desktop / mobile / tablet)
  • Top pages across all portals
  • Per-portal drill-down analytics
  • Realtime active-visitor stats
  • CSV export of the full analytics dashboard
Identity & Recovery
  • Unified OTP + magic-link recovery layer shared by those portals
  • Sliding-window rate limiting per identifier per portal
  • Configurable rate-limit window and max attempts
  • 30-day effectiveness signals (sent / consumed / failed / rate-limited)
Recovery Audit & Security
  • Searchable audit log over every recovery event
  • Filter by portal, event, identifier hash, IP, and date range
  • SHA-256 identifier hashing — no plaintext email/phone stored
  • IP and user-agent capture per event
  • CSV export of filtered results
  • Automatic per-business retention pruning (PruneAuditJob)
  • Repeat-failure IP feed and identifiers with the most flagged events
  • Cross-portal abuse detection (one identifier hitting many portals)
Recovery Analytics
  • Nightly cross-portal recovery rollup (DailyRollupJob)
  • Trend charts: requested / sent / consumed / failed / rate-limited
  • Per-portal totals and unique-identifier counts per window
Branding & Custom Domains
  • Business-wide portal branding: logo, favicon, background image
  • Primary / secondary colors, header colors, header + footer text
  • Google-font selection (primary + secondary)
  • Custom header/footer HTML (sanitized); a stylesheet saved earlier can be removed, new CSS is not edited here
  • Live image preview while editing
  • Branding version history with one-click revert-to-defaults
  • Custom domain mappings: the two DNS records to add, with copy buttons and live state
  • HTTPS certificate issued, renewed and served automatically; the domain turns on once it is issued
  • Domain activate / deactivate, and a daily check that its DNS still points at us
AI Agent (Ask AI)
  • Admin agent: recovery snapshot, portal status, visitor traffic, anomalies, audit search
  • Admin-gated — members never see the agent's tools
Limits & Specs
  • Portals in catalog: 34 across 13 categories
  • Rate-limit window: 60 min default (5–1,440, configurable)
  • Max recovery attempts: 5 per window per identifier (1–20, configurable). Each attempt records two audit rows — the request and its outcome — and both count, so the enforced budget is ceil(max ÷ 2): 3 attempts at the default of 5.
  • Audit retention: 180 days default (7–3,650, configurable)
  • Audit CSV export cap: 10,000 rows
  • Access: Admins, Super Admins & Portals app admins

Use cases

See every portal at a glance
Open the catalog to confirm which public surfaces are live — Field Service Customer Portal, Candidate Portal, Former Employee Portal, AI Front Office booking, eSignature kiosk, Drive share links, and more. Each row shows owning app, status, category, public URL, and a live preview link.
Turn a portal on or off in one place
Rather than hunting through each owning app, flip a portal's enable toggle right in the catalog. Portals writes the per-business registry; whether a portal is even available to toggle follows its owning app's license.
Watch external traffic across your portals
The Traffic Analytics dashboard rolls up page views, unique visitors, sessions, bounce rate, device mix, and top pages across your public portals — with a realtime view and per-portal drill-down — so you can see which public surfaces actually get used.
Investigate a recovery anomaly
A user says they never got their portal login link. Search the audit log by the email or phone they used (or by IP) — Portals hashes it to match and never stores the address — to see whether the request was rate-limited, sent, or actually consumed.
Tighten recovery security org-wide
Seeing a spike in failed OTP attempts? Drop the max-attempts cap in Identity & Recovery and every portal using the shared recovery concern picks up the new limit — while the Security tab surfaces the repeat-failure IPs behind the spike.
Brand portals and map a custom domain
Set your logo, colors, fonts, and header and footer once — changes apply immediately to every branded portal. Use your own hostname: add the two DNS records it shows and its HTTPS certificate is issued and renewed for you, all self-serve.

FAQ

Mostly. Each Catalog row opens or closes its portal, and only portals whose owning app (Job Board, Field Service, Drive, eSignature, etc.) is licensed can be switched. Some portals are also switched in their own app — the careers site in Job Board, the Customer Portal in Field Service, Shared moments in Recognitions, Contests and Training — and that setting and the Catalog row are the same switch, so a change in either place shows in both. Some portals open with their app until you switch them off here, and others also need a setting in their own app, which the row names. Licensing always lives with the app.

Three business-wide settings for the shared OTP / magic-link recovery layer: (1) the rate-limit window and max attempts per identifier; (2) the recovery abuse alert threshold (flagged events per hour); and (3) how long recovery audit events are retained. Whether a given portal uses a magic-link or an OTP code is fixed by its owning app, not a Portals setting. They apply to every portal on that shared layer — Offboarding's former-employee portal, Field Service's customer portal and Job Board's candidate portal.

Every recovery event (requested, sent, failed, rate-limited, consumed, invalid-token) is logged with a timestamp, IP, user-agent, and a SHA-256 hash of the identifier — never plaintext email or phone. Retention is configurable (default 180 days) and enforced by an automatic pruning job, and you can export filtered results to CSV (up to 10,000 rows). For SOC 2 / HIPAA-style reviews this is generally sufficient; check specifics with your compliance team.

Yes. Set a business-wide logo, favicon, background image, colors, Google fonts, header/footer text and header/footer HTML — changes apply immediately to every branded portal, with version history and one-click revert. You can also use your own domain: add the hostname, then add the two DNS records it shows — one proves the domain is yours, the other points it at us. Its HTTPS certificate is issued and renewed for you, and the domain turns on by itself once the certificate is issued.

Traffic Analytics measures visitors — page views, unique visitors, sessions, bounce rate, devices, and top pages across your public portals, in realtime and per portal. Recovery Analytics measures the login-recovery flow — nightly rollups of requested / sent / consumed / failed / rate-limited counts. One is about who's visiting; the other is about how the OTP / magic-link layer is performing.

Yes. The Portals agent lives in the Ask AI sidebar and answers questions like "How is portal recovery doing this week?", "Which portals are enabled?", or "Any rate-limit hits in the last 24 hours?" It's read-only and admin-gated — members never see its tools — and an admin can turn it off per business.

Probably not yet. The umbrella earns its keep once you're running several public-facing portals and want one place for cross-portal traffic, recovery telemetry, audit, branding, and domains. With a single portal, the owning app's built-in settings are usually enough.

Portals needs a license — ask your MangoApps account team. Once it is licensed, an admin turns it on for your business under Admin → Apps → All Apps; it is off until then.