Turn data into decisions — with AI.

Ask questions in natural language, explore your data, create charts and dashboards, and bring them back into your enterprise system — without writing SQL. Answers come with the reason (WHY) and what to do next (WHAT NEXT).

Context:

Ask your data

Try an example:
Your Question
Select a question above to start...

Semantic Layer

No Raw SQL
Extracting business intent...
Mapping to Cube Schema...
Enforcing RLS Context...
Generated JSON
// Awaiting input...

Result & Insight

Total Result
--
Context
Global

Select a question to generate an AI insight based on your secure data context.

Technical Architecture

Built on a governed semantic architecture.

LLMs do not write SQL. They generate structured queries against a governed Semantic Layer, ensuring accuracy and security.

Frontend / Client
Viewer (in your app)
Iframe • Dashboard • Chat
AI Agent
Python FastAPI
• NLP → Cube JSON
• Validate / meta
• Chart spec + WHY / WHAT NEXT
Semantic Layer
Cube API
• REST /load /meta
• queryRewrite = RLS
Data Source
SQL Server
• Read-only login
• Sales, Inventory, Finance
/api JWT mssql

AI with the same permissions as your enterprise system.

Enterprise trust requires structural security. Permissions are enforced at the data layer using Cube's queryRewrite logic combined with JWT security context—not hidden inside an AI prompt.

  • Read-only database access. The system never writes to your source tables.
  • Role, company, and branch-aware filtering applied automatically.
  • LLMs never receive your database schema or raw table rows — only business views and aggregated results; with an on-prem model, nothing leaves your infrastructure.
cube-config/cube.js Strict RLS
// Row-Level Security Enforcement
queryRewrite: (query, { securityContext }) => {
  if (!securityContext.isAdmin) {
    query.filters = query.filters || [];
    query.filters.push({
      member: 'SalesOrders.branchCode',
      operator: 'equals',
      values: [securityContext.branchCode]
    });
  }
  return query;
}
Auto close in 10s