Skip to content

fix(landing): scope CE features to observability, leave audit log to EE - #222

Merged
maakle merged 3 commits into
mainfrom
claude/fix-community-edition-features-jM6I2
May 21, 2026
Merged

fix(landing): scope CE features to observability, leave audit log to EE#222
maakle merged 3 commits into
mainfrom
claude/fix-community-edition-features-jM6I2

Conversation

@maakle

@maakle maakle commented May 21, 2026

Copy link
Copy Markdown
Owner

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.

  • Per-call audit log is EE, not CE. The tamper-evident hash chain, long retention, SIEM exports — that's the compliance surface and it belongs with SSO/RBAC/whitelabeling. Removed from the CE card, added to the Enterprise row.
  • Agent observability is CE. The last-100 invocations view and per-skill execution history (already shipping in CE) is what self-hosters get for debugging their agents day-to-day. Added to the CE card in its place.
  • Sample dataset removed from hosted plan cards. It's a try-it-out feature, not a meaningful differentiator on the $99–$1,999/mo plans.
  • RBAC, whitelabeling, custom code were already correctly EE-only — no code changes needed there, but the EE row copy and licensing note now explicitly call out per-call audit log alongside them so the positioning is consistent everywhere.

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 cards
  • apps/web/src/components/landing/security-band.tsx — CE/EE comparison sentence in the "MIT core. Enterprise add-ons." tab
  • LICENSING.md — CE feature list, EE Query History entry reframed as "Per-call audit log + Query History"
  • README.md — same edits to the Editions section

Test plan

  • Visit / and scroll to the pricing section: CE card should show "Agent observability" (not "Per-call audit log"); CE blurb should mention "agent observability"
  • Hosted plan cards (Free / Starter / Team / Business): no "Sample dataset included" bullet
  • Enterprise row mentions per-call audit log alongside SSO/SCIM, RBAC, custom code, whitelabeling
  • Licensing footnote at the bottom of the pricing section matches
  • Security band's "MIT core. Enterprise add-ons." tab body reflects the new CE/EE split

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

claude added 3 commits May 21, 2026 09:44
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.
@maakle
maakle merged commit ee2e5e1 into main May 21, 2026
5 checks passed
@maakle
maakle deleted the claude/fix-community-edition-features-jM6I2 branch May 21, 2026 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants