Panelite
Embedded analytics — not another internal BI tool

Panelite is the analytics layer you embed inside your own product: charts, dashboards, and self-serve reports that render in your app, wear your brand, and respect every row of every customer's permissions. You own the experience. We carry the query engine, the caching, and the multi-tenant isolation underneath it.

  • First dashboard live in a day, customers in a week
  • Per-tenant row-level security on every query
  • SOC 2 Type II · p95 render under 350ms
Embed a governed dashboard with one signed token
// 1. Sign a short-lived, tenant-scoped token (server-side)
const token = await panelite.signEmbed({
  dashboard: "shipping_overview",
  tenant:    "acct_acme",
  filters:   { region: user.region }   // row-level, enforced
});

// 2. Drop the component into your app (client-side)
<PaneliteDashboard token={token} theme={ourTokens} />

// Renders inside your layout. Scoped to acct_acme. Themed as yours.

Powering the customer-facing reports inside fast-growing software products

FreightwaveCohortlyStacklaneMeridian OpsBrightmeterVeridashFreightwaveCohortlyStacklaneMeridian OpsBrightmeterVeridash
What your customers get

A whole analytics product,wearing your brand.

Building customer-facing analytics in-house means a query engine, a charting library, a caching layer, multi-tenant security, and a theming system — then owning all of it forever. Panelite is every one of those, delivered as a component your team ships this sprint.

Charts your customers can't tell aren't yours

Forty chart types — time series, funnels, cohort grids, geo maps, retention curves — that inherit your fonts, colors, spacing, and dark mode from design tokens. No recognizable third-party iframe. It renders inside your layout, so it reads as a feature you built.

Dashboards your users build themselves

Hand customers a drag-and-drop builder to create, save, and share their own views — no analyst, no support ticket, no waiting on your roadmap.

Sub-second from ten rows to ten billion

A columnar engine with smart caching and pre-aggregation keeps every dashboard instant, whether a tenant has a thousand records or a warehouse.

Row-level security, enforced at the query

Every result is scoped to a signed embed token, so a customer can only ever load their own rows. Multi-tenant isolation is the default, not a config someone can forget to set.

Reads your warehouse where it lives

Point Panelite at Postgres, Snowflake, BigQuery, or ClickHouse and model once. No reverse ETL, no second copy of your data to sync, secure, and reconcile.

Built to sit on the critical path of your product

342ms
Embed render, p95
40+
Chart types, fully themeable
99.99%
Embed API uptime
6B+
Rows queried daily across tenants
Where it shows up

One embed primitive, every surface your customers touch.

The same governed layer powers the dashboard tab, the metric on a record page, the report customers email themselves, and the data they pull through your API. Pick the surface — the security and the speed come attached.

Self-serve

A reporting tab inside your app

Give every customer a full workspace — saved dashboards, filters, drill-downs — that lives behind your login and matches the rest of your product pixel for pixel.

In-context

A metric on the page they're already on

Drop one chart beside an order, a project, or an account so the number shows up where the decision happens, instead of sending customers off to a separate reports screen.

Delivered

Scheduled reports, on your letterhead

Let customers schedule a dashboard to land in their inbox every Monday as a branded PDF or link — recurring value that arrives without anyone opening the app.

Programmatic

A data API your customers can call

Expose the same governed metrics as a clean, tenant-scoped API, so technical customers pull their numbers into their own warehouse or spreadsheet without raw database access.

For the engineers who own the embed

An SDK your teamships in an afternoon.

Customer-facing analytics sits on your product's critical path, so the integration has to be the boring kind: typed, themeable, secure by construction, and structurally incapable of leaking one tenant's data into another's view.

Two-call integration

A signed-token endpoint on your server and a React component in your app are the whole thing. Pass the dashboard, the tenant, and any filters; the chart renders inside your layout with your styles already applied.

Theme as code, once

Map your design tokens a single time and every current and future chart inherits your type, palette, radii, and dark mode — no per-chart styling, no slow drift away from your design system.

