Semantic-first AI Native Enterprise BI platform

All the capabilities you need in one governed platform

Strixa bundles semantic modeling, dashboards, document reports, JWT embedding, ETL, alerts, AI, and enterprise security into a single multi-tenant system. No patchwork required.

  • Semantic models first

    Publish dimensions, measures, joins, and RLS once. Every chart, report, alert, and AI answer resolves through the same contract.

    Explore semantic layer
  • Dashboards and document reports

    Interactive dashboards and multi-page document reports share one query engine and the same published model fields.

    Explore dashboards & reports
  • JWT embeds with RLS

    Short-lived embed tokens for published dashboards, with optional customer_id RLS and tenant origin allowlists.

    Explore embedding
  • RBAC and tenant isolation

    Tenant identity travels on the JWT. Repositories, queries, and alert evaluations enforce isolation by default.

    Explore security
  • Alerts and subscriptions

    Threshold and anomaly alerts, plus one-time or recurring PDF subscriptions, all under the same tenant and RLS rules.

    Explore alerts

Semantic layer

Define metrics once. Use everywhere.

The semantic layer is the center of Strixa. You declare dimensions, measures, joins, and row-level security once in a published model. Every downstream surface, including dashboards, reports, embeds, alerts, and the AI analyst, queries through that same model. Revenue cannot silently mean two different things on two different charts.

  • Dimensions with column bindings and friendly labels
  • Measures with SQL expressions, including multi-table blended measures
  • Relationship declarations for cross-table joins
  • Row-level security rules applied at query time per user or customer
  • Multi-source models referencing multiple datasets
  • Same-table role-playing for self-join patterns

Dashboards

Interactive dashboards with 20+ chart types

Build drag-and-drop dashboards where every widget queries a semantic model. KPI tiles, bar, line, area, pie, scatter, heatmap, treemap, funnel, radar, gauge, sunburst, and more. Widgets can be parameterized, drill-enabled, and filtered globally.

  • 20+ chart and visualization types
  • Global dashboard parameters and cross-widget filters
  • Drill-down with configurable drill chart types per level
  • Series-by-dimension for multi-series grouping
  • Publish and share with RBAC-aware links
  • Workspace-scoped access control

Document reports

Multi-page reports that read like documents

Reports are a distinct surface from dashboards. Pages render as paper-sized documents with headers, footers, data elements, images, and dividers. Each data element queries the same semantic layer. Reports can be published, exported to PDF, and scheduled for email delivery.

  • Multi-page document layout with cover, body, and appendix pages
  • Data elements backed by semantic model queries
  • Page size, orientation, margins, and style controls
  • Header and footer with dynamic date and page number tokens
  • Inline text, images, dividers, and chart elements
  • Export to PDF or schedule for recurring email delivery

JWT embedding

Secure embeds in your product or portal

Mint a short-lived JWT for any published dashboard. Embed it as an iframe in your customer portal, internal tool, or SaaS product. Add a customer_id to the token to apply row-level security automatically, so each customer sees only their slice of data without any backend changes per customer.

  • POST /embed/token with dashboard_id and optional customer_id
  • Configurable TTL for token lifetime
  • Domain allowlist per tenant to control which origins can embed
  • JS, React, and Angular wrapper packages available
  • Works only with published dashboards, not drafts
  • RLS enforced in every query the embed makes

ETL pipelines

Connect, ingest, and shape data for analytics

Strixa includes an ETL layer for connecting warehouses and SaaS sources. Configure full or incremental extractions on a schedule. CDC-oriented pipelines are available where source and deployment support it, surfacing near-real-time warehouse updates without manual exports.

  • Full extract and incremental (cursor-based) modes
  • CDC-oriented pipelines where configured (not every connector)
  • Source types: relational databases, cloud storage, files
  • Scheduled refresh with configurable intervals
  • Pipeline error alerts and retry handling
  • Per-tenant datasource isolation

Alerts and subscriptions

Know when numbers cross the line, automatically

Strixa evaluates alert rules against live metric values on schedule, on view, or on data refresh. Alerts support threshold comparisons (greater than, less than, percent change) and statistical anomaly detection using z-score and IQR rolling baselines. Subscriptions deliver scheduled PDF snapshots by email.

  • Threshold rules: absolute value, percent change, rolling comparison
  • Anomaly detection with configurable z-score and IQR sensitivity
  • Delivery channels: in-app, email, Slack, and webhook
  • Integration rules: chain multiple AND conditions across alert states
  • Encrypted webhook URLs and Slack tokens at rest
  • Recurring subscriptions: daily, weekly, monthly PDF reports by email

AI analyst

Natural language questions, governed answers

Ask the AI analyst any question in plain language and get an answer grounded in the approved semantic model. The AI generates queries from model fields only, no ad hoc SQL against raw tables, no invented aggregates. Answers cite which measure, dimension, and model produced the result.

  • Natural language to governed semantic model query
  • Answers cite model fields and version
  • Runs under the same tenant and RLS context as the user
  • No access to fields outside the published model
  • Works against any published dataset and model

Security and multi-tenancy

Tenant isolation from the schema up

Strixa was designed as a multi-tenant system from the start. Every table in the data model carries tenant_id. Every query is scoped by the authenticated JWT. Roles and permissions are enforced in the service layer, not bolted on afterward.

JWT-driven context

Tenant ID, user ID, and roles travel on the JWT only. No path parameter or request body can override the authenticated context.

RBAC roles

Admin, editor, and viewer roles scoped per workspace. Permission checks happen in the controller and service layer, not only in the UI.

Row-level security

RLS rules in the semantic model are applied to every query. For embeds, the customer_id in the token drives which rows a viewer can see without custom backend logic per customer.

Embed origin allowlist

Each tenant configures which domains may load embedded dashboards. Requests from unlisted origins are rejected at the gateway.

Encrypted secrets

Webhook URLs, Slack tokens, and signing keys are encrypted at rest. Plaintext secrets are never written to logs or API responses.

Audit trails

Alert state changes, publish events, and rule evaluations produce per-tenant audit logs. Fastify microservices use typed validation and OpenAPI schemas at every endpoint.

Ready to see the full platform?

Talk through your specific requirements with the Strixa team: sources, semantic models, dashboard design, embedding, and multi-tenant setup.