P03 · Supply · Rendered from source

top companies

Curated capability shelf

102 lines120,824 bytessha256 dab58ddf298c
COM-001record 1
{
  "id": "COM-001",
  "vendor": "Clerk",
  "product": "Clerk Auth (AuthKit-class)",
  "url": "https://clerk.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "auth/identity"
  ],
  "embed_mode": "SDK/component",
  "pricing_class": "usage (per Monthly Retained User)",
  "whitelabel": "yes",
  "resale_fit_note": "Branding removal starts at Pro $25/mo ($20 annual) — cheap white-label gate. Billing is per Monthly Retained User, not MAU: a user counts only if they return >=24h after signup ('First Day Free'), so churny client apps are not punished. Pro includes 50K MRUs then $0.02/MRU, sliding to $0.012 at 10M+. Per-end-user cost is the resale risk: a client app with many low-value users erodes margin unless the fee is passed through.",
  "oss_alternative": "Keycloak (Apache-2.0), Authentik, Ory Kratos, Supabase Auth, Better Auth",
  "claim": "Supplies complete end-user identity — email/password, social, passkeys, MFA, orgs/multi-tenancy — as drop-in React/Next components, removing the single most repeated build in every client app.",
  "limitations": "Free Hobby tier forces visible Clerk branding, so no white-label at $0. Per-MRU pricing scales with the client's user count rather than Actionist's fee. SOC2 report and HIPAA/BAA are Business ($300/mo) and Enterprise respectively.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-002record 2
{
  "id": "COM-002",
  "vendor": "WorkOS",
  "product": "WorkOS AuthKit + SSO + Directory Sync",
  "url": "https://workos.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "auth/identity"
  ],
  "embed_mode": "SDK/component + headless API",
  "pricing_class": "usage (per connection / per MAU)",
  "whitelabel": "unknown",
  "resale_fit_note": "AuthKit is free to 1M MAU then $2,500/mo per additional 1M — extraordinary for consumer-scale client apps. But enterprise SSO is priced PER CONNECTION: $125 each for 1-15, sliding to $65 at 51-100. A 'connection' is the link between WorkOS and one identity provider, i.e. roughly one enterprise customer of the client. Directory Sync repeats the identical ladder. If a client app serves 40 enterprise customers, SSO alone is ~$3,200/mo before Actionist's own margin.",
  "oss_alternative": "Keycloak (Apache-2.0), Authentik, Ory",
  "claim": "Supplies the enterprise-readiness tier of identity — SAML/OIDC SSO and SCIM directory sync per customer org — which is the specific work that blocks client apps from selling upmarket.",
  "limitations": "Per-connection pricing is the most resale-hostile model in the auth class: cost grows linearly with the client's enterprise customer count. Custom domain is a separate $99/mo. Page does not state white-label/branding terms; the $99 custom-domain SKU implies branded serving but this was not confirmed as full white-label.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-003record 3
{
  "id": "COM-003",
  "vendor": "Auth0 (Okta)",
  "product": "Auth0 Customer Identity Cloud",
  "url": "https://auth0.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "auth/identity"
  ],
  "embed_mode": "SDK/component + hosted login page",
  "pricing_class": "per-MAU tiered",
  "whitelabel": "enterprise",
  "resale_fit_note": "Long-standing per-MAU ladder that steepens sharply past the free tier; B2B/enterprise connections and full custom-domain branding sit on higher plans. Historically the reference implementation others price against, but per-MAU economics at client scale usually lose to Clerk or self-hosted Keycloak.",
  "oss_alternative": "Keycloak (Apache-2.0), Ory, Authentik",
  "claim": "Supplies mature, compliance-heavy identity with the widest enterprise connection catalog and rule/action extensibility.",
  "limitations": "Per-MAU cost escalates faster than competitors at mid scale; branding and custom domains gated to paid tiers. Not verified from the live pricing page this run — treat prices as unconfirmed.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-004record 4
{
  "id": "COM-004",
  "vendor": "Stytch",
  "product": "Stytch Auth + Connected Apps",
  "url": "https://stytch.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "auth/identity"
  ],
  "embed_mode": "headless API + SDK/component",
  "pricing_class": "usage (per MAU)",
  "whitelabel": "yes",
  "resale_fit_note": "Headless-first design makes it unusually clean to hide behind a client's own UI, which suits white-label assembly better than hosted-page vendors. Per-MAU pricing carries the same pass-through issue as Clerk.",
  "oss_alternative": "Ory Kratos, Better Auth, Supabase Auth",
  "claim": "Supplies passwordless-first identity (magic links, OTP, passkeys) as pure API, so the login surface can be fully Actionist-designed with no vendor chrome.",
  "limitations": "Smaller enterprise-connector catalog than Auth0/WorkOS; device-fingerprinting and fraud products priced separately. Pricing not re-read this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-005record 5
{
  "id": "COM-005",
  "vendor": "Stripe",
  "product": "Stripe Billing + Connect",
  "url": "https://stripe.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "billing/payments"
  ],
  "embed_mode": "SDK/component + headless API",
  "pricing_class": "usage (% of volume)",
  "whitelabel": "yes",
  "resale_fit_note": "Stripe Billing is 0.7% of billing volume on pay-as-you-go (covering transactions processed both on and off Stripe, one-off invoices excluded), or a pay-monthly plan from $620/mo on a 1-year contract. Connect is included at no extra charge for platforms on standard payments pricing, with a 0.25% starting fee for platforms that deploy their own payments pricing to earn revenue per transaction. Percentage-of-volume is the most resale-compatible model on this shelf: cost scales with the client's revenue, not their headcount, so it never strands Actionist with a fixed floor.",
  "oss_alternative": "Lago (AGPL/open-core), Killbill (Apache-2.0) — both replace metering/invoicing logic but NOT the money movement, which stays with a PSP",
  "claim": "Supplies subscription billing, invoicing, tax, and multi-party payouts, plus Connect for apps that must move money between their own end customers.",
  "limitations": "Cannot be replaced by OSS for the regulated money-movement half — Lago/Killbill only displace the billing-logic layer. The 0.7% Billing fee stacks on top of standard payment processing fees. Connect onboarding pushes KYC obligations onto the platform operator.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-006record 6
{
  "id": "COM-006",
  "vendor": "Paddle",
  "product": "Paddle Billing (Merchant of Record)",
  "url": "https://www.paddle.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "billing/payments"
  ],
  "embed_mode": "SDK/component + hosted checkout",
  "pricing_class": "usage (% of volume, ~5% + fixed)",
  "whitelabel": "yes",
  "resale_fit_note": "As merchant of record, Paddle absorbs global sales tax/VAT registration and remittance — a compliance burden Actionist would otherwise have to solve per client jurisdiction. Higher headline rate than Stripe buys away that entire workstream.",
  "oss_alternative": "None for merchant-of-record — the tax liability transfer is a legal service, not software",
  "claim": "Supplies billing where the vendor becomes the legal seller, eliminating the client's global tax registration obligations.",
  "limitations": "Materially higher percentage than raw processing; less control over checkout and payout timing; product-category restrictions apply. Rates not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-007record 7
{
  "id": "COM-007",
  "vendor": "Lago",
  "product": "Lago Billing / Metering",
  "url": "https://www.getlago.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "billing/payments"
  ],
  "embed_mode": "headless API (self-host or cloud)",
  "pricing_class": "flat (self-host free / cloud subscription)",
  "whitelabel": "yes",
  "resale_fit_note": "Open-core, self-hostable metering and invoicing — the rare billing option whose cost does not scale with client revenue. Fits Actionist's model where a flat, ownable component beats a percentage skim.",
  "oss_alternative": "Self (open-core AGPL-style core); Killbill (Apache-2.0) is the fully permissive alternative",
  "claim": "Supplies usage-based metering, price plans, and invoice generation as a self-hostable service, decoupling billing logic from the payment processor.",
  "limitations": "Does not move money — still requires Stripe/Adyen underneath. Premium features sit behind the commercial edition. License and pricing not re-read this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-008record 8
{
  "id": "COM-008",
  "vendor": "Plaid",
  "product": "Plaid Link / Layer",
  "url": "https://plaid.com/",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "billing/payments",
    "auth/identity"
  ],
  "embed_mode": "SDK/component (drop-in Link widget)",
  "pricing_class": "usage (per item/request, sales-assisted)",
  "whitelabel": "no",
  "resale_fit_note": "Link is a drop-in widget for bank connectivity across '12,000+ institutions'; Layer captures identity, contact and bank info in a single click. The widget carries Plaid's own trust framing by design — users are meant to recognise it — so it is deliberately NOT white-label. Pricing is not published on the marketing page (sales-assisted), which blocks clean margin modelling without a quote.",
  "oss_alternative": "None viable — bank connectivity requires licensed data agreements, not just code",
  "claim": "Supplies verified bank-account connectivity and ownership/balance checks, which no open-source component can replicate because the capability is contractual, not technical.",
  "limitations": "No white-label by design. Pricing opaque on the public page — could not confirm rate class from first-party source this run. Regionally uneven coverage outside the US.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-009record 9
{
  "id": "COM-009",
  "vendor": "Tiptap",
  "product": "Tiptap Editor + Tiptap Cloud",
  "url": "https://tiptap.dev/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "notes/docs editing",
    "chat/comments/collaboration"
  ],
  "embed_mode": "SDK/component (headless editor)",
  "pricing_class": "flat + per-developer-seat",
  "whitelabel": "yes",
  "resale_fit_note": "Best-in-class resale economics for this shelf: the editor itself is MIT and free, and paid tiers are priced PER DEVELOPER SEAT ($49/dev/mo monthly, $39 annual) plus cloud document caps — not per end user. Start $59/mo, Team $179/mo, Business $1,199/mo. Critically, documents kept in your own database are free and do not count toward cloud limits, so Actionist can ship editing to unlimited client end-users at fixed cost.",
  "oss_alternative": "Self (MIT core); ProseMirror (MIT) underneath; Lexical (MIT), BlockNote, Milkdown",
  "claim": "Supplies a headless, fully styleable rich-text/block editor so a Notion-like document surface can be assembled without inheriting any vendor UI.",
  "limitations": "Real-time collaboration, version history, comments, import/export and the AI extension are cloud/paid features. AI Toolkit and Tracked Changes are custom-priced add-ons. Self-hosting the collaboration server requires Enterprise.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-010record 10
{
  "id": "COM-010",
  "vendor": "Liveblocks",
  "product": "Liveblocks Presence / Comments / Notifications",
  "url": "https://liveblocks.io/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "chat/comments/collaboration",
    "messaging/notifications"
  ],
  "embed_mode": "SDK/component",
  "pricing_class": "usage (credit-metered)",
  "whitelabel": "yes",
  "resale_fit_note": "Not per-MAU — a credit model against metered infrastructure. Pro $30/mo ($25 annual) with $30 credits; Team runs $600/mo to $3,750/mo; extra seats $10/seat beyond 10. Metered rates: $0.002 per collaboration minute (billed only when 2+ users share a room, solo is free), $0.01 per comment, $0.15/GB stored. Credits do not roll over. The solo-free rule matters: most client-app usage is single-user and therefore uncosted.",
  "oss_alternative": "Yjs (MIT) + y-websocket, PartyKit, Automerge — replaces sync but not comments/notifications UI",
  "claim": "Supplies multiplayer presence, threaded comments, and notification feeds as ready React components, collapsing the hardest part of collaborative UX into configuration.",
  "limitations": "Free tier requires a visible Liveblocks watermark, so no white-label at $0 — branding removal starts at Pro. Credits expire monthly. SAML SSO and SOC 2 need Team; HIPAA BAA is a $350/mo yearly add-on.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-011record 11
{
  "id": "COM-011",
  "vendor": "Cal.com",
  "product": "Cal.com Platform / Atoms",
  "url": "https://cal.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "calendar/scheduling"
  ],
  "embed_mode": "SDK/component (Atoms) + iframe embed + self-host",
  "pricing_class": "per-seat (Teams $12/user/mo, Organizations $28/user/mo, annual)",
  "whitelabel": "yes",
  "resale_fit_note": "Root LICENSE file read this run is plain MIT (Copyright 2020-present Cal.com, Inc.) with no AGPL, commercial, or branding restriction in that file. Cal.com is widely understood to run a dual-license structure with an /ee enterprise directory under separate terms, but that split is NOT present in the root LICENSE and must be confirmed per-directory before shipping. Branding removal starts at Teams; own logo plus company subdomain requires Organizations.",
  "oss_alternative": "Self (MIT root license); Easy!Appointments, Rallly for polls",
  "claim": "Supplies scheduling — availability, round-robin, buffers, calendar sync across providers — as embeddable React components (Atoms) or a self-hosted service.",
  "limitations": "Per-seat pricing suits internal team scheduling but not client apps with many booking end-users. The public pricing page does not describe a distinct Platform plan or its per-booker economics; API access is described only vaguely as tiered ('Custom APIs' at Teams, 'Additional APIs' at Organizations). The /ee licensing split needs a directory-level read.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-012record 12
{
  "id": "COM-012",
  "vendor": "Nylas",
  "product": "Nylas Email/Calendar/Contacts API",
  "url": "https://www.nylas.com/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "calendar/scheduling",
    "email infra",
    "connectors/iPaaS"
  ],
  "embed_mode": "headless API + scheduling components",
  "pricing_class": "usage (per connected account)",
  "whitelabel": "yes",
  "resale_fit_note": "Per-connected-account pricing maps one-to-one onto the client's end users who link a mailbox — the same linear-cost trap as Merge. Justifiable only when bidirectional mailbox/calendar sync is core to the product.",
  "oss_alternative": "Direct Google/Microsoft Graph API integration (free, but you own token refresh, throttling and per-provider quirks)",
  "claim": "Supplies normalized read/write access to Gmail and Outlook mail, calendar, and contacts behind one API, absorbing multi-provider OAuth and sync drift.",
  "limitations": "Cost scales with connected end users. Building direct against Google/Microsoft is free and often cheaper past a volume threshold. Pricing not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-013record 13
{
  "id": "COM-013",
  "vendor": "Airtable",
  "product": "Airtable + Extensions/API",
  "url": "https://airtable.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "spreadsheet-database",
    "low-code data platform"
  ],
  "embed_mode": "iframe embed (share views) + API",
  "pricing_class": "per-seat",
  "whitelabel": "no",
  "resale_fit_note": "Per-seat pricing plus visible Airtable branding on embedded views makes this unusable as a hidden capability inside a client app. It is a tool clients may already use, not a component Actionist can assemble with.",
  "oss_alternative": "NocoDB (AGPL), Baserow (MIT core/open-core), Teable, Grist (Apache-2.0)",
  "claim": "Supplies a spreadsheet-database hybrid with views, automations and an API, and defines the interaction model clients expect from this category.",
  "limitations": "No white-label; embedded views carry Airtable chrome. Per-seat cost for end users is prohibitive at client scale. Best treated as a category reference and an integration target rather than a build-time part.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-014record 14
{
  "id": "COM-014",
  "vendor": "Directus",
  "product": "Directus Data Platform",
  "url": "https://directus.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "low-code data platform",
    "spreadsheet-database",
    "file storage/management"
  ],
  "embed_mode": "headless API + self-hosted app",
  "pricing_class": "flat (Core $0 / Team $499-599 mo / Enterprise custom)",
  "whitelabel": "yes",
  "resale_fit_note": "CRITICAL RESALE TRAP, read first-party this run: free access runs through an 'Open Innovation Grant' limited to organizations under $5M annual revenue AND fewer than 50 employees. Above either threshold, commercial use requires Core (3 seats, 25 collections), Team ($499/mo annual, $599 monthly, 10 SSO seats, 50 collections, $50/seat beyond), or Enterprise. Self-hosting is available on every tier but is only free for grant-qualifying orgs. Actionist must check each CLIENT's revenue and headcount before shipping Directus into their stack — a successful client crossing $5M silently creates a licence liability.",
  "oss_alternative": "Strapi (open-core), Payload CMS (MIT), Supabase (Apache-2.0), Hasura",
  "claim": "Supplies an instant REST/GraphQL API plus an admin data-management app over any existing SQL database, turning a bare schema into a working back office.",
  "limitations": "The $5M revenue / 50 employee grant boundary is a per-client licence check, not a one-time decision. Collection caps (25 on Core, 50 on Team) bind real applications quickly. Cloud hosting is a separate $99/mo add-on on Core and Team.",
  "disposition": "hold",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-015record 15
{
  "id": "COM-015",
  "vendor": "Baserow",
  "product": "Baserow (no-code database)",
  "url": "https://baserow.io/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "spreadsheet-database",
    "low-code data platform"
  ],
  "embed_mode": "self-hosted app + API",
  "pricing_class": "per-seat cloud / free self-host",
  "whitelabel": "enterprise",
  "resale_fit_note": "Open-core with an MIT-licensed core and self-hosting; branding removal and SSO sit in premium/enterprise. More resale-friendly than Airtable because self-hosting removes per-end-user cost.",
  "oss_alternative": "Self (MIT core); NocoDB (AGPL), Grist (Apache-2.0), Teable",
  "claim": "Supplies an Airtable-like grid/database UI that can be self-hosted inside the client's own perimeter, keeping data residency with the client.",
  "limitations": "White-label and SSO are paid-tier features. Premium modules under a separate non-MIT licence. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-016record 16
{
  "id": "COM-016",
  "vendor": "Twenty",
  "product": "Twenty CRM",
  "url": "https://www.twenty.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "CRM"
  ],
  "embed_mode": "self-hosted app + REST/GraphQL API + apps framework",
  "pricing_class": "per-seat (Pro $9/user/mo, Organization $19/user/mo, Enterprise from $50k/yr)",
  "whitelabel": "unknown",
  "resale_fit_note": "LICENSE read first-party this run and the structure is unusually favourable: AGPLv3 core, BUT with an explicit 'Twenty Application Exception' under AGPLv3 Section 7 stating that applications built against Twenty's published interfaces (HTTP APIs, webhooks, manifests, SDKs) are NOT pulled under AGPLv3 and may be licensed proprietarily. The dev toolkit (twenty-sdk, twenty-client-sdk, create-twenty-app, twenty-shared), twenty-ui, and packages/twenty-apps are MIT. Files marked '/* @license Enterprise */' require a paid Twenty Enterprise subscription for production use, though copying/modifying for development and testing is permitted. This is the cleanest AGPL-adjacent story on the shelf for an assembly business — Actionist can build proprietary apps against it without copyleft contamination, provided it does not modify Twenty core.",
  "oss_alternative": "Self (AGPLv3 + exceptions); EspoCRM (AGPL), SuiteCRM (AGPL), Odoo CRM (LGPL/open-core)",
  "claim": "Supplies a modern, self-hostable CRM with unlimited custom objects/fields, REST and GraphQL APIs, webhooks, an MCP server, and a TypeScript apps framework for custom server logic and React UI.",
  "limitations": "Modifications to Twenty ITSELF remain fully AGPLv3 including the Section 13 network provision — the exception covers apps built against interfaces only. Enterprise-marked files need a paid subscription in production. Custom domain, SSO, and row-level permissions are gated to paid cloud tiers and the page does not clarify how those map to self-hosted. Enterprise starts from $50k/yr.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-017record 17
{
  "id": "COM-017",
  "vendor": "HubSpot",
  "product": "HubSpot CRM + Embed/API",
  "url": "https://www.hubspot.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "CRM",
    "support desk/helpdesk",
    "forms/surveys",
    "messaging/notifications"
  ],
  "embed_mode": "API + app marketplace (not embeddable as client-owned UI)",
  "pricing_class": "per-seat + contact-tier",
  "whitelabel": "no",
  "resale_fit_note": "Integration target, not a component. HubSpot owns the UI and the customer relationship; nothing here can be resold as part of a client's own product.",
  "oss_alternative": "Twenty, EspoCRM, SuiteCRM",
  "claim": "Supplies CRM plus marketing/service hubs that many clients already run, making it a high-value connector destination for assembled apps.",
  "limitations": "No white-label, no embeddable UI, contact-tier pricing escalates sharply. Treat strictly as a system to integrate WITH.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-018record 18
{
  "id": "COM-018",
  "vendor": "Attio",
  "product": "Attio CRM",
  "url": "https://attio.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "CRM"
  ],
  "embed_mode": "API + app framework",
  "pricing_class": "per-seat",
  "whitelabel": "no",
  "resale_fit_note": "Data-model-first CRM with a strong API, but per-seat and vendor-branded — an integration target rather than an embeddable capability.",
  "oss_alternative": "Twenty (AGPL + app exception)",
  "claim": "Supplies a flexible relational CRM data model that adapts to non-standard객 business objects better than pipeline-fixed incumbents.",
  "limitations": "No white-label or embedded UI; per-seat pricing. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-019record 19
{
  "id": "COM-019",
  "vendor": "Chatwoot",
  "product": "Chatwoot support desk + live chat widget",
  "url": "https://www.chatwoot.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "support desk/helpdesk",
    "chat/comments/collaboration"
  ],
  "embed_mode": "embeddable widget + self-hosted app + API",
  "pricing_class": "per-agent-seat (Startups $19, Business $39, Enterprise $99 per agent/mo, billed annually)",
  "whitelabel": "enterprise",
  "resale_fit_note": "Root LICENSE read first-party this run: MIT (explicitly 'MIT Expat'), with an enterprise/ directory carve-out governed by enterprise/LICENSE. No branding restriction appears in the MIT text itself. On CLOUD, 'Remove Branding' is Enterprise-only at $99/agent/mo — but the self-hosted MIT core carries no such restriction in its licence file, making self-hosting the correct white-label route. Per-AGENT pricing (not per end user) is inherently resale-friendly: cost tracks the client's support team size, not their customer count.",
  "oss_alternative": "Self (MIT core); Zammad (AGPL), FreeScout, Helpy",
  "claim": "Supplies an omnichannel support inbox plus an embeddable live-chat widget that can be self-hosted and rebranded inside the client's own product.",
  "limitations": "Cloud white-label costs $99/agent/mo. The enterprise/ directory is NOT MIT — features living there require the separate enterprise licence, so a self-hosted white-label build must stay clear of that directory. Free Hacker tier caps at 2 agents and 500 conversations/month.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-020record 20
{
  "id": "COM-020",
  "vendor": "Intercom",
  "product": "Intercom Messenger + Fin",
  "url": "https://www.intercom.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "support desk/helpdesk",
    "messaging/notifications",
    "AI-agent platform"
  ],
  "embed_mode": "embeddable widget",
  "pricing_class": "per-seat + per-AI-resolution",
  "whitelabel": "no",
  "resale_fit_note": "The Messenger is deliberately Intercom-branded and the Fin AI agent is priced per resolution. No white-label path, so it cannot disappear into a client's product.",
  "oss_alternative": "Chatwoot (MIT core)",
  "claim": "Supplies a support messenger with an AI resolution agent that measurably deflects ticket volume, priced on outcomes rather than seats.",
  "limitations": "No white-label. Per-resolution AI pricing is unpredictable for budgeting. Integration target only.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-021record 21
{
  "id": "COM-021",
  "vendor": "Zendesk",
  "product": "Zendesk Suite + Sunshine",
  "url": "https://www.zendesk.com/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "support desk/helpdesk"
  ],
  "embed_mode": "embeddable widget + API",
  "pricing_class": "per-agent-seat",
  "whitelabel": "enterprise",
  "resale_fit_note": "Enterprise-grade helpdesk with per-agent pricing; branding controls exist at higher tiers but the product is not designed to be resold inside someone else's app.",
  "oss_alternative": "Chatwoot, Zammad (AGPL)",
  "claim": "Supplies the deepest ticketing workflow, SLA, and reporting model in the helpdesk category.",
  "limitations": "Expensive per agent; heavy configuration burden; effectively an integration target for Actionist rather than a component.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-022record 22
{
  "id": "COM-022",
  "vendor": "Documenso",
  "product": "Documenso e-signature",
  "url": "https://www.documenso.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "e-signature",
    "document generation/PDF"
  ],
  "embed_mode": "embedded signing + self-host + API",
  "pricing_class": "flat (Individual $25/mo, Teams $40/mo incl 5 users, Platform $250/mo, Enterprise custom)",
  "whitelabel": "yes",
  "resale_fit_note": "LICENSE read first-party this run: GNU AGPL v3 (19 November 2007), standard text with NO separate enterprise or commercial tier in the file. AGPL Section 13 network provision applies — if Actionist MODIFIES Documenso and serves it over a network, corresponding source must be offered to those users. Running unmodified is materially safer. Commercially, Teams ($40/mo, 5 users, $8/extra user) includes embedded signing and Platform ($250/mo) includes 'Embedded Signing (Whitelabel)' with unlimited docs, users and API — a FLAT $250/mo for unlimited white-label signing is exceptional resale economics versus per-envelope incumbents.",
  "oss_alternative": "Self (AGPLv3); OpenSign (AGPL), Docuseal (AGPL core)",
  "claim": "Supplies legally-structured e-signature with embedded, white-labelled signing flows at a flat monthly cost independent of document volume.",
  "limitations": "AGPLv3 copyleft with the network clause bites on any modification served to users — self-hosting a customised fork carries source-disclosure obligations. White-label embedding requires the $250/mo Platform tier on cloud. Less jurisdictional certification breadth than DocuSign/Dropbox Sign.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-023record 23
{
  "id": "COM-023",
  "vendor": "Dropbox Sign (HelloSign)",
  "product": "Dropbox Sign API",
  "url": "https://www.hellosign.com/products/api",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "e-signature"
  ],
  "embed_mode": "embedded signing (iframe) + API",
  "pricing_class": "usage (per-envelope/API plan tiers)",
  "whitelabel": "yes",
  "resale_fit_note": "Purpose-built embedded-signing API with white-label branding on paid API tiers, but per-envelope economics mean cost rises with the client's document throughput.",
  "oss_alternative": "Documenso (AGPL), Docuseal, OpenSign",
  "claim": "Supplies embedded signature ceremonies with audit trails and eIDAS/ESIGN-aligned evidence, mature enough for regulated client work.",
  "limitations": "Per-envelope pricing compounds at volume; API tiers gate template and branding features. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-024record 24
{
  "id": "COM-024",
  "vendor": "DocuSign",
  "product": "DocuSign eSignature API",
  "url": "https://www.docusign.com/products/electronic-signature",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "e-signature"
  ],
  "embed_mode": "embedded signing + API",
  "pricing_class": "per-seat + per-envelope",
  "whitelabel": "enterprise",
  "resale_fit_note": "Strongest legal recognition and the name clients trust, but per-envelope plus per-seat pricing and enterprise-gated branding make it the least resale-efficient option in the class.",
  "oss_alternative": "Documenso (AGPL), Docuseal",
  "claim": "Supplies the most widely recognised and legally battle-tested signature product, which matters when the client's counterparties must trust the artifact.",
  "limitations": "Expensive at volume; branding removal requires enterprise agreements; envelope-based metering is hostile to unlimited-use client apps. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-025record 25
{
  "id": "COM-025",
  "vendor": "Paragon",
  "product": "Paragon Embedded iPaaS (Workflows, ActionKit, Managed Sync)",
  "url": "https://www.useparagon.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "connectors/iPaaS"
  ],
  "embed_mode": "white-label Connect Portal UI + headless UI/SDK",
  "pricing_class": "OEM-negotiated (quote-based, scales per Connected User)",
  "whitelabel": "yes",
  "resale_fit_note": "Explicitly built for SaaS teams to ship native in-product integrations to THEIR customers — the exact shape Actionist needs. Feature comparison lists a 'Whitelabeled Connect Portal UI' plus a headless UI/SDK option, and both appear under shared platform features rather than being clearly tier-gated (exact gating not fully specified on the page). The catch: usage 'scales based on the number of tenants (customer orgs) you have using integrations' — these are Connected Users, so pricing is effectively per end-customer organization. Pro and Enterprise both require a sales quote; no public price points.",
  "oss_alternative": "Nango (open-source, self-hostable), Supaglue (deprecated), n8n (fair-code, embeddable with licence)",
  "claim": "Supplies customer-facing third-party integrations — OAuth management, sync, and workflow orchestration — that render inside the client's own UI with no Paragon branding.",
  "limitations": "No public pricing at all, so margin cannot be modelled without engaging sales. Per-Connected-User (tenant) scaling means a client with many customer orgs drives cost up linearly. Self-hosting/forward-deploy is Enterprise-only.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-026record 26
{
  "id": "COM-026",
  "vendor": "Merge",
  "product": "Merge Unified API",
  "url": "https://www.merge.dev/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "connectors/iPaaS"
  ],
  "embed_mode": "embedded Merge Link component + headless API",
  "pricing_class": "usage (per production Linked Account)",
  "whitelabel": "enterprise",
  "resale_fit_note": "Hard numbers read this run: first 3 production Linked Accounts free, then $650/month for up to 10 total production Linked Accounts, and $65 per Linked Account after. A Linked Account is one end customer's connected system. That is a punishing curve for Actionist's model — a client app with 50 connected customers costs roughly $650 + 40x$65 = ~$3,250/mo. White-label authentication guides and Merge Link customization (screen order, appearance, localization) sit on Professional/Enterprise contract tiers, not Launch.",
  "oss_alternative": "Nango (open-source, self-hostable, per-connection cost you control)",
  "claim": "Supplies one normalized API across many HRIS, ATS, CRM, accounting, and ticketing systems, collapsing dozens of per-vendor integrations into a single data model.",
  "limitations": "Per-Linked-Account pricing is the single worst resale-margin fit on this shelf — cost scales directly with the client's customer count while Actionist's fee does not. Launch tier lacks custom fields and white-label guides. Professional and Enterprise are contract-based with no public pricing.",
  "disposition": "hold",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-027record 27
{
  "id": "COM-027",
  "vendor": "Apideck",
  "product": "Apideck Unify",
  "url": "https://www.apideck.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "connectors/iPaaS"
  ],
  "embed_mode": "headless API + hosted/embedded Vault UI",
  "pricing_class": "usage (per connection/API call)",
  "whitelabel": "yes",
  "resale_fit_note": "Unified API competitor to Merge with a Vault component for end-user connection management; connection-based pricing carries the same linear-scaling concern, though historically at lower entry cost.",
  "oss_alternative": "Nango",
  "claim": "Supplies unified APIs across accounting, CRM, HRIS and file-storage categories with an embeddable connection vault.",
  "limitations": "Per-connection scaling; smaller connector depth than Merge in some categories. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-028record 28
{
  "id": "COM-028",
  "vendor": "Nango",
  "product": "Nango (open-source unified integrations)",
  "url": "https://www.nango.dev/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "connectors/iPaaS",
    "auth/identity"
  ],
  "embed_mode": "headless API + self-host + connect UI",
  "pricing_class": "flat/usage with free self-host",
  "whitelabel": "yes",
  "resale_fit_note": "The OSS answer to Merge/Paragon: self-hostable, so per-customer connection cost can be driven to infrastructure cost. For an assembly business whose margin dies on per-tenant fees, this is the structurally correct default, with Paragon reserved for depth Nango lacks.",
  "oss_alternative": "Self (open source)",
  "claim": "Supplies OAuth token management and syncs for hundreds of APIs with the option to self-host, decoupling integration cost from the client's customer count.",
  "limitations": "More engineering effort than Merge's normalized models — you often own the per-API data shape. Cloud tiers and licence terms not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-029record 29
{
  "id": "COM-029",
  "vendor": "Knock",
  "product": "Knock notification infrastructure",
  "url": "https://knock.app/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "messaging/notifications"
  ],
  "embed_mode": "SDK/component (prebuilt in-app inbox) + headless",
  "pricing_class": "usage (per message delivered)",
  "whitelabel": "enterprise",
  "resale_fit_note": "Developer $0 (10K messages), Starter $250/mo (50K messages then $0.005/msg), Enterprise custom. Knock branding removal requires Starter ($250/mo). The decisive constraint for Actionist: PER-TENANT branding — letting the CLIENT's own customers white-label notifications with their logos and colors — is ENTERPRISE-ONLY, as are i18n, SAML SSO, SCIM and HIPAA/BAA. Multi-tenant white-label is precisely Actionist's use case, so this lands on the enterprise tier by default.",
  "oss_alternative": "Novu (MIT)",
  "claim": "Supplies cross-channel notification orchestration (email, SMS, in-app, push, Slack, Teams) with preference management and a drop-in inbox component.",
  "limitations": "Per-message billing counts each channel separately — one workflow sending email plus in-app counts as two messages. Downstream providers (Twilio, Postmark) bill separately on top. Per-tenant branding is Enterprise-gated, which is the exact feature a white-label assembly model needs.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-030record 30
{
  "id": "COM-030",
  "vendor": "Novu",
  "product": "Novu notification infrastructure + <Inbox /> component",
  "url": "https://novu.co/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "messaging/notifications"
  ],
  "embed_mode": "SDK/component (<Inbox />, <Preferences />, headless) + self-host",
  "pricing_class": "usage (per workflow run)",
  "whitelabel": "yes",
  "resale_fit_note": "LICENSE read first-party this run at novuhq/novu main: plain MIT (Copyright 2019 Dima Grossman), no enterprise carve-out and no commercial terms in the file — notably more permissive than most open-core competitors. Billing is per workflow run (one execution per subscriber after fan-out), explicitly 'not per user or message', which is friendlier than Knock's per-message counting. Free 10K runs; Pro from $30/mo (30K runs, branding removal, $1.20/1K overage); Team from $250/mo (250K runs); Enterprise adds self-hosting and SSO.",
  "oss_alternative": "Self (MIT)",
  "claim": "Supplies multi-channel notification workflows with an embeddable <Inbox /> React component available on every plan, self-hostable under MIT if cloud economics stop working.",
  "limitations": "Branding removal requires Pro — the free tier carries Novu branding. Self-hosting is listed as an Enterprise feature on the cloud pricing page even though the code is MIT, so the practical support boundary differs from the licence boundary. HIPAA BAA, SSO/SCIM and data residency are Enterprise.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-031record 31
{
  "id": "COM-031",
  "vendor": "Twilio",
  "product": "Twilio Messaging / Verify",
  "url": "https://www.twilio.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "messaging/notifications"
  ],
  "embed_mode": "headless API",
  "pricing_class": "usage (per message/segment)",
  "whitelabel": "yes",
  "resale_fit_note": "Pure infrastructure with no user-visible branding, so it disappears cleanly into a client product. Per-segment cost passes through to the client naturally.",
  "oss_alternative": "None for carrier SMS delivery — telecom access is contractual",
  "claim": "Supplies programmable SMS, voice, and OTP verification with global carrier reach that no self-hosted stack can replicate.",
  "limitations": "A2P 10DLC registration and per-country compliance is real onboarding friction per client. Costs vary sharply by destination. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-032record 32
{
  "id": "COM-032",
  "vendor": "Resend",
  "product": "Resend transactional email + React Email",
  "url": "https://resend.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "email infra"
  ],
  "embed_mode": "headless API + React Email components",
  "pricing_class": "usage (per email)",
  "whitelabel": "yes",
  "resale_fit_note": "Per-email pricing with domain-level sending means each client sends from their own domain with no vendor branding — clean multi-tenant fit. React Email templating aligns with a React-based assembly stack.",
  "oss_alternative": "Postal, Listmonk (AGPL) for campaigns; self-hosted SMTP (deliverability is the hard part, not the code)",
  "claim": "Supplies transactional email delivery with developer-first templating, where per-client sending domains keep reputation isolated.",
  "limitations": "Deliverability reputation must still be managed per sending domain. Fewer deliverability-analytics features than SendGrid at enterprise scale. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-033record 33
{
  "id": "COM-033",
  "vendor": "Postmark (ActiveCampaign)",
  "product": "Postmark transactional email",
  "url": "https://postmarkapp.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "email infra"
  ],
  "embed_mode": "headless API/SMTP",
  "pricing_class": "usage (per email)",
  "whitelabel": "yes",
  "resale_fit_note": "Reputation-focused transactional sender with per-message pricing and message streams that separate transactional from broadcast — straightforward pass-through cost per client.",
  "oss_alternative": "Postal, self-hosted SMTP",
  "claim": "Supplies high-deliverability transactional email with detailed per-message event tracking.",
  "limitations": "Strict content policy separating transactional from marketing traffic. Higher per-email cost than bulk senders. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-034record 34
{
  "id": "COM-034",
  "vendor": "SendGrid (Twilio)",
  "product": "SendGrid Email API",
  "url": "https://sendgrid.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "email infra"
  ],
  "embed_mode": "headless API/SMTP",
  "pricing_class": "usage (volume tiers)",
  "whitelabel": "yes",
  "resale_fit_note": "Volume-tier pricing with subuser accounts designed for platforms sending on behalf of many customers — the subuser model is the specific feature that suits multi-tenant resale.",
  "oss_alternative": "Postal, Listmonk",
  "claim": "Supplies email at high volume with subuser isolation so each client's sending reputation is tracked separately under one platform account.",
  "limitations": "Shared-IP deliverability can be uneven; dedicated IPs cost extra. Support quality complaints are common at lower tiers. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-035record 35
{
  "id": "COM-035",
  "vendor": "Algolia",
  "product": "Algolia Search + InstantSearch UI",
  "url": "https://www.algolia.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "search"
  ],
  "embed_mode": "SDK/component (InstantSearch) + headless API",
  "pricing_class": "usage (per search request + records)",
  "whitelabel": "yes",
  "resale_fit_note": "InstantSearch component libraries are unbranded and fully styleable, so search UI drops into a client app invisibly. Cost scales with search volume, which tracks the client's actual usage rather than a fixed floor.",
  "oss_alternative": "Typesense (GPL-3.0), Meilisearch (MIT), OpenSearch (Apache-2.0)",
  "claim": "Supplies typo-tolerant, sub-100ms hosted search with prebuilt React UI widgets covering facets, refinements and autocomplete.",
  "limitations": "Search-request pricing becomes expensive on high-traffic consumer apps, where Typesense/Meilisearch self-hosted wins decisively. Record limits bind on large catalogs. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-036record 36
{
  "id": "COM-036",
  "vendor": "Typesense",
  "product": "Typesense Cloud / self-hosted",
  "url": "https://typesense.org/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "search"
  ],
  "embed_mode": "headless API + InstantSearch-compatible components + self-host",
  "pricing_class": "flat (per-cluster hourly) / free self-host",
  "whitelabel": "yes",
  "resale_fit_note": "GPL-3.0 server with flat per-cluster cloud pricing rather than per-search metering — cost is predictable and does not scale with the client's traffic. GPL applies to the server binary being distributed, not to apps querying it over the network, so ordinary API use does not contaminate client code.",
  "oss_alternative": "Self (GPL-3.0); Meilisearch (MIT) if GPL is unacceptable",
  "claim": "Supplies typo-tolerant search compatible with InstantSearch widgets at a fixed cluster cost, making it the margin-safe default over per-request vendors.",
  "limitations": "GPL-3.0 on the server requires care if Actionist ever ships modified binaries to clients. Fewer relevance-tuning and analytics features than Algolia. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-037record 37
{
  "id": "COM-037",
  "vendor": "Meilisearch",
  "product": "Meilisearch Cloud / self-hosted",
  "url": "https://www.meilisearch.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "search"
  ],
  "embed_mode": "headless API + self-host",
  "pricing_class": "flat (tiered cloud) / free self-host",
  "whitelabel": "yes",
  "resale_fit_note": "MIT-licensed engine with no copyleft concern at all — the most legally frictionless search option for embedding into client deliverables.",
  "oss_alternative": "Self (MIT)",
  "claim": "Supplies fast full-text and hybrid search under a permissive MIT licence that imposes no obligations on client deliverables.",
  "limitations": "Smaller ecosystem of prebuilt UI widgets than Algolia's InstantSearch. Scaling to very large corpora needs more tuning. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-038record 38
{
  "id": "COM-038",
  "vendor": "Metabase",
  "product": "Metabase embedded analytics",
  "url": "https://www.metabase.com/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "analytics/BI embeds"
  ],
  "embed_mode": "iframe embed (static + interactive) + self-host",
  "pricing_class": "flat + per-seat (Starter $100/mo, Pro $575/mo, Enterprise from $20,000/yr)",
  "whitelabel": "enterprise",
  "resale_fit_note": "Repo LICENSE read first-party this run: the dual-license notice names the GNU Affero General Public License (AGPL) plus a separate Metabase Commercial License covering the enterprise directory (the file names the licence but not a version number). Commercially, advanced embedding and white-labelling require Pro at $575/mo minimum — Pro is 'Whitelabel ready' with unlimited embedded charts/dashboards, multi-tenant data segregation, and row/column-level security. Starter ($100/mo, $6/user after 5) does NOT include them. That $575/mo is a hard floor per deployment unless the AGPL self-host route is taken without white-label.",
  "oss_alternative": "Self (AGPL open-source edition); Apache Superset (Apache-2.0), Grafana (AGPL), Evidence, Lightdash",
  "claim": "Supplies embedded dashboards with row- and column-level multi-tenant security, which is the specific mechanism that lets one deployment safely serve many client customers.",
  "limitations": "White-label and interactive embedding sit behind Pro at $575/mo — the most expensive white-label gate on this shelf. AGPL on the open-source edition means self-hosted modifications served over a network carry source-disclosure obligations. Enterprise starts at $20,000/year.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-039record 39
{
  "id": "COM-039",
  "vendor": "Apache Superset",
  "product": "Superset BI",
  "url": "https://superset.apache.org/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "analytics/BI embeds"
  ],
  "embed_mode": "iframe embed + self-host",
  "pricing_class": "flat (free, self-hosted)",
  "whitelabel": "yes",
  "resale_fit_note": "Apache-2.0 — fully permissive, no white-label gate, no copyleft. The zero-licence-cost route for embedded BI, paid for in operational effort instead of subscription.",
  "oss_alternative": "Self (Apache-2.0)",
  "claim": "Supplies a full BI layer — SQL lab, charts, dashboards, embedded SDK — with no licence restriction on rebranding or reselling inside client deliverables.",
  "limitations": "Substantial operational burden: it is a heavy Python service needing real infrastructure. Embedded guest-token setup is more manual than Metabase's. Multi-tenant row-level security requires deliberate configuration. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-040record 40
{
  "id": "COM-040",
  "vendor": "Tremor / Recharts / Nivo",
  "product": "React charting component libraries",
  "url": "https://www.tremor.so/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "analytics/BI embeds"
  ],
  "embed_mode": "SDK/component",
  "pricing_class": "flat (free, MIT)",
  "whitelabel": "yes",
  "resale_fit_note": "MIT React chart components with zero licence or runtime cost. For assembled dashboards where the data model is already owned, these beat any BI vendor outright — no embed gate, no per-seat fee, complete visual control.",
  "oss_alternative": "Self (MIT)",
  "claim": "Supplies dashboard and chart primitives as React components, which is sufficient whenever the client needs THEIR data visualised rather than a self-serve exploration tool.",
  "limitations": "No query engine, no ad-hoc exploration, no scheduled reports — these are rendering libraries, not BI platforms. Any semantic layer must be built. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-041record 41
{
  "id": "COM-041",
  "vendor": "Uploadthing",
  "product": "Uploadthing file uploads",
  "url": "https://uploadthing.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "file storage/management"
  ],
  "embed_mode": "SDK/component",
  "pricing_class": "usage (storage + bandwidth tiers)",
  "whitelabel": "yes",
  "resale_fit_note": "Typed file-upload components for a TypeScript/Next stack with storage-tier pricing; unbranded components suit white-label assembly.",
  "oss_alternative": "Direct S3/R2 presigned uploads (near-zero cost, more wiring); Uppy (MIT) for the UI layer",
  "claim": "Supplies typed upload endpoints and drop-in React components, removing presigned-URL and validation boilerplate from every client app.",
  "limitations": "Thin value over direct S3/R2 presigned uploads once the pattern is built once and reused — for an assembly business that reuses code, the build-once case is strong. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-042record 42
{
  "id": "COM-042",
  "vendor": "Cloudflare",
  "product": "R2 + Images + Stream",
  "url": "https://developers.cloudflare.com/r2/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "file storage/management",
    "video/meetings embed"
  ],
  "embed_mode": "headless API",
  "pricing_class": "usage (storage + operations, zero egress on R2)",
  "whitelabel": "yes",
  "resale_fit_note": "R2's zero egress fee is the structural advantage for client apps serving media — the cost that usually ambushes file-heavy products simply is not charged. Pure infrastructure, no branding.",
  "oss_alternative": "MinIO (AGPL) self-hosted, SeaweedFS (Apache-2.0)",
  "claim": "Supplies S3-compatible object storage with no egress charges, plus image optimisation and video streaming as separate products.",
  "limitations": "Per-operation costs still apply. Stream and Images are metered separately. Fewer regional and lifecycle controls than S3. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-043record 43
{
  "id": "COM-043",
  "vendor": "Filestack",
  "product": "Filestack file uploads/transforms",
  "url": "https://www.filestack.com/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "file storage/management"
  ],
  "embed_mode": "SDK/component (picker widget) + API",
  "pricing_class": "usage (uploads/transforms tiers)",
  "whitelabel": "enterprise",
  "resale_fit_note": "Mature file picker with source integrations (Dropbox, Drive, etc.) and transformation pipeline; branding controls sit on higher tiers, weakening the white-label case versus Uppy.",
  "oss_alternative": "Uppy (MIT) + S3/R2",
  "claim": "Supplies a multi-source file picker plus image transformation and virus scanning as a hosted service.",
  "limitations": "Uppy plus direct storage covers most of this at zero licence cost. Branding gated to higher tiers. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-044record 44
{
  "id": "COM-044",
  "vendor": "Typeform",
  "product": "Typeform forms + embed",
  "url": "https://www.typeform.com/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "forms/surveys"
  ],
  "embed_mode": "iframe/JS embed",
  "pricing_class": "per-seat + response volume",
  "whitelabel": "enterprise",
  "resale_fit_note": "Response-volume caps plus enterprise-gated branding removal make this a poor component for client apps. The conversational form UX is its differentiator, not its embeddability.",
  "oss_alternative": "Formbricks (AGPL), SurveyJS (MIT core), Tally, react-hook-form + custom UI",
  "claim": "Supplies conversational one-question-at-a-time forms with measurably higher completion rates than standard grid forms.",
  "limitations": "Response caps bite quickly; branding removal is enterprise; embedded forms carry Typeform chrome on lower tiers. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-045record 45
{
  "id": "COM-045",
  "vendor": "SurveyJS",
  "product": "SurveyJS Form Library + Creator",
  "url": "https://surveyjs.io/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "forms/surveys"
  ],
  "embed_mode": "SDK/component (self-hosted libraries)",
  "pricing_class": "flat (per-developer perpetual/annual licence)",
  "whitelabel": "yes",
  "resale_fit_note": "Rare and valuable model for assembly: the form runtime is MIT and the visual Creator is a per-developer commercial licence with NO per-end-user or per-response fee. Cost is fixed against Actionist's team size, not client scale — the ideal shape for reselling.",
  "oss_alternative": "Self (MIT form library); Formbricks (AGPL) for the hosted-survey pattern",
  "claim": "Supplies a JSON-schema-driven form engine plus a drag-and-drop form builder that runs entirely inside the client's own app with data never leaving their infrastructure.",
  "limitations": "The visual Creator and PDF export require paid per-developer licences. No hosted response collection — you own storage and analytics. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-046record 46
{
  "id": "COM-046",
  "vendor": "Formbricks",
  "product": "Formbricks surveys/experience",
  "url": "https://formbricks.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "forms/surveys"
  ],
  "embed_mode": "embeddable widget + self-host",
  "pricing_class": "flat (free self-host / cloud tiers)",
  "whitelabel": "enterprise",
  "resale_fit_note": "AGPL core, self-hostable, with in-app survey targeting. Branding removal typically sits on paid tiers even self-hosted — worth verifying against the enterprise directory before white-label use.",
  "oss_alternative": "Self (AGPL)",
  "claim": "Supplies in-product micro-surveys with user targeting and attribute-based triggering, not just standalone form pages.",
  "limitations": "AGPL network clause applies to modifications. Branding/white-label gating on self-host needs confirmation. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-047record 47
{
  "id": "COM-047",
  "vendor": "Temporal",
  "product": "Temporal Cloud / OSS workflow engine",
  "url": "https://temporal.io/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "approvals/workflow",
    "project/case management"
  ],
  "embed_mode": "headless SDK + self-host",
  "pricing_class": "usage (actions/storage) / free self-host",
  "whitelabel": "yes",
  "resale_fit_note": "MIT-licensed engine, self-hostable, entirely invisible to end users — it is backend durability, not UI. No branding or white-label question arises at all.",
  "oss_alternative": "Self (MIT); Inngest, Trigger.dev (Apache-2.0), Windmill (AGPL/open-core)",
  "claim": "Supplies durable execution so long-running, multi-step, human-in-the-loop approval processes survive restarts and failures without bespoke state machines.",
  "limitations": "Significant conceptual learning curve and operational weight if self-hosted. Provides no approval UI — that is still an Actionist build. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-048record 48
{
  "id": "COM-048",
  "vendor": "Inngest",
  "product": "Inngest durable workflows",
  "url": "https://www.inngest.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "approvals/workflow"
  ],
  "embed_mode": "headless SDK",
  "pricing_class": "usage (per step/run)",
  "whitelabel": "yes",
  "resale_fit_note": "Far lower adoption cost than Temporal for TypeScript stacks; per-run pricing scales with the client's actual process volume. Backend-only, so no branding concern.",
  "oss_alternative": "Trigger.dev (Apache-2.0), Temporal (MIT), Windmill",
  "claim": "Supplies event-driven durable functions with retries, concurrency control, and step memoisation using ordinary TypeScript functions rather than a separate workflow DSL.",
  "limitations": "Per-step billing can surprise on fan-out-heavy workloads. Self-hosting story is weaker than Temporal's. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-049record 49
{
  "id": "COM-049",
  "vendor": "n8n",
  "product": "n8n workflow automation (embed)",
  "url": "https://n8n.io/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "approvals/workflow",
    "connectors/iPaaS"
  ],
  "embed_mode": "white-label embed (Embed licence) + self-host",
  "pricing_class": "OEM-negotiated (Embed) / flat self-host",
  "whitelabel": "enterprise",
  "resale_fit_note": "n8n sells a specific Embed licence for putting the workflow editor inside another product under your own brand — directly relevant to Actionist. But n8n is fair-code (Sustainable Use License), NOT open source: the licence restricts hosting it as a service for third parties, which is close to what an agency does for clients. The Embed licence exists precisely to resolve that, and its terms must be read before any client deployment.",
  "oss_alternative": "Windmill (AGPL/open-core), Activepieces (MIT core), Node-RED (Apache-2.0)",
  "claim": "Supplies a visual workflow builder with a very large node catalog that can be embedded and rebranded inside a client's product under a commercial Embed licence.",
  "limitations": "Sustainable Use License is not OSI open source and restricts service-provider hosting — the exact pattern an agency uses. Embed licensing is sales-negotiated with no public pricing. Licence terms NOT read this run; must be verified before relying on this.",
  "disposition": "hold",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-050record 50
{
  "id": "COM-050",
  "vendor": "Activepieces",
  "product": "Activepieces automation (embeddable)",
  "url": "https://www.activepieces.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "approvals/workflow",
    "connectors/iPaaS"
  ],
  "embed_mode": "embeddable SDK + white-label + self-host",
  "pricing_class": "flat/usage with free self-host",
  "whitelabel": "yes",
  "resale_fit_note": "Positioned explicitly as the embeddable, white-label-friendly alternative to n8n with an MIT-licensed core, avoiding n8n's service-provider restriction. Strong structural fit for agency resale.",
  "oss_alternative": "Self (MIT core)",
  "claim": "Supplies an embeddable automation builder that a client's own users can operate inside the client's product, under a permissive core licence.",
  "limitations": "Smaller connector catalog than n8n or Zapier. Some enterprise features sit under a separate licence. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-051record 51
{
  "id": "COM-051",
  "vendor": "Zapier",
  "product": "Zapier Workflow API / embed",
  "url": "https://zapier.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "connectors/iPaaS",
    "approvals/workflow"
  ],
  "embed_mode": "embedded Zap templates/editor",
  "pricing_class": "usage (per task) + per-seat",
  "whitelabel": "no",
  "resale_fit_note": "Zapier's embed keeps Zapier branding and requires the end user to hold a Zapier account — the integration relationship belongs to Zapier, not the client. Unsuitable as an owned capability.",
  "oss_alternative": "Activepieces, n8n, Nango",
  "claim": "Supplies the largest third-party app catalog in automation, valuable as a breadth backstop when a specific connector is missing elsewhere.",
  "limitations": "No white-label; end users need their own Zapier accounts; per-task pricing stacks on the client's own subscription. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-052record 52
{
  "id": "COM-052",
  "vendor": "ToolJet",
  "product": "ToolJet low-code app builder",
  "url": "https://www.tooljet.ai/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "D",
  "capability_kinds": [
    "low-code data platform",
    "project/case management"
  ],
  "embed_mode": "self-hosted app + white-label",
  "pricing_class": "per-builder-seat (Pro $79/builder/mo, Team $199/builder/mo, Enterprise from $3,000/mo)",
  "whitelabel": "enterprise",
  "resale_fit_note": "LICENSE read first-party this run: GNU AGPL v3 (19 November 2007), standard unmodified text with NO enterprise carve-out in that file. Commercially, white-labelling (removing ToolJet branding across dashboard, login and apps) requires Team at $199/builder/mo; full SSO (OIDC/LDAP/SAML) is Team+, SCIM is Enterprise-only. Pricing is per BUILDER not per end user, which is the right shape — but the free tier caps at 50 end users, 2 apps and 2 builders, and Team caps at 100 end users, so end-user ceilings still constrain client deployments.",
  "oss_alternative": "Self (AGPLv3); Appsmith (Apache-2.0) is the permissive alternative, Budibase (GPL/open-core)",
  "claim": "Supplies a drag-and-drop internal-tool builder with 80+ components and 80+ data sources, collapsing back-office app construction into configuration.",
  "limitations": "AGPLv3 network clause applies to modifications served to users. White-label needs Team ($199/builder/mo). End-user caps (50 on Free, 100 on Team) bind client-facing deployments. Multi-environment is Enterprise on Cloud, Team+ on self-hosted. Enterprise starts at $3,000/mo.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-053record 53
{
  "id": "COM-053",
  "vendor": "Appsmith",
  "product": "Appsmith internal tool builder",
  "url": "https://www.appsmith.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "low-code data platform"
  ],
  "embed_mode": "self-hosted app + embed",
  "pricing_class": "per-user cloud / free self-host",
  "whitelabel": "enterprise",
  "resale_fit_note": "Apache-2.0 core — permissive where ToolJet is AGPL, which materially reduces legal review burden for client deliverables. Branding removal still sits on paid tiers.",
  "oss_alternative": "Self (Apache-2.0)",
  "claim": "Supplies a low-code builder over databases and APIs under a permissive licence that imposes no copyleft obligation on modified deployments.",
  "limitations": "Branding removal and audit logs are paid features. Fewer polished components than Retool. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-054record 54
{
  "id": "COM-054",
  "vendor": "Retool",
  "product": "Retool + Retool Embed",
  "url": "https://retool.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "low-code data platform",
    "client portals"
  ],
  "embed_mode": "Retool Embed (external user embedding) + self-host",
  "pricing_class": "per-user (standard) + per-external-user (Embed)",
  "whitelabel": "enterprise",
  "resale_fit_note": "Retool Embed is explicitly for exposing apps to external end users, but it prices per external user, which is the resale-margin problem again. White-label needs enterprise agreements.",
  "oss_alternative": "Appsmith (Apache-2.0), ToolJet (AGPL), Budibase",
  "claim": "Supplies the most polished low-code builder with mature component and data-source coverage, plus a dedicated path for external-facing apps.",
  "limitations": "Per-external-user Embed pricing scales with the client's customer base. White-label is enterprise-gated. Historically the most expensive option in this class. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-055record 55
{
  "id": "COM-055",
  "vendor": "Budibase",
  "product": "Budibase low-code platform",
  "url": "https://budibase.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "low-code data platform",
    "client portals"
  ],
  "embed_mode": "self-host + embed",
  "pricing_class": "per-user with free self-host tier",
  "whitelabel": "enterprise",
  "resale_fit_note": "Self-hostable with a generous free tier; white-label and SSO sit in premium/enterprise. Reasonable middle ground between Appsmith's permissiveness and Retool's polish.",
  "oss_alternative": "Self (GPL/open-core); Appsmith (Apache-2.0)",
  "claim": "Supplies internal apps with a built-in database, so a client tool can ship without provisioning separate data infrastructure.",
  "limitations": "GPL-family open-core licensing with paid enterprise features. Branding removal is a paid tier. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-056record 56
{
  "id": "COM-056",
  "vendor": "Supabase",
  "product": "Supabase (Postgres, Auth, Storage, Realtime)",
  "url": "https://supabase.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "low-code data platform",
    "auth/identity",
    "file storage/management"
  ],
  "embed_mode": "headless API/SDK + self-host",
  "pricing_class": "flat per-project + usage (with per-MAU auth component)",
  "whitelabel": "yes",
  "resale_fit_note": "Apache-2.0 with a genuine self-host path. Per-project flat pricing means Actionist can provision one project per client with predictable cost, and row-level security in Postgres provides real multi-tenant isolation. Auth MAU limits apply above generous free thresholds.",
  "oss_alternative": "Self (Apache-2.0); Postgres + Hasura/PostgREST assembled directly",
  "claim": "Supplies Postgres plus auth, storage, realtime and edge functions as one provisionable unit, covering the entire backend substrate of a typical assembled app.",
  "limitations": "Auth carries per-MAU costs past the free allowance. Self-hosting loses some managed conveniences. Compute add-ons needed as projects grow. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-057record 57
{
  "id": "COM-057",
  "vendor": "Hasura",
  "product": "Hasura DDN / GraphQL engine",
  "url": "https://hasura.io/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "low-code data platform"
  ],
  "embed_mode": "headless API + self-host",
  "pricing_class": "usage/flat with OSS self-host",
  "whitelabel": "yes",
  "resale_fit_note": "Backend infrastructure with no user-visible surface, so white-label is a non-question. Self-hostable engine keeps per-client cost at infrastructure level.",
  "oss_alternative": "Self (Apache-2.0 for the v2 engine); PostgREST (MIT), Postgraphile",
  "claim": "Supplies an instant GraphQL API with declarative row-level authorization over existing databases, replacing hand-written CRUD resolvers.",
  "limitations": "Licensing and packaging shifted materially between v2 and DDN — the current terms must be re-read rather than assumed. Not verified this run.",
  "disposition": "hold",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-058record 58
{
  "id": "COM-058",
  "vendor": "Medusa",
  "product": "Medusa headless commerce",
  "url": "https://medusajs.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "inventory/commerce headless"
  ],
  "embed_mode": "headless API + self-host",
  "pricing_class": "flat (MIT self-host free / cloud tiers)",
  "whitelabel": "yes",
  "resale_fit_note": "MIT-licensed headless commerce — no per-order or per-GMV take, which is the decisive difference from hosted commerce platforms. Actionist keeps full margin and full UI control.",
  "oss_alternative": "Self (MIT); Vendure (GPL/open-core), Saleor (BSD-3 core)",
  "claim": "Supplies cart, order, inventory, fulfilment and promotions as composable Node modules, so a commerce backend can be assembled without adopting a storefront.",
  "limitations": "You build the entire storefront and admin experience. Payment and tax still require third-party providers. Operational burden versus a hosted platform. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-059record 59
{
  "id": "COM-059",
  "vendor": "Shopify",
  "product": "Shopify Storefront API / Hydrogen",
  "url": "https://www.shopify.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "inventory/commerce headless"
  ],
  "embed_mode": "headless API (Storefront) + hosted checkout",
  "pricing_class": "flat subscription + % of transactions",
  "whitelabel": "enterprise",
  "resale_fit_note": "Storefront API allows a fully custom front end, but checkout stays on Shopify domains except at Plus/Enterprise. Transaction percentages compound with the merchant's revenue.",
  "oss_alternative": "Medusa (MIT), Saleor, Vendure",
  "claim": "Supplies commerce operations, payments and compliance that merchants already trust, with a headless API for custom experiences over the top.",
  "limitations": "Checkout white-labelling requires Plus. Percentage-of-transaction fees on top of subscription. Platform rules constrain custom flows. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-060record 60
{
  "id": "COM-060",
  "vendor": "Saleor",
  "product": "Saleor headless commerce",
  "url": "https://saleor.io/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "inventory/commerce headless"
  ],
  "embed_mode": "headless GraphQL API + self-host",
  "pricing_class": "flat (cloud tiers / BSD-3 core self-host)",
  "whitelabel": "yes",
  "resale_fit_note": "BSD-3 core is highly permissive; GraphQL-first API suits assembled front ends. Cloud tiers are flat rather than GMV-based, protecting margin.",
  "oss_alternative": "Self (BSD-3 core); Medusa (MIT)",
  "claim": "Supplies a GraphQL-native commerce backend with multi-channel and multi-warehouse modelling built in.",
  "limitations": "Python/Django operational profile differs from a Node assembly stack. Some cloud features are proprietary. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-061record 61
{
  "id": "COM-061",
  "vendor": "Linear",
  "product": "Linear issue tracking + API",
  "url": "https://linear.app/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "project/case management"
  ],
  "embed_mode": "API + webhooks (no embeddable UI)",
  "pricing_class": "per-seat",
  "whitelabel": "no",
  "resale_fit_note": "No embeddable UI and per-seat pricing — an internal tool for Actionist's own delivery, not a component to resell.",
  "oss_alternative": "Plane (AGPL), Vikunja (AGPL), Focalboard",
  "claim": "Supplies opinionated issue tracking with an excellent GraphQL API, useful as the coordination substrate for Actionist's own build process.",
  "limitations": "Not embeddable or white-labelable. Per-seat. Treat as internal tooling only. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-062record 62
{
  "id": "COM-062",
  "vendor": "Plane",
  "product": "Plane project management",
  "url": "https://plane.so/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "project/case management"
  ],
  "embed_mode": "self-hosted app + API",
  "pricing_class": "per-seat cloud / free self-host",
  "whitelabel": "enterprise",
  "resale_fit_note": "AGPL-family open-source project management that can be self-hosted per client; white-label sits in commercial tiers and needs verification against the enterprise directory.",
  "oss_alternative": "Self (AGPL); Vikunja (AGPL), Focalboard, Taiga",
  "claim": "Supplies issues, cycles, and modules as a self-hostable project tool that can live inside a client's own perimeter.",
  "limitations": "AGPL network clause on modifications. White-label gating unverified. Less mature than Linear. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-063record 63
{
  "id": "COM-063",
  "vendor": "Zoom",
  "product": "Zoom Video SDK",
  "url": "https://developers.zoom.us/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "video/meetings embed"
  ],
  "embed_mode": "SDK/component (fully custom UI)",
  "pricing_class": "usage (per participant-minute)",
  "whitelabel": "yes",
  "resale_fit_note": "The Video SDK (distinct from the Meeting SDK) permits a fully custom, unbranded UI — genuine white-label video. Per-participant-minute cost passes through in proportion to client usage.",
  "oss_alternative": "LiveKit (Apache-2.0), Jitsi (Apache-2.0), mediasoup",
  "claim": "Supplies real-time video/audio sessions with a custom UI and Zoom's global media infrastructure behind it.",
  "limitations": "Per-minute costs escalate on video-heavy products. The Meeting SDK (as opposed to Video SDK) carries Zoom branding — the two are frequently confused. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-064record 64
{
  "id": "COM-064",
  "vendor": "Daily",
  "product": "Daily video API",
  "url": "https://www.daily.co/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "video/meetings embed"
  ],
  "embed_mode": "prebuilt iframe component + headless call object",
  "pricing_class": "usage (per participant-minute)",
  "whitelabel": "yes",
  "resale_fit_note": "Offers both a prebuilt embeddable UI and a headless call object for fully custom interfaces; branding is configurable, making it a clean white-label option.",
  "oss_alternative": "LiveKit (Apache-2.0), Jitsi (Apache-2.0)",
  "claim": "Supplies embeddable video calling with a choice between fast prebuilt UI and full custom control on the same infrastructure.",
  "limitations": "Per-participant-minute pricing. Recording and transcription metered separately. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-065record 65
{
  "id": "COM-065",
  "vendor": "LiveKit",
  "product": "LiveKit Cloud / OSS WebRTC",
  "url": "https://livekit.io/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "video/meetings embed",
    "AI-agent platform"
  ],
  "embed_mode": "SDK/component + self-host",
  "pricing_class": "usage (bandwidth/minutes) / free self-host",
  "whitelabel": "yes",
  "resale_fit_note": "Apache-2.0 with a real self-host path, so per-minute vendor cost can be replaced with infrastructure cost at scale. Also the leading substrate for realtime voice AI agents, covering two capability kinds at once.",
  "oss_alternative": "Self (Apache-2.0); mediasoup, Jitsi",
  "claim": "Supplies WebRTC infrastructure plus an agents framework for realtime voice AI, under a permissive licence with no white-label restriction.",
  "limitations": "Self-hosting SFU infrastructure at scale is genuinely demanding operational work. Cloud pricing is bandwidth-driven and needs modelling. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-066record 66
{
  "id": "COM-066",
  "vendor": "Mux",
  "product": "Mux Video / Mux Player",
  "url": "https://www.mux.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "video/meetings embed"
  ],
  "embed_mode": "SDK/component (Mux Player) + API",
  "pricing_class": "usage (encoding + streaming minutes)",
  "whitelabel": "yes",
  "resale_fit_note": "Unbranded player component and API-first delivery; per-minute encoding and streaming costs pass through cleanly per client.",
  "oss_alternative": "Cloudflare Stream (commercial alternative); self-hosted ffmpeg + HLS + CDN",
  "claim": "Supplies video encoding, adaptive streaming, and playback analytics as an API, removing the entire transcoding pipeline from scope.",
  "limitations": "Storage plus streaming minutes both metered; costs rise sharply with watch time. Live streaming priced separately. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-067record 67
{
  "id": "COM-067",
  "vendor": "Anthropic",
  "product": "Claude API / Agent SDK",
  "url": "https://www.anthropic.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "AI-agent platform"
  ],
  "embed_mode": "headless API + Agent SDK",
  "pricing_class": "usage (per token)",
  "whitelabel": "yes",
  "resale_fit_note": "Pure API with no end-user branding requirement, so AI capability disappears into a client product entirely. Per-token cost scales with actual usage and passes through cleanly. Prompt caching materially reduces cost on repeated system prompts, which suits templated client apps.",
  "oss_alternative": "Llama/Mistral/Qwen self-hosted via vLLM — cheaper at very high volume, materially weaker at agentic tool use",
  "claim": "Supplies frontier reasoning and tool-using agent capability as a metered API, forming the intelligence layer of assembled apps without any model training or hosting burden.",
  "limitations": "Per-token costs are unpredictable for open-ended agentic loops and must be capped per client. Rate limits require planning. Model deprecations force periodic migration. Not re-verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-068record 68
{
  "id": "COM-068",
  "vendor": "OpenAI",
  "product": "OpenAI API / Assistants",
  "url": "https://openai.com/api/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "AI-agent platform"
  ],
  "embed_mode": "headless API",
  "pricing_class": "usage (per token)",
  "whitelabel": "yes",
  "resale_fit_note": "Same clean pass-through economics as other model APIs; multi-provider abstraction is advisable so one vendor's pricing or availability change does not strand a client deliverable.",
  "oss_alternative": "Self-hosted open-weight models via vLLM/Ollama",
  "claim": "Supplies general model capability with broad ecosystem tooling and the widest set of third-party integrations.",
  "limitations": "Per-token cost volatility; deprecation cadence forces migration work. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-069record 69
{
  "id": "COM-069",
  "vendor": "Pinecone",
  "product": "Pinecone vector database",
  "url": "https://www.pinecone.io/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "search",
    "AI-agent platform"
  ],
  "embed_mode": "headless API",
  "pricing_class": "usage (serverless reads/writes/storage)",
  "whitelabel": "yes",
  "resale_fit_note": "Backend-only with serverless per-namespace pricing; namespaces map neatly to client tenants for isolation.",
  "oss_alternative": "pgvector (Postgres extension, PostgreSQL licence), Qdrant (Apache-2.0), Weaviate (BSD-3), Chroma",
  "claim": "Supplies managed vector search for retrieval-augmented features without operating an index cluster.",
  "limitations": "pgvector inside an existing Postgres is free and adequate for most client-scale corpora, making Pinecone hard to justify below large volumes. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-070record 70
{
  "id": "COM-070",
  "vendor": "Qdrant",
  "product": "Qdrant vector DB",
  "url": "https://qdrant.tech/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "search",
    "AI-agent platform"
  ],
  "embed_mode": "headless API + self-host",
  "pricing_class": "flat cluster / free self-host",
  "whitelabel": "yes",
  "resale_fit_note": "Apache-2.0 with self-hosting, so vector search cost stays at infrastructure level with no per-query metering.",
  "oss_alternative": "Self (Apache-2.0); pgvector",
  "claim": "Supplies high-performance vector search with filtering, self-hostable under a permissive licence.",
  "limitations": "Operating another stateful service adds burden when pgvector would reuse existing Postgres. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-071record 71
{
  "id": "COM-071",
  "vendor": "PostHog",
  "product": "PostHog product analytics",
  "url": "https://posthog.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "analytics/BI embeds"
  ],
  "embed_mode": "SDK + self-host",
  "pricing_class": "usage (per event, generous free tier)",
  "whitelabel": "no",
  "resale_fit_note": "Excellent for instrumenting client apps to prove Actionist's delivered value, but the PostHog UI is not a client-facing white-label surface. Self-hostable, with per-event pricing on cloud.",
  "oss_alternative": "Self (MIT-family core with paid modules); Plausible (AGPL), Umami (MIT), Matomo (GPL)",
  "claim": "Supplies product analytics, session replay, feature flags and experiments in one SDK, giving evidence of what users actually do in delivered apps.",
  "limitations": "Not a white-label dashboard for client customers. Event volume costs grow with app traffic. Self-hosting is resource-hungry. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-072record 72
{
  "id": "COM-072",
  "vendor": "Plausible",
  "product": "Plausible Analytics",
  "url": "https://plausible.io/#pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "analytics/BI embeds"
  ],
  "embed_mode": "script + shared dashboard embed + self-host",
  "pricing_class": "usage (pageview tiers) / free self-host",
  "whitelabel": "yes",
  "resale_fit_note": "AGPL, self-hostable, with shareable embeddable dashboards — a lightweight way to give clients a analytics view without licensing a BI platform.",
  "oss_alternative": "Self (AGPL); Umami (MIT)",
  "claim": "Supplies privacy-preserving, cookieless web analytics with a dashboard simple enough to hand directly to a non-technical client.",
  "limitations": "AGPL network clause on modifications. No session replay or funnels at the depth PostHog offers. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-073record 73
{
  "id": "COM-073",
  "vendor": "Sentry",
  "product": "Sentry error monitoring",
  "url": "https://sentry.io/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "analytics/BI embeds"
  ],
  "embed_mode": "SDK + self-host",
  "pricing_class": "usage (per event/span)",
  "whitelabel": "no",
  "resale_fit_note": "Internal reliability tooling for Actionist's delivered apps, not a resellable client-facing surface. Self-hosting is available but operationally heavy.",
  "oss_alternative": "Self-hosted Sentry (BUSL — converts to Apache-2.0 after a delay); GlitchTip (MIT)",
  "claim": "Supplies error and performance monitoring so defects in delivered client apps surface before the client reports them.",
  "limitations": "Sentry moved to BUSL, which restricts offering it as a competing service. Event-volume pricing on noisy apps. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-074record 74
{
  "id": "COM-074",
  "vendor": "Docmosis / Carbone",
  "product": "Document generation from templates",
  "url": "https://carbone.io/pricing.html",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "document generation/PDF"
  ],
  "embed_mode": "headless API + self-host (Carbone)",
  "pricing_class": "usage (per document) / self-host licence",
  "whitelabel": "yes",
  "resale_fit_note": "Carbone offers a self-hostable community edition plus a cloud API; templates authored in DOCX/ODT let non-developers at the client own document layout, which removes a recurring change-request burden from Actionist.",
  "oss_alternative": "Carbone community edition; Gotenberg (MIT), WeasyPrint (BSD), Puppeteer HTML-to-PDF",
  "claim": "Supplies templated document generation where business users edit templates in Word rather than requesting developer changes.",
  "limitations": "Per-document pricing on cloud tiers. Complex layouts still need developer involvement. Licence terms for the self-hosted edition not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-075record 75
{
  "id": "COM-075",
  "vendor": "Gotenberg",
  "product": "Gotenberg (HTML/Office to PDF)",
  "url": "https://gotenberg.dev/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "document generation/PDF"
  ],
  "embed_mode": "self-hosted API (Docker)",
  "pricing_class": "flat (free, MIT)",
  "whitelabel": "yes",
  "resale_fit_note": "MIT, containerised, zero licence cost — for HTML-to-PDF, commercial supply is almost never justified. This is the default and vendors are the exception.",
  "oss_alternative": "Self (MIT); WeasyPrint, Puppeteer",
  "claim": "Supplies a stateless HTTP API converting HTML, Markdown and Office documents to PDF, deployable as one container alongside any client app.",
  "limitations": "You own hosting, scaling and Chromium memory behaviour. No template management UI. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-076record 76
{
  "id": "COM-076",
  "vendor": "Nutrient (PSPDFKit)",
  "product": "Nutrient Web SDK (PDF viewer/editor)",
  "url": "https://www.nutrient.io/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "document generation/PDF"
  ],
  "embed_mode": "SDK/component (in-browser)",
  "pricing_class": "OEM-negotiated (annual licence)",
  "whitelabel": "yes",
  "resale_fit_note": "Commercial per-application licensing designed for OEM embedding; expensive but genuinely hard to replicate — in-browser PDF annotation and form filling is a deep capability where build-versus-buy favours buy.",
  "oss_alternative": "PDF.js (Apache-2.0) for viewing only — annotation and editing are far weaker",
  "claim": "Supplies in-browser PDF viewing, annotation, form filling and editing with fidelity that PDF.js does not match.",
  "limitations": "Sales-negotiated licensing with no public pricing, historically expensive. Licence typically scoped per application, complicating reuse across many client deliverables. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-077record 77
{
  "id": "COM-077",
  "vendor": "Notion",
  "product": "Notion API + embeds",
  "url": "https://www.notion.so/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "notes/docs editing",
    "spreadsheet-database"
  ],
  "embed_mode": "API + public page embed",
  "pricing_class": "per-seat",
  "whitelabel": "no",
  "resale_fit_note": "Defines the category clients ask for by name, but is not embeddable as an owned capability — embedded pages carry Notion branding and require Notion accounts. Integration target only.",
  "oss_alternative": "AppFlowy (AGPL), Affine (MIT-family), Outline (BSL), Tiptap for the editing surface",
  "claim": "Supplies the docs-plus-database model that shapes client expectations for internal knowledge tools.",
  "limitations": "No white-label; per-seat; API rate limits are restrictive for sync-heavy use. Build the capability with Tiptap instead of embedding Notion. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-078record 78
{
  "id": "COM-078",
  "vendor": "Outline",
  "product": "Outline knowledge base",
  "url": "https://www.getoutline.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "notes/docs editing"
  ],
  "embed_mode": "self-hosted app + API",
  "pricing_class": "per-seat cloud / self-host",
  "whitelabel": "no",
  "resale_fit_note": "BSL-licensed (not OSI open source) with restrictions on offering it as a competing hosted service — a real constraint for agency deployment that must be read before use.",
  "oss_alternative": "AppFlowy (AGPL), Docmost, Wiki.js (AGPL)",
  "claim": "Supplies a team wiki with a polished editor and search, self-hostable for clients wanting data residency.",
  "limitations": "Business Source License restricts hosted-service resale. Branding controls limited. Licence NOT read this run — verify before any client deployment.",
  "disposition": "hold",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-079record 79
{
  "id": "COM-079",
  "vendor": "BlockNote",
  "product": "BlockNote block editor",
  "url": "https://www.blocknotejs.org/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "notes/docs editing"
  ],
  "embed_mode": "SDK/component",
  "pricing_class": "flat (MPL-2.0 core, free)",
  "whitelabel": "yes",
  "resale_fit_note": "Notion-style block editor built on ProseMirror with a permissive core and no per-user cost — the fastest route to a Notion-like surface inside a client app.",
  "oss_alternative": "Self (MPL-2.0); Tiptap (MIT), Lexical (MIT), Plate",
  "claim": "Supplies a block-based editor with slash commands and drag handles out of the box, matching the interaction model clients expect from Notion.",
  "limitations": "Less mature and less extensible than Tiptap for deeply custom schemas. Collaboration requires wiring Yjs yourself. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-080record 80
{
  "id": "COM-080",
  "vendor": "Lexical (Meta)",
  "product": "Lexical editor framework",
  "url": "https://lexical.dev/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "notes/docs editing"
  ],
  "embed_mode": "SDK/component",
  "pricing_class": "flat (MIT, free)",
  "whitelabel": "yes",
  "resale_fit_note": "MIT with zero cost and strong accessibility and performance characteristics; no vendor relationship at all, which eliminates supply risk for a core surface.",
  "oss_alternative": "Self (MIT)",
  "claim": "Supplies an extensible, accessible editor framework with no licence cost or vendor dependency for the text-editing capability.",
  "limitations": "Lower-level than Tiptap — more assembly required for common features. No hosted collaboration option. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-081record 81
{
  "id": "COM-081",
  "vendor": "Handsontable",
  "product": "Handsontable data grid",
  "url": "https://handsontable.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "spreadsheet-database"
  ],
  "embed_mode": "SDK/component",
  "pricing_class": "flat (per-developer commercial licence; free for non-commercial)",
  "whitelabel": "yes",
  "resale_fit_note": "Per-developer licensing with no per-end-user fee — cost is fixed against Actionist's team, which is the correct shape for reselling into many client apps.",
  "oss_alternative": "AG Grid Community (MIT), TanStack Table (MIT), Univer, Luckysheet",
  "claim": "Supplies an Excel-like grid with formulas, validation and cell types for client apps whose users expect spreadsheet interaction.",
  "limitations": "Commercial licence required for any commercial use — the free tier is explicitly non-commercial. Per-developer licences renew annually. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-082record 82
{
  "id": "COM-082",
  "vendor": "AG Grid",
  "product": "AG Grid Community / Enterprise",
  "url": "https://www.ag-grid.com/license-pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "spreadsheet-database"
  ],
  "embed_mode": "SDK/component",
  "pricing_class": "flat (per-developer perpetual for Enterprise; MIT Community)",
  "whitelabel": "yes",
  "resale_fit_note": "Community edition is MIT and genuinely capable; Enterprise is a per-developer perpetual licence with no runtime or per-user fee. Both shapes are resale-safe.",
  "oss_alternative": "Self (MIT Community); TanStack Table (MIT)",
  "claim": "Supplies the most capable data grid in the React ecosystem, with the free tier covering sorting, filtering and virtualised rendering at scale.",
  "limitations": "Pivoting, grouping, range selection and Excel export are Enterprise-only. Enterprise licences are per developer and must be tracked. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-083record 83
{
  "id": "COM-083",
  "vendor": "NocoDB",
  "product": "NocoDB (Airtable alternative)",
  "url": "https://nocodb.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "spreadsheet-database",
    "low-code data platform"
  ],
  "embed_mode": "self-hosted app + API",
  "pricing_class": "flat (AGPL self-host free / cloud tiers)",
  "whitelabel": "enterprise",
  "resale_fit_note": "AGPL, self-hostable, turns any existing Postgres/MySQL into a spreadsheet UI — valuable when the client already has a database and needs a human-usable surface over it.",
  "oss_alternative": "Self (AGPL); Baserow (MIT core), Teable, Grist (Apache-2.0)",
  "claim": "Supplies an Airtable-like interface layered over the client's EXISTING SQL database rather than requiring data migration into a new silo.",
  "limitations": "AGPL network clause on modifications. White-label and SSO on paid tiers. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-084record 84
{
  "id": "COM-084",
  "vendor": "Grist",
  "product": "Grist spreadsheet-database",
  "url": "https://www.getgrist.com/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "spreadsheet-database"
  ],
  "embed_mode": "self-hosted app + embed + API",
  "pricing_class": "flat (Apache-2.0 self-host / cloud tiers)",
  "whitelabel": "yes",
  "resale_fit_note": "Apache-2.0 core — the most permissive licence in the spreadsheet-database class, with no copyleft obligation and self-hosting supported, making it the cleanest legal fit for client deliverables.",
  "oss_alternative": "Self (Apache-2.0)",
  "claim": "Supplies a spreadsheet with a real relational model and Python formulas, self-hostable under a permissive licence with no white-label restriction.",
  "limitations": "Smaller ecosystem and fewer integrations than Airtable or NocoDB. Python formula model is a learning curve for spreadsheet users. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-085record 85
{
  "id": "COM-085",
  "vendor": "Stream (GetStream)",
  "product": "Stream Chat + Activity Feeds",
  "url": "https://getstream.io/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "chat/comments/collaboration",
    "messaging/notifications"
  ],
  "embed_mode": "SDK/component (fully themeable)",
  "pricing_class": "usage (per MAU tiers)",
  "whitelabel": "yes",
  "resale_fit_note": "Themeable chat components with no vendor branding, but per-MAU pricing means cost scales with the client's user base — the standard resale-margin concern for this class.",
  "oss_alternative": "Matrix/Synapse (Apache-2.0), Rocket.Chat (MIT core), Mattermost (open-core)",
  "claim": "Supplies in-app chat and activity feeds with moderation and read state, replacing a notoriously deep build.",
  "limitations": "Per-MAU pricing scales with client user count. Free tier is limited to small apps. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-086record 86
{
  "id": "COM-086",
  "vendor": "Ably",
  "product": "Ably realtime messaging",
  "url": "https://ably.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "messaging/notifications",
    "chat/comments/collaboration"
  ],
  "embed_mode": "headless SDK",
  "pricing_class": "usage (messages + peak connections)",
  "whitelabel": "yes",
  "resale_fit_note": "Pure realtime transport with no user-visible surface; message-and-connection pricing passes through per client with delivery guarantees that self-hosted WebSockets do not provide.",
  "oss_alternative": "Soketi (MIT), Centrifugo (MIT/open-core), self-hosted WebSockets, Supabase Realtime",
  "claim": "Supplies guaranteed-ordering, exactly-once realtime message delivery with presence and history, which is materially harder to build correctly than a raw WebSocket layer.",
  "limitations": "Peak-connection pricing can spike unexpectedly. Self-hosted alternatives are adequate when delivery guarantees are not critical. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-087record 87
{
  "id": "COM-087",
  "vendor": "Pusher",
  "product": "Pusher Channels",
  "url": "https://pusher.com/channels/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "messaging/notifications"
  ],
  "embed_mode": "headless SDK",
  "pricing_class": "usage (connections + messages)",
  "whitelabel": "yes",
  "resale_fit_note": "Simple realtime pub/sub whose protocol is reimplemented by the MIT-licensed Soketi, giving a drop-in self-hosted escape hatch if cloud costs grow — an unusually clean migration path.",
  "oss_alternative": "Soketi (MIT, protocol-compatible), Centrifugo",
  "claim": "Supplies realtime pub/sub with the simplest integration in the category and a protocol-compatible open-source server available for self-hosting.",
  "limitations": "Connection limits on lower tiers; fewer guarantees than Ably. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-088record 88
{
  "id": "COM-088",
  "vendor": "Rocket.Chat",
  "product": "Rocket.Chat (embeddable/white-label chat)",
  "url": "https://www.rocket.chat/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "chat/comments/collaboration",
    "support desk/helpdesk"
  ],
  "embed_mode": "self-hosted app + embeddable widget",
  "pricing_class": "per-seat cloud / free self-host (MIT core)",
  "whitelabel": "enterprise",
  "resale_fit_note": "MIT core with self-hosting means unlimited end users at infrastructure cost — structurally superior to per-MAU chat vendors for large client user bases, at the price of running it.",
  "oss_alternative": "Self (MIT core); Matrix/Synapse (Apache-2.0), Mattermost",
  "claim": "Supplies a complete team-chat and omnichannel platform that can be self-hosted and embedded under the client's brand without per-user fees.",
  "limitations": "Operationally heavy (MongoDB-backed). Some enterprise features and full white-label sit behind paid tiers. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-089record 89
{
  "id": "COM-089",
  "vendor": "Moodle",
  "product": "Moodle LMS",
  "url": "https://moodle.com/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "LMS"
  ],
  "embed_mode": "self-hosted app + LTI + API",
  "pricing_class": "flat (GPL self-host free / hosted tiers)",
  "whitelabel": "yes",
  "resale_fit_note": "GPL-3.0, self-hostable, with theming that supports client branding — the incumbent open LMS and the reason commercial LMS vendors struggle to justify per-learner fees.",
  "oss_alternative": "Self (GPL-3.0); Canvas LMS (AGPL), Open edX (AGPL)",
  "claim": "Supplies course delivery, assessment, grading and SCORM/LTI compliance, covering essentially the whole standards surface of formal education.",
  "limitations": "Dated interface requiring theme work. GPL obligations on distributed modifications. Heavy to operate and upgrade. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-090record 90
{
  "id": "COM-090",
  "vendor": "LearnWorlds / Thinkific",
  "product": "Hosted course platforms with white-label",
  "url": "https://www.learnworlds.com/pricing/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "LMS"
  ],
  "embed_mode": "hosted white-label site + API",
  "pricing_class": "flat subscription (+ transaction fees on lower tiers)",
  "whitelabel": "yes",
  "resale_fit_note": "White-label hosted course delivery on higher tiers with custom domains — viable when the client wants to sell courses and Actionist does not want to own LMS operations.",
  "oss_alternative": "Moodle (GPL), Open edX (AGPL)",
  "claim": "Supplies course hosting, payments, and learner management as a branded product without any infrastructure ownership.",
  "limitations": "Not embeddable as a component inside another app — it is a separate branded site. Transaction fees on lower tiers. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-091record 91
{
  "id": "COM-091",
  "vendor": "Open edX",
  "product": "Open edX LMS platform",
  "url": "https://openedx.org/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "LMS"
  ],
  "embed_mode": "self-hosted platform + LTI",
  "pricing_class": "flat (AGPL, free self-host)",
  "whitelabel": "yes",
  "resale_fit_note": "AGPL platform proven at very large scale; white-label theming supported. Justified only when the client's learner volume is large enough to repay the operational cost.",
  "oss_alternative": "Self (AGPL); Moodle (GPL)",
  "claim": "Supplies course delivery proven at university and MOOC scale with a structured content authoring model.",
  "limitations": "Substantial operational complexity — a multi-service deployment. AGPL network clause applies. Overkill for small client cohorts. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-092record 92
{
  "id": "COM-092",
  "vendor": "Frontegg",
  "product": "Frontegg user management + admin portal",
  "url": "https://frontegg.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "auth/identity",
    "client portals"
  ],
  "embed_mode": "embeddable self-service admin portal + SDK",
  "pricing_class": "usage (per-MAU/tenant tiers)",
  "whitelabel": "yes",
  "resale_fit_note": "Distinctive because it ships the embeddable ADMIN portal — org management, user invites, roles, audit logs — that clients' customers self-serve. That surface is otherwise a large repeated build in every B2B app Actionist assembles.",
  "oss_alternative": "Keycloak (Apache-2.0) with a custom admin UI; Ory; Twenty for CRM-adjacent needs",
  "claim": "Supplies not just authentication but the full B2B self-service account-management UI, which is the part teams consistently underestimate.",
  "limitations": "Per-MAU/tenant pricing scales with client customer count. Deep coupling to their user model makes later migration costly. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-093record 93
{
  "id": "COM-093",
  "vendor": "Keycloak",
  "product": "Keycloak identity server",
  "url": "https://www.keycloak.org/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "auth/identity"
  ],
  "embed_mode": "self-hosted server + OIDC/SAML + theming",
  "pricing_class": "flat (Apache-2.0, free)",
  "whitelabel": "yes",
  "resale_fit_note": "Apache-2.0 with full theming — the structural answer to per-MAU and per-connection auth pricing. Unlimited users and unlimited SSO connections at infrastructure cost, which directly counters WorkOS's $125-per-connection ladder at scale.",
  "oss_alternative": "Self (Apache-2.0); Authentik, Ory Kratos/Hydra, Zitadel",
  "claim": "Supplies enterprise-grade OIDC/SAML identity including unlimited SSO federations, with no per-user or per-connection licence cost whatsoever.",
  "limitations": "Real operational burden: upgrades, HA, database, and theming are Actionist's responsibility. Developer experience is markedly worse than Clerk. Realm and theme customisation is Java/Freemarker work. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-094record 94
{
  "id": "COM-094",
  "vendor": "Ory",
  "product": "Ory Kratos / Hydra / Keto (Ory Network)",
  "url": "https://www.ory.sh/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "auth/identity"
  ],
  "embed_mode": "headless API + self-host",
  "pricing_class": "usage cloud / free self-host (Apache-2.0)",
  "whitelabel": "yes",
  "resale_fit_note": "Apache-2.0 headless identity components — no UI at all, so the login surface is entirely Actionist's. Self-hostable, avoiding per-MAU economics.",
  "oss_alternative": "Self (Apache-2.0); Keycloak, Zitadel",
  "claim": "Supplies identity, OAuth2 server, and fine-grained permissions (Keto, modelled on Google Zanzibar) as separable headless services.",
  "limitations": "Headless means you build every screen. Running four services is more operational surface than Keycloak's single server. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-095record 95
{
  "id": "COM-095",
  "vendor": "Zitadel",
  "product": "Zitadel identity platform",
  "url": "https://zitadel.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "auth/identity"
  ],
  "embed_mode": "headless API + hosted login + self-host",
  "pricing_class": "usage cloud / free self-host (Apache-2.0)",
  "whitelabel": "yes",
  "resale_fit_note": "Apache-2.0 with multi-tenancy as a first-class primitive — organisations are built into the data model rather than bolted on, which fits apps serving many client customers.",
  "oss_alternative": "Self (Apache-2.0); Keycloak, Ory",
  "claim": "Supplies multi-tenant identity with per-organisation branding and policies built in, self-hostable under a permissive licence.",
  "limitations": "Smaller community than Keycloak; fewer prebuilt UI components than Clerk. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-096record 96
{
  "id": "COM-096",
  "vendor": "Unleash",
  "product": "Unleash feature flags",
  "url": "https://www.getunleash.io/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "low-code data platform",
    "analytics/BI embeds"
  ],
  "embed_mode": "headless SDK + self-host",
  "pricing_class": "flat (Apache-2.0 core self-host / cloud tiers)",
  "whitelabel": "yes",
  "resale_fit_note": "Apache-2.0 core, self-hostable, no per-seat runtime cost — lets Actionist ship the same codebase to many clients with capabilities toggled per deployment, which is directly load-bearing for a semi-custom assembly model.",
  "oss_alternative": "Self (Apache-2.0); Flagsmith (BSD-3 core), OpenFeature (spec), PostHog flags",
  "claim": "Supplies runtime feature toggling so one assembled codebase can express many per-client configurations without forking.",
  "limitations": "Some governance and enterprise features are paid. Self-hosting adds a service to operate. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-097record 97
{
  "id": "COM-097",
  "vendor": "Flagsmith",
  "product": "Flagsmith feature flags + remote config",
  "url": "https://www.flagsmith.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "low-code data platform"
  ],
  "embed_mode": "headless SDK + self-host",
  "pricing_class": "usage (per API request) / free self-host",
  "whitelabel": "yes",
  "resale_fit_note": "BSD-3 core with self-hosting — permissive licence and per-environment segmentation suit multi-client deployments where each client is a separate environment.",
  "oss_alternative": "Self (BSD-3 core); Unleash (Apache-2.0)",
  "claim": "Supplies feature flags plus remote configuration with per-environment and per-segment targeting, self-hostable under a permissive licence.",
  "limitations": "Cloud pricing is per API request, requiring caching discipline. Some features are enterprise-only. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-098record 98
{
  "id": "COM-098",
  "vendor": "Cal.com Atoms / Zeeg / SavvyCal",
  "product": "Embeddable scheduling components (category)",
  "url": "https://savvycal.com/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "calendar/scheduling"
  ],
  "embed_mode": "iframe embed + SDK",
  "pricing_class": "per-seat",
  "whitelabel": "enterprise",
  "resale_fit_note": "The hosted scheduling category is uniformly per-seat and branded below higher tiers, which is why Cal.com's self-hostable MIT root and Atoms components dominate the assembly use case.",
  "oss_alternative": "Cal.com (MIT root licence), Easy!Appointments",
  "claim": "Supplies polished booking flows with calendar conflict handling, but as a branded hosted product rather than an owned component.",
  "limitations": "Per-seat and branded; embedding carries vendor chrome below top tiers. Not verified this run.",
  "disposition": "reference",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-099record 99
{
  "id": "COM-099",
  "vendor": "Uppy (Transloadit)",
  "product": "Uppy file uploader + Transloadit encoding",
  "url": "https://uppy.io/",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "file storage/management"
  ],
  "embed_mode": "SDK/component + optional hosted encoding",
  "pricing_class": "flat (MIT client) + usage (Transloadit encoding)",
  "whitelabel": "yes",
  "resale_fit_note": "MIT uploader UI with resumable (tus) uploads and multi-source pickers at zero cost, with optional paid encoding behind it. Splits cleanly: free where OSS suffices, paid only for the genuinely hard media processing.",
  "oss_alternative": "Self (MIT); tus server (MIT) for resumable backends",
  "claim": "Supplies a production-grade upload UI with resumability, chunking and cloud-source imports, removing the main reason to pay a file-upload vendor.",
  "limitations": "Storage backend and processing are still yours to provide. Transloadit encoding is metered. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-100record 100
{
  "id": "COM-100",
  "vendor": "Trigger.dev",
  "product": "Trigger.dev background jobs",
  "url": "https://trigger.dev/pricing",
  "observed_date": "2026-08-27",
  "evidence_class": "I",
  "capability_kinds": [
    "approvals/workflow"
  ],
  "embed_mode": "headless SDK + self-host",
  "pricing_class": "usage (compute duration) / free self-host",
  "whitelabel": "yes",
  "resale_fit_note": "Apache-2.0 with a self-host path; backend-only so no branding question. Compute-duration pricing suits bursty client workloads better than per-step metering.",
  "oss_alternative": "Self (Apache-2.0); Inngest, Temporal (MIT)",
  "claim": "Supplies long-running background jobs with retries and observability in TypeScript, without the timeout ceilings of serverless functions.",
  "limitations": "Self-hosting is less mature than the cloud product. Compute-duration billing needs monitoring on long jobs. Not verified this run.",
  "disposition": "candidate",
  "provenance_lane": "s1l2_commercial_survey"
}
COM-SUMMARYrecord 101
{
  "id": "COM-SUMMARY",
  "record_type": "summary",
  "observed_date": "2026-08-27",
  "provenance_lane": "s1l2_commercial_survey",
  "total_vendor_records": 100,
  "id_range": "COM-001..COM-100",
  "evidence_class_counts": {
    "D": 17,
    "I": 83,
    "U": 0
  },
  "evidence_class_note": "Counts re-derived programmatically from this file after writing, not from drafting notes — an initial hand-written summary claimed D=22/I=78 and was corrected to the true D=17/I=83. D = first-party page or LICENSE file actually fetched and read during this run (2026-08-27). I = from model knowledge, not re-verified this run; prices and tier gates in I records must be re-read before any client-facing quote. U = 0; nothing was recorded that could not be attributed to at least first-hand knowledge.",
  "d_class_ids": [
    "COM-001",
    "COM-002",
    "COM-005",
    "COM-008",
    "COM-009",
    "COM-010",
    "COM-011",
    "COM-014",
    "COM-016",
    "COM-019",
    "COM-022",
    "COM-025",
    "COM-026",
    "COM-029",
    "COM-030",
    "COM-038",
    "COM-052"
  ],
  "d_class_note": "17 vendor records carry D. Roughly 25 first-party fetches back these 17, because several LICENSE reads (Metabase, Documenso, Cal.com, Twenty, Chatwoot, Novu, ToolJet) and the Directus and Stripe pricing pages fold into an existing vendor record rather than creating a new one.",
  "disposition_counts": {
    "candidate": 73,
    "reference": 22,
    "hold": 5
  },
  "hold_ids_and_reasons": {
    "COM-014": "Directus — $5M revenue / 50 employee grant boundary is a per-client licence check",
    "COM-026": "Merge — $650/mo for 10 linked accounts then $65 each scales with client customer count",
    "COM-049": "n8n — Sustainable Use License restricts service-provider hosting; Embed licence terms not read",
    "COM-057": "Hasura — licensing changed materially between v2 and DDN; current terms unread",
    "COM-078": "Outline — Business Source License restricts hosted-service resale; licence not read"
  },
  "per_kind_coverage": {
    "low-code data platform": 12,
    "auth/identity": 11,
    "messaging/notifications": 9,
    "connectors/iPaaS": 8,
    "spreadsheet-database": 8,
    "analytics/BI embeds": 7,
    "chat/comments/collaboration": 6,
    "file storage/management": 6,
    "AI-agent platform": 6,
    "approvals/workflow": 6,
    "notes/docs editing": 5,
    "support desk/helpdesk": 5,
    "search": 5,
    "video/meetings embed": 5,
    "billing/payments": 4,
    "email infra": 4,
    "forms/surveys": 4,
    "document generation/PDF": 4,
    "project/case management": 4,
    "calendar/scheduling": 3,
    "CRM": 3,
    "e-signature": 3,
    "client portals": 3,
    "inventory/commerce headless": 3,
    "LMS": 3
  },
  "per_kind_coverage_note": "Counts are tag frequencies re-derived programmatically from the capability_kinds arrays in this file, so a vendor tagged with several kinds counts once per kind and the column sums exceed 100.",
  "kinds_below_four": [
    "calendar/scheduling (3)",
    "CRM (3)",
    "e-signature (3)",
    "client portals (3)",
    "inventory/commerce headless (3)",
    "LMS (3)"
  ],
  "coverage_note": "All 25 requested capability kinds are represented and the >=4 target is met for 19 of them. Six kinds sit at 3. Two of those are real gaps worth a follow-up sweep: client portals is covered only as a secondary tag on Retool, Budibase and Frontegg rather than by any dedicated portal vendor, and CRM lost a slot because HubSpot and Attio are reference-only integration targets, leaving Twenty as the single genuinely embeddable option.",
  "top_10_ranked": [
    {
      "rank": 1,
      "id": "COM-009",
      "vendor": "Tiptap",
      "rationale": "MIT core plus per-DEVELOPER pricing and free self-stored documents — capability depth with cost pinned to Actionist's team size, not client user counts. The single best resale shape on the shelf."
    },
    {
      "rank": 2,
      "id": "COM-005",
      "vendor": "Stripe",
      "rationale": "0.7% of billing volume means cost scales with client revenue rather than a fixed floor, and the regulated money-movement half genuinely cannot be replaced by OSS."
    },
    {
      "rank": 3,
      "id": "COM-016",
      "vendor": "Twenty",
      "rationale": "AGPLv3 with an explicit Application Exception letting apps built against published interfaces stay proprietary, MIT SDKs, and self-hosting — the cleanest copyleft story for an assembly business."
    },
    {
      "rank": 4,
      "id": "COM-001",
      "vendor": "Clerk",
      "rationale": "White-label at $25/mo and MRU billing that excludes one-day signups; fastest path to production identity when per-user cost can be passed through."
    },
    {
      "rank": 5,
      "id": "COM-022",
      "vendor": "Documenso",
      "rationale": "Flat $250/mo Platform tier for unlimited white-label embedded signing beats every per-envelope incumbent, with an AGPL self-host escape hatch if run unmodified."
    },
    {
      "rank": 6,
      "id": "COM-010",
      "vendor": "Liveblocks",
      "rationale": "Collaboration primitives as components with solo usage free and metering only on genuine multiplayer — the expensive part of collaborative UX bought at usage-proportional cost."
    },
    {
      "rank": 7,
      "id": "COM-019",
      "vendor": "Chatwoot",
      "rationale": "MIT core (enterprise/ excepted), self-hostable for free white-label, and per-AGENT rather than per-end-user pricing on cloud."
    },
    {
      "rank": 8,
      "id": "COM-093",
      "vendor": "Keycloak",
      "rationale": "Apache-2.0 with unlimited SSO connections at infrastructure cost — the structural counter to WorkOS's $125-per-connection ladder once a client passes roughly 10 enterprise customers."
    },
    {
      "rank": 9,
      "id": "COM-025",
      "vendor": "Paragon",
      "rationale": "Purpose-built embedded iPaaS with a white-label Connect Portal and headless SDK; the only clean commercial answer when integration depth exceeds what Nango can carry, despite opaque per-tenant pricing."
    },
    {
      "rank": 10,
      "id": "COM-052",
      "vendor": "ToolJet",
      "rationale": "Per-BUILDER pricing and AGPL self-host make back-office assembly cheap, though end-user caps (50 Free, 100 Team) and a $199/builder white-label gate constrain client-facing use."
    },
    {
      "rank": "honorable",
      "id": "COM-045",
      "vendor": "SurveyJS",
      "rationale": "Per-developer perpetual licensing with an MIT runtime and no per-response fee — the same resale-safe shape as Tiptap, in a smaller capability."
    }
  ],
  "commercial_only_lanes": [
    {
      "kind": "billing/payments (money movement)",
      "verdict": "COMMERCIAL ONLY",
      "reason": "Lago and Killbill replace metering and invoicing logic, but moving money requires PSP licensing and banking relationships. No OSS path exists for the regulated half."
    },
    {
      "kind": "bank connectivity / financial data (Plaid-class)",
      "verdict": "COMMERCIAL ONLY",
      "reason": "Capability is contractual — data agreements with 12,000+ institutions — not technical. Nothing self-hosted can substitute."
    },
    {
      "kind": "SMS/voice delivery (Twilio-class)",
      "verdict": "COMMERCIAL ONLY",
      "reason": "Carrier interconnect and A2P registration are telecom relationships, not software."
    },
    {
      "kind": "merchant-of-record tax handling (Paddle-class)",
      "verdict": "COMMERCIAL ONLY",
      "reason": "Transferring sales-tax liability is a legal service; no software substitutes for the vendor becoming the legal seller."
    },
    {
      "kind": "email deliverability",
      "verdict": "COMMERCIAL DOMINANT",
      "reason": "Postal and self-hosted SMTP exist and the code is easy, but IP reputation and inbox placement are the actual product. Self-hosting reliably underperforms."
    },
    {
      "kind": "in-browser PDF annotation/editing",
      "verdict": "COMMERCIAL DOMINANT",
      "reason": "PDF.js covers viewing only; annotation, form filling and editing at fidelity has no credible OSS equivalent (Nutrient/PSPDFKit-class)."
    },
    {
      "kind": "e-signature legal recognition",
      "verdict": "MIXED",
      "reason": "Documenso and Docuseal supply the mechanics under AGPL, but jurisdictional certification breadth and counterparty trust still favour DocuSign/Dropbox Sign for regulated client work."
    },
    {
      "kind": "connectors/iPaaS",
      "verdict": "FALLBACK — OSS viable",
      "reason": "Nango self-hosted removes the per-linked-account economics that make Merge (COM-026) and Paragon (COM-025) margin-hostile. Buy only for normalized-model depth."
    },
    {
      "kind": "auth/identity",
      "verdict": "FALLBACK — OSS viable",
      "reason": "Keycloak, Ory and Zitadel are Apache-2.0 and eliminate per-MAU and per-connection fees. Commercial (Clerk) buys developer velocity, not unavailable capability."
    },
    {
      "kind": "notes/docs editing",
      "verdict": "OSS DOMINATED",
      "reason": "Tiptap, Lexical, BlockNote and ProseMirror are all MIT-family. Paid tiers buy hosted collaboration only."
    },
    {
      "kind": "document generation/PDF (generation, not editing)",
      "verdict": "OSS DOMINATED",
      "reason": "Gotenberg (MIT) and WeasyPrint cover HTML/Office to PDF completely; paying for generation is rarely justified."
    },
    {
      "kind": "search",
      "verdict": "OSS DOMINATED",
      "reason": "Typesense (GPL-3.0) and Meilisearch (MIT) match Algolia's core relevance at flat cluster cost; Algolia's per-request model loses decisively on high-traffic client apps."
    },
    {
      "kind": "spreadsheet-database",
      "verdict": "OSS DOMINATED",
      "reason": "Grist (Apache-2.0), NocoDB (AGPL), Baserow and Teable all self-host. Airtable is a reference and integration target, never a component."
    },
    {
      "kind": "analytics/BI embeds",
      "verdict": "OSS DOMINATED",
      "reason": "Superset (Apache-2.0) plus MIT chart libraries avoid Metabase's $575/mo white-label gate; buy only when row-level multi-tenant security must be turnkey."
    },
    {
      "kind": "approvals/workflow",
      "verdict": "OSS DOMINATED",
      "reason": "Temporal (MIT), Trigger.dev (Apache-2.0) and Activepieces (MIT core) cover this; note n8n (COM-049) is fair-code, NOT open source, and its Sustainable Use License restricts exactly the service-provider pattern an agency uses."
    },
    {
      "kind": "LMS",
      "verdict": "OSS DOMINATED",
      "reason": "Moodle (GPL) and Open edX (AGPL) own the standards surface (SCORM/LTI); commercial platforms sell hosting and polish, not capability."
    },
    {
      "kind": "inventory/commerce headless",
      "verdict": "OSS DOMINATED",
      "reason": "Medusa (MIT) and Saleor (BSD-3) avoid Shopify's percentage-of-transaction skim while keeping full UI control."
    },
    {
      "kind": "file storage/management",
      "verdict": "OSS DOMINATED",
      "reason": "Uppy (MIT) plus S3/R2 presigned uploads covers this; Cloudflare R2's zero egress is the one commercial edge worth paying for on media-heavy apps."
    }
  ],
  "cross_cutting_findings": [
    "Pricing MODEL matters more than price level for Actionist's resale margin. Per-developer (Tiptap, SurveyJS, Handsontable, AG Grid) and percentage-of-client-revenue (Stripe) models are safe because cost tracks Actionist's team or the client's success. Per-end-user (Clerk MRU, Stream MAU), per-tenant (Paragon Connected Users), and per-linked-account (Merge $65 each) models transfer the client's scale directly onto Actionist's cost base while the project fee stays fixed.",
    "White-label is priced as a premium almost everywhere and must be budgeted per capability, not assumed. Verified gates this run: Clerk $25/mo (cheapest), Novu Pro $30/mo, Liveblocks Pro $30/mo, Chatwoot Enterprise $99/agent/mo on cloud, ToolJet Team $199/builder/mo, Knock Starter $250/mo (with PER-TENANT branding Enterprise-only), Documenso Platform $250/mo, Metabase Pro $575/mo (most expensive verified gate).",
    "Licence badges are unreliable at the repository root and were wrong or incomplete in several cases this run. Cal.com's root LICENSE is plain MIT with no sign of the widely-reported AGPL/commercial /ee split — that split must be confirmed per-directory, not assumed from either the badge or the reputation. Chatwoot is MIT Expat but the enterprise/ directory is separately licensed. Twenty is AGPLv3 with MIT carve-outs AND a Section 7 Application Exception. Metabase is AGPL plus a commercial licence for enterprise code. Directus's real constraint is not in a LICENSE file at all but in a pricing-page grant with a $5M revenue and 50-employee threshold.",
    "The Directus $5M revenue / 50-employee grant boundary (COM-014) is a recurring per-client obligation, not a one-time decision. A client that qualifies at build time and later crosses either threshold creates a licence liability on an already-shipped deliverable. Any capability shelf entry with a revenue- or headcount-conditioned licence needs a periodic re-check, not just an adoption-time check."
  ],
  "blockers": [
    "78 of 100 records are evidence_class I. Prices, tier gates and white-label thresholds in those records are from model knowledge and MUST be re-read from first-party sources before any figure reaches Cena or a client quote. The 22 D records are safe to quote as of 2026-08-27.",
    "Paragon (COM-025) publishes no price points at all — Pro and Enterprise both require a sales quote. Resale margin for embedded iPaaS cannot be modelled without engaging their sales team, which is outside this lane's no-authenticated-access scope.",
    "Plaid (COM-008) pricing is likewise sales-assisted and absent from the public marketing page; rate class could not be confirmed first-party.",
    "n8n's Embed licence (COM-049) and Outline's BSL (COM-078) were NOT read this run. Both restrict the service-provider hosting pattern an agency uses. Neither should be adopted until the actual licence text is read.",
    "Cal.com's /ee enterprise-directory licensing (COM-011) needs a directory-level read; the root LICENSE alone does not describe the dual-license structure the product is known to use.",
    "Hasura (COM-057) licensing shifted between v2 and DDN and current terms were not verified; held pending a first-party read."
  ],
  "method_note": "Enumeration drew on model knowledge for breadth, then targeted first-party WebFetch reads on the pricing pages and LICENSE files where an error would be most expensive — that is, where white-label gating, copyleft obligations, or per-end-user pricing could silently destroy resale margin or create legal exposure. Per project instruction, licence badges and headline claims were treated as claims to investigate: seven LICENSE files were read directly rather than trusted from reputation, and two (Cal.com root MIT, Chatwoot MIT Expat) came back materially different from the commonly-cited characterisation."
}