The platform

Nine components. Built once. Shared by every app you own.

Every internal tool needs the same 80%: login, logs, audit, deploys, an AI layer. The platform is that 80%, running in your Kubernetes, so each Generic SaaS is only the 20% that's actually yours.

LIVE · platform/architecture tracing: {{ traceLabel }}
Your Generic SaaS apps — the 20%
{{ a.name }}.gsaas
↓ one SDK · one identity · one audit log ↓
{{ g.name }}{{ g.sub }}
{{ c.name }}{{ c.code }}
Your cloud Kubernetes · any cluster · Terraform + Helm · air-gapped supported you own the data plane, the code, and the keys
Build

What makes each app smarter than the one it replaced — and ships it.

CORE-01 · BUILD

Data Model & Knowledge Graph

Every app declares its data model — entities, fields, relations — in one schema. From that you get the database, migrations, API, permissions and audit hooks. Change the model; the rest follows.

Shared entities resolve to one graph of your company — people, teams, stores, customers, policies — with a per-app view for each. Hire someone once; the scheduler, the wiki and the expense tool already know their store and their approver.

Agents write to it through a git-based memory interface: each learns in its own branch, and every change lands on main as a reviewed commit. When two agents disagree, the merge forces a decision — one source of truth per concept, with history.

  • ■Declare the model once → DB, migrations, API, permissions, audit
  • ■Compatible with Open Knowledge Format (OKF v0.2) — plain markdown any agent can read
  • ■One graph, per-app views with per-app permissions
  • ■Agents learn in branches; main is the single source of truth
  • ■Conflicts are resolved at merge, never silently overwritten
  • ■Every fact has a commit, an author and a diff — blame works on your company's memory
LIVE · graph/memory.git · okf_version 0.2{{ kgHead }}
{{ b.kind }} {{ b.name }}
{{ l.hash }} {{ l.author }} {{ l.msg }}
{{ kgConflictTitle }}Store 14 · manager
agent@shifts: J. Dupont
vs
agent@expenses: M. Chen
{{ kgConflictMsg }}
LIVE · harness/shifts.gsaaschange #{{ propNo }}
Proposed change · risk: low
Make "duplicate last week" the default when creating a schedule
Evidence: 14/14 store managers did it manually every Sunday for 6 weeks.
{{ s.name }}
{{ propMsg }}
✓Human approves every change ✓Auto-ship low-risk, if you opt in ✓Eval suite before ship ✓Staged rollout by % ✓One-click rollback ✓Never-touch list (payroll rules, PII)
CORE-02 · BUILD

Agentic Loop & Harness

The loop is what each app's agent runs: observe how people use the app, learn the patterns, propose a change, ship it. The harness is what keeps that safe: evals before anything ships, a human in the approval seat, staged rollout, instant rollback, and a list of things the agent may never touch.

Start with approve-everything. When you trust it, let low-risk changes ship on their own. The journal records which mode was on for every change.

See an agent at work →
CORE-03 · BUILD

Scale, Deploy & Versioning

Every Generic SaaS is a versioned artifact. Deploys are staged by percentage, watched by Observability, and reversible with one click. Autoscaling is per app, so the planning-poker tool doesn't pay for the shift scheduler's Monday-morning spike.

  • ■Immutable versions, signed builds
  • ■Staged rollout 1% → 10% → 100%, auto-halt on error budget
  • ■Rollback keeps the audit trail and the data migrations
  • ■Per-app horizontal scaling and scale-to-zero
LIVE · deploy/shifts.gsaas
{{ roVersion }}{{ roStage }}
1%10%{{ roPct }} of traffic
ERROR RATE0.02%
P95 LATENCY{{ roLatency }}
REPLICAS{{ roReplicas }}
{{ roMsg }}
Run

What keeps an app up, fast, and connected.

LIVE · observe/all-apps
requests / min, all Generic SaaStraces · logs · metrics in one place
{{ i.sev }} {{ i.text }} {{ i.state }}
CORE-04 · RUN

Observability & Incidents

Traces, logs and metrics are emitted by the SDK, not bolted on. Every app lands in the same dashboards. Incidents open themselves from error budgets, page the right on-call, halt any rollout in flight, and write the postmortem skeleton into the Journal.

  • ■OpenTelemetry-native, no vendor agent
  • ■SLOs per app, error budgets gate deploys
  • ■On-call schedules, escalation, status page — built in
  • ■The app's agent reads incidents too — and learns from them
CORE-05 · RUN

Functions

A shared library of business functions every Generic SaaS can call: approvals routing, notifications, pricing, working-day math, document generation. Write the approval chain once; the expense tool, the time-off tool and the purchase-order tool all use the same one.

  • ■Versioned, typed, callable from any app or agent
  • ■Change a rule in one place, every app follows
  • ■Every call is audited with its inputs
