Semaphor vs Sigma
Governed analytics for your team and your product, wherever your data lives, with caching that keeps every viewer click from hitting your warehouse.
Last verified July 2026 · Based on publicly available documentation. Spot an error? Email hello@semaphor.cloud.
Sigma is a good fit if your world is Snowflake and spreadsheets. Stretch it across the whole job and the architecture bills you twice: per-user licensing on top of warehouse compute for every interaction, with tenancy still in beta and no self-hosting. Semaphor serves internal BI and customer-facing analytics from one governed core, with generally available tenant isolation, result caching that keeps repeat viewer traffic off your warehouse, flat pricing with no per-user fees, plus a Data App SDK and briefings that go beyond dashboards.
- Your data is not all in a cloud warehouse, or you do not want every viewer click billed as warehouse compute
- You need self-hosting or full control over where analytics runs
- You want flat pricing that does not scale with user or viewer count
- You need tenant isolation that is generally available, not a gated beta
- You want dashboards version-controlled in GitHub, not through a DIY API integration
- You want agents to build and maintain governed dashboards via MCP
- A zero-storage vendor posture, where not even cached results leave your warehouse, is a hard requirement
- Business users love spreadsheets and want that exact interface over warehouse data
- You need write-back: input tables that commit user edits to the warehouse
- Your embedded viewer traffic is modest enough that warehouse compute costs stay predictable
- You are comfortable negotiating enterprise pricing through sales
At a glance
| Dimension | Semaphor | Sigma |
|---|---|---|
| Primary focus | Embedded analytics and internal BI from one governed core, any SQL source | Spreadsheet-style exploration directly on cloud data warehouses |
| Pricing model | Flat platform pricing, free tier to start, no per-user fees | Per-user licensing plus usage credits; embed licensing negotiated separately; warehouse compute additive |
| Where queries run | Live against your warehouse or operational databases, with result caching for repeat views | Live against your warehouse on every interaction, by design; nothing is stored or cached |
| Embedding | JWT-signed iframe embedding in any framework, fully white-labeled, on all paid tiers | JWT-signed embeds with a React SDK over the JS Embed API |
| Beyond dashboards | Data App SDK for building complete governed data apps; briefings deliver what changed, why, and where to look, on a schedule | Workbooks, input tables, and scheduled exports |
| Multi-tenancy | First-class tenants with their own users, roles, and groups; three isolation levels, generally available on paid tiers | User attributes and teams for RLS; separate tenant orgs (Sigma Tenants) still in gated beta |
| Version control | GitHub integration with commit, history, restore, and environment promotion | Version history and tags in-app; git integration is DIY via the REST API |
| AI and agents | Agent-native: MCP server, agents build governed dashboards verified live | Sigma Assistant for NL questions; you must configure your own LLM provider |
| Self-hosting | Docker-based self-hosting on paid tiers | Not available. SaaS-only; region fixed at organization creation |
Where the architectures differ
Sigma and Semaphor share a starting point: both connect directly to your cloud warehouse and run live, governed queries there. Sigma adds a deliberate constraint on top: it never stores anything, so every interaction, every filter change, and every viewer click is a fresh warehouse query. Paired with a spreadsheet interface that encourages constant exploration, that is a lot of queries.
Semaphor differs in two ways that matter as usage grows. Reach: governed connections cover operational databases (Postgres, MySQL, SQL Server, ClickHouse, DuckDB) as well as the cloud warehouses, so analytics is not gated on everything landing in Snowflake first. And result caching: repeated views of the same governed query serve from cache instead of re-running warehouse compute, which matters when hundreds of embedded viewers open the same dashboard every morning.
Pricing
Sigma licenses per user by account type, embed users are licensed under a separately negotiated arrangement, and buyers report usage-based credit charges for input-table updates, API calls, and exports on top. Your warehouse compute bill is additive to all of it, and in an embedded product that compute scales with viewer activity you do not control.
Semaphor uses flat platform pricing with no per-user fees, and result caching keeps repeat viewer traffic from re-running warehouse queries. Embedding, multi-tenancy, and white-labeling are included in paid tiers, and the free tier includes embedding, so you can validate the integration before paying anything.
Embedding
Sigma’s embed stack covers the essentials: server-signed JWTs, a claims reference, an embed sandbox for testing, a React SDK layered over the JS Embed API, and an embeddable assistant. Custom themes and fonts cover white-labeling.
Semaphor embeds the same way: a JWT-signed URL, fully white-labeled, in any framework. The difference shows up past the dashboard: custom visuals are your own React components published through the plugin system, the Data App SDK composes governed queries and visuals into complete data applications, agents build dashboards and data apps over MCP, and briefings deliver what changed, why, and where to look next, on a schedule.
Multi-tenancy and security
Sigma handles tenant isolation with user attributes and teams: JWT claims set attributes on auto-created embed users, and row-level security keys off those attributes. Attributes can also switch the warehouse role per team, reusing RLS you defined in the warehouse. True separated tenant organizations (Sigma Tenants: separate users, connections, and auth under one parent) exist but are a premium public beta you have to request access to.
Semaphor ships three levels of tenant isolation as generally available product: row-level filters, schema-per-tenant, and connection-per-tenant. Policies are enforced when the query is built, apply to every query path including agent-generated ones, and are available on all paid tiers.
It also ships the management model around that isolation. Organizations, tenants, and tenant users are first-class objects: each tenant carries its own users, roles, groups, sharing boundaries, and defaults, down to per-tenant fiscal calendars and number formats, and organization-level appearance controls white-label the whole surface. Tenant users build and share dashboards strictly inside their tenant, enforced server-side. That is the structure Sigma Tenants is working toward in beta; in Semaphor it is shipped product on paid tiers.
Version control
Sigma keeps unlimited workbook version history with tags for dev, staging, and production promotion. But integrating that with real source control is explicitly a do-it-yourself exercise against the REST API; there is no git integration and no as-code format for workbooks.
Semaphor connects to GitHub with a one-click App install. Commit from the dashboard toolbar, review diffs in GitHub, restore any version, and promote dashboards across environments via the API.
AI and agents
Sigma Assistant answers natural-language questions grounded in data models, and Sigma ships an MCP server, with a notable operational detail: you must bring and configure your own LLM provider (OpenAI, Azure, Gemini, Bedrock, or warehouse-hosted models).
Semaphor is agent-native end to end. The MCP server exposes the governed platform to Claude, Codex, or any agent: discover the semantic model, run governed queries, build dashboards and data apps, and verify every number against a live query. Security policies apply to agent traffic exactly as they do to humans, and briefings deliver what changed on a schedule without anyone asking.
Where Sigma still has the edge
Credit where it is due. Sigma keeps the edge in these areas:
- The spreadsheet interface. If your users think in spreadsheets, nothing else feels as familiar over live warehouse data.
- Input tables and write-back with a durable edit log written to your warehouse, still rare among BI tools.
All of that is real, and all of it assumes your data lives in a supported warehouse and your viewer traffic is someone else’s cost problem. Serve your whole team and every customer, and it becomes your cost problem, multiplied by every user you add. Semaphor turns that variable into a flat line: one governed core for internal BI and embedding alike, cached governed queries, tenancy that shipped, and an embed model your frontend team will actually enjoy.
Migrating from Sigma
Teams usually move from Sigma when embedded viewer growth makes warehouse compute unpredictable, or when data outside the warehouse needs first-class treatment.
- 1Connect Semaphor to your warehouse and any operational databases Sigma could not reach
- 2Define a Semantic Domain covering the datasets behind your embedded workbooks
- 3Rebuild key workbooks as dashboards, or have your coding agent do it via MCP
- 4Embed for a pilot tenant, compare warehouse spend, then migrate remaining tenants
Sources
- Sigma pricing page
- Sigma license and account types
- Sigma secure embedding (JWT)
- Sigma Embed SDK for React
- Sigma row-level security
- Sigma Tenants (beta)
- Sigma region, warehouse, and feature support
- Sigma version history and tags
All third-party pricing and feature claims reflect public documentation as of July 2026 and may have changed since.