Skip to content

Your AI app builds the tool. Kivora runs it for your team.

Connect Claude Code, Cursor or Codex to your workspace. Every tool it pushes gets your team's sign-in, its own database and secrets, workflows and monitoring, already wired. Changes to your infrastructure, and risky changes to your data, wait for an Owner or Admin to approve.

A sample workspace in Kivora: the tool Campaign briefs is running, and a change Claude Code proposed waits for Linh, an Owner, to approve it.
Sample data

Campaign briefs

Running

briefs.northwind.kivora.space

Last push by Claude Code · 4 min ago

Claude Code

Connected

  • campaign-db · Postgres
  • brief-alerts · Workflow
  • SLACK_TOKEN · Secret

Claude Code Add table leads to campaign-db

Risk: Additive Awaiting approval

+create table leads (+  id uuid primary key,+  name text not null,+  email text not null,+  created_at timestamptz default now()+);
Linh · Owner
Approve Reject

Your AI app operates it. A person approves.

Works with the AI apps you already use

  • Claude Code
  • Cursor
  • VS Code
  • Codex
  • Gemini CLI
  • Claude Desktop
  • Approve in Kivora

    Changes to your infrastructure, and risky changes to your data, wait on the Changes page until an Owner or Admin approves them.

  • Approve from your AI app

    An Owner or Admin can approve from their own AI app too, once they allow it the infra:approve scope.

  • Members propose

    A Member's AI app can propose changes but never approve them. The audit names the person and the AI app.

How it works

Four steps from a request in your AI app to a tool your team signs in to.

  1. Connect your AI app

    Connect Claude Code, Cursor or Codex to your workspace.

  2. Ask for a tool

    Your AI app builds a tool and pushes it to Kivora.

  3. Approve the change

    Changes to your infrastructure, and risky changes to your data, wait for an Owner or Admin to approve.

  4. Your team signs in

    The tool is live with your team's sign-in, database, secrets, workflows and monitoring, already wired.

Sample data
Sample data

Build a form for our campaign briefs, with a table for the leads it collects.

  • Claude Code created the tool Campaign briefs
  • Claude Code pushed release 1
  • Claude Code proposed: add table leads to campaign-db
Claude Code
Sample data

Add table leads to campaign-db

Risk: Additive Applied

Audit

  1. Claude Code proposed: add table leads to campaign-db
  2. Linh, Owner approved the change
  3. The change was applied
Sample data

briefs.northwind.kivora.space

Members of Northwind Marketing only

Everything a tool needs, already wired

Nobody on your team sets up servers, databases or networks. Kivora gives every tool the same foundation, and your AI app can reach all of it.

Your team's sign-in

Only people in your workspace open a tool, signed in with their Kivora account. Nobody signs in twice.

A sandbox of its own

Each tool is built from what your AI app pushes with git and runs in its own sandbox.

A Postgres database

One per tool, with a viewer, an SQL console, backups and migrations sorted by risk.

Secrets

Keys and tokens live in Kivora, out of the code your AI app writes.

Workflows

Triggers, an event bus and a runner for work that starts on a schedule or after an event.

A controlled way out

A tool reaches the Internet only at the hosts a person allowed.

Monitoring

Errors, metrics, analytics, uptime and incidents for every tool.

Releases and rollback

Every push builds a release. Roll back to an earlier one when you need to.

More when a tool needs it

Redis, object storage, queues and scheduled jobs, each added through a change a person approves.

Members and roles

Invite people by email as Owner, Admin or Member.

Questions

Which AI apps can connect?

Claude Code, Cursor, VS Code, Codex, Gemini CLI and Claude Desktop each have a guide on the Connect AI page. You allow every connection on a consent page that names the workspace, and you can untick any permission it asks for.

Can my AI app change a database on its own?

A migration that only adds, such as a new table or a nullable column, applies when the tool deploys. Anything else is risky: it waits for an Owner or Admin to approve it, and Kivora backs up the database before it runs.

Who can open a tool?

Only members of the workspace, signed in with their Kivora account. Someone who is not a member never reaches the tool.

Can a tool reach the Internet?

Only the hosts an Owner or Admin allowed for that tool, on ports 80 and 443. Private addresses are always refused.

What happens when a push breaks the tool?

A new release takes over only after it answers its health check, so the old one keeps running until then. Every push to main makes a release, and you can roll back to an earlier one.

Put a working tool in front of your team.

Create a workspace, connect your AI app and ask for the first tool.