First off, huge thanks to the team at n8n for building such a great product.
I have a question around licensing and compliance under the Sustainable Use License.
We’re currently evaluating n8n for internal, non-commercial use across a few teams. At the moment, the only enterprise-level feature we’re interested in is SSO.
This got us thinking about whether it would be acceptable to implement our own SSO mechanism from scratch (e.g., OIDC-based), using these hooks in a self-hosted setup — without modifying or reusing any of n8n’s enterprise code.
So the core question is:
Would implementing SSO in this way be considered a violation of the license, given that SSO is an enterprise-only feature?
We want to make sure we’re fully compliant, even for internal use.
For additional context:
This would be a from-scratch implementation, not derived from n8n’s codebase
Usage is internal only (non-commercial)
We may consider an enterprise license in the future, but for now our use cases are relatively small, so we’d prefer to start with the community edition and scale if needed
Would really appreciate any clarification or guidance from the team or others who may have looked into this.
Can’t say anything about your question, but the configuration you pointed to is related to the special license type - Embed, which is designed for commercial use. And I’m assuming it will cost more than the Enterprise tier
Besides, hooks like n8n.ready just works out-of-the-box without requiring an active license key when configurating the EXTERNAL_HOOK_FILES environment variable, If it requires a license, it should ignore the environment variable or display warning on the console. such as:
if (mains > 1) {
if (!process.env.N8N_LICENSE_ACTIVATION_KEY && !process.env.N8N_LICENSE_CERT) {
throw new Error(
'N8N_LICENSE_ACTIVATION_KEY or N8N_LICENSE_CERT is required for multi-main instances',
);
}
env.N8N_MULTI_MAIN_SETUP_ENABLED = 'true';
}
While the documentation for External Backend Hooks is located under the n8n Embed section, this appears to be because they are primarily used by developers building custom platforms. Technically, they remain a Community Edition feature because they are part of the core engine, require no license key to activate, and are not restricted in the self-hosted code. They are ‘advanced’ features, but not ‘paid’ features.
Would love a quick confirmation from the n8n team if I’ve got that right!
Hey @coreanesque, great question and thanks for being so thorough in how you’ve framed it.
From what I can tell, your approach sounds reasonable. You’re building something from scratch using an unlicensed, ungated feature (external hooks), without touching or deriving from any enterprise code. For reference, others in the community have already implemented similar solutions: n8n-oidc and n8n-community-sso both take this kind of approach.
That said, we’d recommend reaching out to [email protected] for an official confirmation before you build on top of it as they’ll be able to give you a definitive answer on the compliance question.
@Jon_James Thanks, I really appreciate the detailed response and guidance.
I did reach out to the licensing team via email about a week ago already, but I haven’t received a response yet. Do you happen to know if there’s any way to help expedite getting an answer from their side?