LIVE · functions/library
{{ f.name }}{{ f.sig }} {{ f.apps }} apps {{ f.calls }}
calls today{{ fnLast }}
LIVE · inference/gateway0 bytes left your network
{{ reqApp }}{{ reqModel }}
{{ reqPrompt }}
{{ reqLatency }}{{ reqTokens }}logged → audit
{{ m.name }}{{ m.where }}
open-weight models, served on your hardware in partnership with Agent Libre
CORE-06 · RUN

AI Inference Gateway

One endpoint every app and every agent talks to. Behind it, local open-weight models running on your hardware — so a prompt with your payroll data in it never leaves the building. Every call is logged to the audit trail with its inputs and outputs.

  • ■Local / open-weight models, no third-party API required
  • ■Works fully air-gapped
  • ■Prompt and response logging into Audit & Journal
  • ■Models curated and kept current in partnership with Agent Libre
Trust

What lets your security team say yes.

CORE-07 · TRUST

Identity & Access

One login for every Generic SaaS, from the identity provider you already run. Roles are defined once and shared: "store manager" means the same thing in the shift scheduler, the NPS tool and the expense app. Agents get service accounts with the same scoping as people.

  • ■SSO via SAML and OIDC
  • ■SCIM provisioning — offboard once, gone everywhere
  • ■Roles shared across all Generic SaaS
  • ■Service accounts for agents, least-privilege by default
LIVE · identity/roles
{{ a }} {{ r.name }} {{ c.mark }}
{{ s.t }}{{ s.text }}
LIVE · audit/journalappend-only · hash-chained
{{ l.hash }}{{ l.actor }}{{ l.text }}
reports: weekly access review · quarterly change log · export on demand{{ auditCount }} events today
CORE-08 · TRUST

Audit Reporting & Journal Log

Every action by every person, agent and function, in one append-only journal. Who changed the shift, which model answered the prompt, which version was live at 14:02. Reports are queries over that journal — scheduled, exported, or handed to an auditor as-is.

  • ■Same schema for all apps, agents and inference calls
  • ■Tamper-evident, retention you set
  • ■Reports as saved queries, scheduled to whoever needs them
CORE-09 · TRUST

Security & Compliance

The platform runs where your security team already has controls: your VPC, your KMS, your network policy. Secrets are rotated for every app automatically, egress is deny-by-default, and every policy check is a line in the journal. A code scanner watches every app and its dependencies continuously; when a CVE or zero-day lands, it patches, runs the evals, and ships through the normal staged rollout — usually before you've read the advisory.

  • ■Secrets management and rotation per app
  • ■Network egress deny-by-default; air-gapped mode
  • ■Encryption with your keys, at rest and in transit
  • ■Policy-as-code checks on every deploy
  • ■Continuous code & dependency scanning across every app
  • ■Auto-patch: CVE lands → patch → evals → staged rollout, journaled
  • ■Zero-day response: affected apps isolated at the gateway until patched
LIVE · security/posture
NEXT ROTATION{{ rotation }}14 apps · 61 secrets
EGRESS0 hostsdeny-by-default · air-gapped
KEYSYoursKMS / HSM you control
CODE SCANNER{{ scanApps }}apps · deps scanned on every commit
AUTO-PATCHED · 30D{{ scanPatched }}0 waiting on a human
ZERO-DAY · {{ zdCve }}{{ zdElapsed }}
{{ z.name }}
{{ zdMsg }}
{{ c.mark }}{{ c.text }}
Where it runs

Any Kubernetes. Including the one with no internet.

The platform ships as Terraform and Helm modules. Point them at a cluster, get nine components and an empty app registry. We never host your data plane.

AWS EKSTerraform module
Google GKETerraform module
Azure AKSTerraform module
On-prem k8sHelm chart
Air-gappedoffline bundle, local models
terminal · install
{{ l.p }}{{ l.t }}
vs. building your own platform

You could build this. Here's what it costs per year.

A small team with AI coding agents — Cursor, Lovable, Replit — can build an internal platform faster than ever. It still has to be staffed, patched and on-call forever. Move the sliders to your numbers.

Assumptions: AI coding tools at $200/engineer/mo; year one is build, later years are 60% of the team on maintenance and on-call. Platform priced per person per app (100 people × 6 apps here, from the pricing page); hosting is yours in both cases.
ESTIMATE · cost per year
Build in-house — year one{{ buildY1 }}
Build in-house — every year after{{ buildYn }}
generic-saas platform — every year{{ platformY }}
Saved, year one{{ savedY1 }}
Time to first stable version{{ months }}

And the {{ eng }} engineers go build the 20% that's actually your business — the apps — instead of the 80% everyone needs.

Book a demo

See the platform running in a cluster like yours.

45 minutes with an engineer on our side: a live cluster, the nine components, and one blueprint deployed so you can see what "yours" looks like.