Tokens that can't over-scope

Short-lived, server-signed embed tokens carry the tenant and its row-level filters, so a client request physically cannot reach data outside its scope. Isolation lives at the query layer, never the UI.

Metrics defined in version control

Model 'active users' or 'revenue' once in a semantic layer that ships in your repo, so the number means the same thing in every chart, every export, and the API — and changes get reviewed in a pull request like the rest of your code.

The teams who shipped it

Product and engineering, on not building analytics twice.

Customer-facing dashboards were a four-quarter project nobody wanted to staff — the charting library, the caching, the multi-tenant security alone scared us off. We embedded Panelite in nine days and it renders inside our app as if we wrote it. It's now the second-most-opened screen in the whole product.

S
Sofia Marchetti
VP Product, Freightwave

Row-level security is the part I can actually sleep on. Every query is scoped to a signed token, so there's no code path where one tenant sees another's numbers. Our security review went from a six-week blocker to a one-call sign-off.

D
Devin Brooks
Staff Engineer, Stacklane

Self-serve dashboards quietly cleared our reporting backlog. Customers build the views they want instead of filing tickets, data questions to support dropped about a third, and 'great analytics' started showing up in the notes on deals we won.

P
Priya Nadkarni
Head of Customer Experience, Cohortly
Pricing

Priced on what you embed, not per seat.

No per-viewer tax for letting customers see their own data. Build the full embed free in development, then pay on the dashboards and tenants you actually serve in production.

Develop

Build and test the full embed, free.

$0/mo
  • All 40+ chart types
  • Drop-in React SDK + signed tokens
  • Up to 3 dashboards live
  • One connected data source
  • Community + email support
Most popular

Embed

For products putting analytics in front of customers.

$590/mo
  • Unlimited dashboards & chart types
  • End-user dashboard builder
  • Row-level security & multi-tenant isolation
  • Theming as code + white-label
  • Scheduled reports & data API
  • Priority support + 99.99% SLA

Enterprise

For high-tenant platforms and regulated industries.

Custom
  • Dedicated query infrastructure
  • Custom semantic layer & data sources
  • Fully white-labeled, your-domain embeds
  • Named solutions engineer
  • SSO, audit logs & data residency

What product and security teams ask before they embed us.

How long does the integration really take?

Most teams render their first live dashboard in a day and ship customer-facing analytics within one to two weeks. The integration itself is a React component plus a server endpoint that signs a token — the longer pole is usually modeling your metrics and matching your design system, not the API.

How do you stop one customer from seeing another's data?

Every dashboard loads behind a short-lived, server-signed embed token that carries the tenant and its row-level filters. The query engine scopes results to that token, so isolation is enforced at the data layer — there is no UI-only filter a determined customer could bypass. Multi-tenant security is the default, not something you wire up per dashboard.

Will it actually look like part of our product?

Yes. You map your design tokens — fonts, colors, spacing, radii, dark mode — once, and every chart and dashboard inherits them. Embeds render inside your own layout rather than a recognizable third-party iframe, so customers experience it as a native feature, not a bolt-on.

Do you copy our data into your platform?

No. Panelite queries your warehouse where it lives — Postgres, Snowflake, BigQuery, or ClickHouse — with caching and pre-aggregation for speed. There is no reverse ETL and no second copy of your data to keep in sync or secure.

Can customers build their own dashboards, or only view ours?

Both. Ship read-only dashboards you design, hand customers a drag-and-drop builder to create and save their own views, or mix the two per plan and per tenant — all inside the same permission and security model.

Is Panelite secure and compliant?

Panelite is SOC 2 Type II, with encryption in transit and at rest, scoped access on every query, and a full audit log of dashboard and data access. Enterprise plans add SSO, data residency options, and dedicated infrastructure for regulated workloads.

Stop quoting analytics as a four-quarter project.

Get API keys and render your first tenant-scoped, fully themed dashboard today — or walk through a live embed with the team before you write a line.