-
Notifications
You must be signed in to change notification settings - Fork 15
Multi Tenancy Scope
Part of the Multi-tenancy section. Planned / in design.
Part of "one size doesn't fit all" is being honest about the sizes FreeITSM is not trying to fit. Knowing where it stops is as useful as knowing what it does.
- A single company running its own service desk (the default, and completely unaffected by any of this).
- An MSP or IT provider supporting multiple client companies from one install, with each client's data walled off.
- Small-to-mid-sized organisations who value a broad, low-cost, self-hosted toolset.
FreeITSM aims to be lightweight, broad, AI-assisted and self-hosted. Some requirements would force it to become a heavy enterprise/compliance platform and lose exactly what makes it useful. We choose, on purpose, not to chase these:
- Physically separate databases per client, data-residency guarantees, per-client encryption keys / HSMs, or cryptographic "right to erasure". Our model is one database with logical separation and a single master key. If your client's auditors require physical isolation, FreeITSM is not the right fit.
- A signed-up, hosted SaaS that we run and bill for. FreeITSM is self-hosted β you run it.
- Reseller / sub-tenant hierarchies (an MSP whose clients are themselves MSPs with their own clients). The company model is flat.
- Massive scale β thousands of companies and millions of tickets in one install.
- Enterprise procurement staples like SCIM auto-deprovisioning, tamper-evident audit with legal hold and multi-year retention, or contractual 99.99 % multi-region uptime.
The tell is always a requirement about isolation, assurance, certification, or guaranteed scale rather than what the tool does for a user. When you see that shape, the honest answer is "we're not the right fit" β and that's what keeps FreeITSM lean for everyone it is right for.
These are real, but solvable, and on the radar rather than ruled out:
- Clients without their own email domain (everyone on free email). Today the workaround is a pinned mailbox per such client; routing by individual sender address is a possible future option.
- Cross-company collaboration β a single ticket or asset shared between two clients isn't possible under strict isolation.
- Per-client branded portals on the client's own web address β possible later as a white-label feature; not required for the core experience.
See Pitfalls and the Worked Examples for how these play out in practice.
FreeITSM β an open-source IT Service Management platform Β· github.com/edmozley/freeitsm Β· MIT licence
- Installation
- β° Scheduled tasks (cron jobs)
- Architecture
- AI Providers
- Internationalisation (i18n)
- Timezones & Time Handling
- Theming & Dark Mode
- β¨οΈ Command palette (βK)
- π Searching inside tickets
- π Attached documents
- MobileβFriendly
-
Security
- Layer 1 β which modules you can enter
- β³ π§© Module Access Control
- β³ π οΈ Module Access β Developer Guide
- Layer 2 β what you can administer
- β³ π Roles & Permissions
- β³ π οΈ Roles β Developer Guide
- β³ π€ Why capabilities are constants
- Layer 3 β the System module
- β³ π Admin Access Control
- Hardening
- β³ π Security review response 2026-08
- β³ π‘οΈ Security hardening 2026-08
- β³ π οΈ Security hardening 2026-08 β Developer Guide
- β³ π‘οΈ Round three β plain English
- β³ π οΈ Round three β Developer Guide
- Single Sign-On (SSO)
- ποΈ LDAP & Active Directory
- Browser Extension
- API Reference
-
π REST API β how it works
- β³ π« REST API: Tickets
- β³ π» REST API: Assets
- β³ π΄ REST API: Problems
- β³ π REST API: Changes
- β³ π REST API: Knowledge
- β³ β REST API: Tasks
- β³ ποΈ REST API: CMDB
- β³ π REST API: Contracts
- β³ ποΈ REST API: Calendar
- β³ πΏ REST API: Software
- β³ π¦ REST API: Service Status
- β³ βοΈ REST API: Morning Checks
- β³ π REST API: Forms
- β³ βοΈ REST API: Workflow
- β³ πΊοΈ REST API: Network Mapper
- β³ π§ Using the API docs page
- β³ π OpenAPI specification
- β³ β OpenAPI: kept correct
- β³ π οΈ Maintaining the catalogue
- Watchtower
-
Tickets
- β³ Mailbox Authentication
- β³ π€ Email send log
- β³ Basic IMAP mailboxes
- β³ Email rendering & images
- β³ SLA Management
- β³ WhatsApp channel
- β³ π¬ Web chat channel
- β³ π£ Slack channel
- β³ π Linking tickets
- β³ ποΈ Canned responses
- β³ βοΈ Limiting replies to particular senders
- β³ βοΈ Email signatures
- β³ π The public web address
- β³ π Raising a ticket for someone else
- β³ π Merging tickets
- β³ β Splitting tickets
- β³ β Selecting several tickets
- β³ π οΈ Snoozing tickets β Developer Guide
- β³ π₯ Collision detection
- β³ β±οΈ Time tracking
- Problem Management
- Tasks
- Assets
- Knowledge
- Change Management
- Calendar
- Morning Checks
- Reporting
- Software
- Forms
- Contracts
- Service Status
- π Notifications
- π¨ War Room
- Self-Service Portal
- LMS
- Process Mapper
- CMDB
- Network Mapper
- Workflows
- Issue trackers (Jira, Azure DevOps)
- System
-
Overview
- β³ π Progress tracker
- β³ Concepts & vocabulary
- β³ Email routing & mailboxes
- β³ Settings: global vs per-company
- β³ Users & self-service
- β³ Staff cross-company access
- β³ Worked examples
- β³ Pitfalls & gotchas
- β³ Scope: what it's for
- β³ π οΈ Developer Guide (make a module multi-company)
- β³ ποΈ Case study: CMDB (a linked graph)
- β³ π§ͺ Test harness (prove it's isolated)