docs(authzed): product-availability pill on concept pages; Audit Logging self-hosted section framed as SpiceDB Enterprise - #586
Open
Corey-T1000 wants to merge 16 commits into
Open
Conversation
…t Logging's self-hosted section as SpiceDB Enterprise A reader from Zoom landed on audit-logging#self-hosted and read it as SpiceDB open source. The only scope sentence was line 10 of the page, and 'Self-Hosted' collides with self-hosting OSS. - ProductBadge: 'Available on' + every tier in Feature Matrix order; unavailable tiers stay in the row, struck out; DIY tiers mirror the matrix's DIY cells - Audit Logging: pill under the H1, section renamed 'SpiceDB Enterprise (self-hosted)' keeping the #self-hosted anchor, Enterprise-only callout above the flag table - Same pill on Restricted API Access, Workload Isolation, Private Networking, Management Dashboard
Spelled-out 'Not in …' pill replaces struck-out tiers (three rounds with Corey: strikethrough reads slow, product colour-coding adds a decode step). DIY tiers are dashed stone with a mono DIY suffix; nothing excluded means no negative pill. Lab route and variants removed.
Contributor
|
Preview deployment status for this pull request.
|
Nextra's default is a full grid (1px on every cell, zebra rows, 16px body, px-4 py-2). On flag lists and feature matrices it reads as a spreadsheet. Now: horizontal rules only, a mono uppercase header row, 14px body, tighter cells, row hover. Long code values (connection URIs) break instead of pushing the table into a horizontal scroll; the last column keeps a 6rem floor so short values like 1000000 stay on one line. 18 pages carry tables; four checked in both themes.
…icted API Access tables Bare '--extender-…' cells were being typographically converted to an em dash, so the rendered flag read '—extender-enabled'. Wrapped in code so they render verbatim and in mono. Also restores the missing space before 'authzed-audit'.
…piceDB Enterprise Same trap as Audit Logging: a '### Self-Hosted' heading over extender flags, reachable by deep link, with the product scope only in the intro. Renamed with the #self-hosted anchor kept, Enterprise-only callout above the flag table.
Warning was Tailwind yellow-700 on yellow-50, info was blue-700 on blue-100; neither is a site colour. Now: sand for warning, blue-500 for info, red-400 for error, teal for the green type, violet for important, using the same 10% tint / 50% border / full ink recipe as the product and feature pills. Light mode darkens the ink one step via relative colour syntax, with the plain token as the fallback where that syntax is unsupported.
Hand-picked amber and green replaced with sand (updated) and teal (new) in the same tint / border / ink recipe as callouts and pills.
Corey-T1000
marked this pull request as ready for review
September 9, 2026 17:36
Product asked for the pill across the whole doc set. Rather than 90 inline tags, mdx-components.ts renders <ProductBadge /> under every H1 and lib/products.ts decides the tiers from the route: section defaults (spicedb = all four, authzed = managed, materialize = Dedicated, install/operator pages = self-hosted) plus a per-page map copied from the Feature Matrix. The five concept pages that carried inline tags now get theirs from the map. Landing pages and the product-comparison guide render no pill. The Materialize feature pills stack directly under the product row.
authzed-catherine
approved these changes
Sep 9, 2026
authzed-catherine
left a comment
Contributor
There was a problem hiding this comment.
Those pills are a good improvement!
…/review page for product sign-off - Materialize pages had two stacked rows (product pill, then feature pills). The feature pills now join the product row after a thin divider; the 13 inline <FeatureBadge /> tags go, the route already knew the features. - A page on exactly one tier reads 'Dedicated only' instead of a pill plus 'Not in Open Source, Cloud, Enterprise'. - /review (preview + local only, hidden from nav): every page, the four tiers it renders, and the source of that decision (Feature Matrix, section default, or please-confirm with a note). Click-through to each page. Delete the route once the map is signed off. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TBAotXKGpJiWpayK6uvWKZ
The teal→violet gradient read as light blue next to the sand pills. Now a teal-only disc from the shared --teal-* tokens, deep on light, brighter on dark. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TBAotXKGpJiWpayK6uvWKZ
Check glyph 12→15px in the 24px disc, disc gradient a step deeper in both themes (teal-500→700 light, teal-400→700 dark) with a white check on both. /review keeps its column labels pinned under the navbar through 93 rows. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TBAotXKGpJiWpayK6uvWKZ
…s away Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TBAotXKGpJiWpayK6uvWKZ
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TBAotXKGpJiWpayK6uvWKZ
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TBAotXKGpJiWpayK6uvWKZ
A user could not find which command-line tool --extender-authzed-fgam-endpoint belongs to. Both callouts now name it: flags on 'spicedb serve' in the Enterprise binary, absent from open source (unknown-flag error). Restricted API Access gets a worked 'spicedb serve' example and the same intro sentence as Audit Logging naming the tiers. Fixes OSS-466 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TBAotXKGpJiWpayK6uvWKZ
Contributor
Author
|
Folded in OSS-466 "Clarify FGAM settings don't apply to OSS" (f40736f). The reporter couldn't tell which command-line tool takes
@authzed-catherine one thing to confirm: the example uses |
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.
A reader from Zoom landed on audit-logging#self-hosted and read it as SpiceDB open source. The only scope sentence was line 10 of the page, and "Self-Hosted" collides with self-hosting OSS.
ProductBadge (
components/product-badge.tsx), under the H1 of concept pages:AVAILABLE ON [Cloud] [Dedicated] [Enterprise] [✕ Not in Open Source]DIYsuffix = build it yourself (mirrors the Feature Matrix's DIY cells); one stone "Not in …" pill spells out the exclusionslib/products.ts: section defaults (SpiceDB = all four, Managed SpiceDB = Cloud/Dedicated/Enterprise, Materialize = Dedicated, install/operator pages = Open Source/Enterprise) plus a per-page map copied from the Feature Matrix. Full table below for product reviewFeatureBadge; same geometry and type, the two rows stack on Materialize pagesAudit Logging and Restricted API Access
### Self-Hosted→### SpiceDB Enterprise (self-hosted),#self-hostedanchor kept via a custom heading id--extender-*flags exist only in the Enterprise binary--extender-*flags arespicedb serveflags on the Enterprise build, absent from open source; Restricted API Access gets a workedspicedb serveexample. Fixes OSS-466--flagcells were being typographically converted to—flagSite-wide styling (
app/globals.css,components/content-status.css)tsc and prettier clean. Light and dark checked locally.
Review page for product sign-off:
/reviewlists every page, the tiers its pill shows, and where that decision came from (Feature Matrix, section default, or please confirm with a note). Preview and local only, hidden from nav; the route gets deleted once the map is signed off.On Materialize pages the feature pills join the product row after a divider, and a page on exactly one tier reads "Dedicated only" instead of listing the three it is not on.
Product availability per page (from
lib/products.ts; ✅ available · DIY · ✕ not in; blank = no pill)/authzed/api/http-api/authzed/concepts/audit-logging/authzed/concepts/deployments/authzed/concepts/feature-maturity/authzed/concepts/management-dashboard/authzed/concepts/multi-region/authzed/concepts/private-networking/authzed/concepts/rate-limiting/authzed/concepts/restricted-api-access/authzed/concepts/security-embargo/authzed/concepts/update-channels/authzed/concepts/workload-isolation/authzed/guides/cloud/authzed/guides/picking-a-product/authzed/guides/postgres-fdw/authzed/guides/setting-up-private-networking/materialize/api/client-sdks/materialize/api/download-permission-sets/materialize/api/lookup-permission-sets/materialize/api/watch-permission-sets/materialize/concepts/hydration/materialize/concepts/managing-client-state/materialize/concepts/permission-set-lifecycle/materialize/concepts/permission-sets/materialize/concepts/snapshots/materialize/concepts/watched-permissions/materialize/getting-started/limitations/materialize/getting-started/overview/materialize/guides/recommended-architecture/materialize/guides/relational-database/mcp/authzed/authzed-mcp-server/mcp/authzed/spicedb-dev-mcp-server/mcp//spicedb/api/http-api/spicedb/best-practices/spicedb/concepts/caveats/spicedb/concepts/commands/spicedb/concepts/consistency/spicedb/concepts/datastore-migrations/spicedb/concepts/datastores/spicedb/concepts/expiring-relationships/spicedb/concepts/querying-data/spicedb/concepts/read-after-write/spicedb/concepts/reflection-apis/spicedb/concepts/relationships/spicedb/concepts/schema/spicedb/concepts/watch/spicedb/concepts/zanzibar/spicedb/getting-started/client-libraries/spicedb/getting-started/coming-from/cancancan/spicedb/getting-started/coming-from/opa/spicedb/getting-started/configuration/spicedb/getting-started/discovering-spicedb/spicedb/getting-started/faq/spicedb/getting-started/first-steps/spicedb/getting-started/install/debian/spicedb/getting-started/install/docker/spicedb/getting-started/install/kubernetes/spicedb/getting-started/install/macos/spicedb/getting-started/install/rhel/spicedb/getting-started/install/windows/spicedb/getting-started/installing-zed/spicedb/getting-started/protecting-a-blog/spicedb/integrations/langchain-spicedb/spicedb/integrations/pinecone/spicedb/integrations/testcontainers/spicedb/modeling/access-control-audit/spicedb/modeling/access-control-management/spicedb/modeling/attributes/spicedb/modeling/composable-schemas/spicedb/modeling/developing-a-schema/spicedb/modeling/migrating-schema/spicedb/modeling/protecting-a-list-endpoint/spicedb/modeling/recursion-and-max-depth/spicedb/modeling/representing-users/spicedb/modeling/validation-testing-debugging/spicedb/ops/data/bulk-operations/spicedb/ops/data/migrations/spicedb/ops/data/writing-relationships/spicedb/ops/deploying-spicedb-operator/spicedb/ops/eks/spicedb/ops/load-testing/spicedb/ops/observability/spicedb/ops/operator/spicedb/ops/performance/spicedb/ops/postgres-fdw/spicedb/ops/resilience/spicedb/tutorials/agentic-rag/spicedb/tutorials/ai-agent-authorization/spicedb/tutorials/federated-authorization/spicedb/tutorials/rag-motia-spicedb/spicedb/tutorials/secure-rag-pipelines