Some content — internal announcements, staff resources, sensitive schedules — should never be publicly reachable, even accidentally.
The pain it solves: Running a separate intranet platform alongside your public website means maintaining two systems, two logins, and two content models.
How it helps:
Item content engine, anything editors already know how to publish on the public site works the same way in the intranet space.The happy workday: Sensitive internal content stays internal — with zero risk of it accidentally becoming publicly indexed or discoverable.
Intranet Mode removes the need for a second CMS just to host internal content, while providing real access control — not just "unlisted" pages that could still be found if the URL leaked.
Intranet Mode is implemented as a system setting gate checked at the API layer, in ExireNexus.ApiService/Endpoints/AppEndpoints.cs:
settingsService.IsTrue(SettingNames.IntranetModeEnabled) is checked before URLs or content are exposed publicly — when true, the endpoint deliberately withholds public URL generation/exposure, rather than merely relying on client-side hiding.IntranetGate.* phrases in ExireNexus.Shared/Resources/Phrases.resx), presenting sign-in/registration prompts before granting access to gated content — using the platform's existing ASP.NET Identity-based authentication rather than a separate login system.Item content model, editors use the exact same authoring tools, categories, and Digital Asset Library as the public site — intranet content isn't a separate CMS instance.SettingNames.IntranetModeEnabled) means intranet mode can be toggled per tenant, supporting organizations that want the public site, the intranet, or both from the same deployment.By gating access at the API/settings layer rather than only hiding navigation links, Intranet Mode provides genuine access control, not just obscurity.