fix(landing): scope CE features to observability, leave audit log to EE - #222
Merged
Conversation
Per-call audit log (tamper-evident hash chain, SIEM exports, long retention) is a compliance surface and belongs in EE alongside SSO, RBAC, custom code, and whitelabeling. CE keeps agent observability — the last-100 invocations view and per-skill execution history — which is enough to debug agents day-to-day. Also drops "Sample dataset included" from the hosted plan cards; it isn't a meaningful differentiator on $99–$1,999/mo tiers.
…hind EE - Move the audit-log surface from /settings/audit-log to /ee/audit so the file path matches its license (per LICENSING.md: "the license is determined by the file path, not by the marketing position"). The page was already gated by isEnterpriseEnabled(); only the source path moves. The sidebar's Settings panel stays open on /ee/audit so navigation feels the same. Dashboard quick-action and pagination links updated. - Gate the role selector (member ↔ admin) in the team invite form behind EE. CE invites only as plain member; the role <select> is hidden and inviteMember() server-side forces role='member' regardless of what the client posts. Server-side enforcement matters because the form is the only role surface today — without it, anyone could craft a request with role=admin even on CE. LICENSING.md and README.md updated to reflect: CE ships invites + a single owner role; EE adds multi-role assignment and (eventually) finer-grained per-resource RBAC.
…ture) Previous commit forced CE invitees to 'member', which left non-owners with no manage rights — too restrictive for a self-hosted OSS context layer where a small team running it together expects everyone to be a full collaborator. n8n's CE works the same way: everyone is effectively admin, and the differentiated roles (restricted member tiers, custom roles, per-resource scoping) are what EE actually sells. CE flow now: org creator is owner, all invitees join as admin (full access). EE flow: role selector appears in the invite form with member/admin options. Server still enforces the gate so a tampered form can't sneak a 'member' role into a CE install. LICENSING.md and README.md updated to match.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the Community Edition feature list on the pricing page (and the matching copy in
LICENSING.md/README.md) to reflect what's actually CE vs EE.Files touched
apps/web/src/components/landing/pricing-band.tsx— CE feature list, CE blurb, Enterprise row, licensing footnote, removed sample-dataset bullet from hosted cardsapps/web/src/components/landing/security-band.tsx— CE/EE comparison sentence in the "MIT core. Enterprise add-ons." tabLICENSING.md— CE feature list, EE Query History entry reframed as "Per-call audit log + Query History"README.md— same edits to the Editions sectionTest plan
/and scroll to the pricing section: CE card should show "Agent observability" (not "Per-call audit log"); CE blurb should mention "agent observability"Note: did not move any audit-log code into
ee/— that's a follow-up. This PR is the marketing/positioning fix that the screenshot called out.Generated by Claude Code