Skip to content
Koralis AIBook a free Scoping Review

In beta · status as at 6 November 2026

How Kovac works: a check between the request and your data.

In many organisations the AI-use policy is a document that nothing enforces. Kovac checks requests to your data against your policy before they reach it, and records what it refuses: on three of seven routes to data today, all seven by the end of November 2026. Below: the problem, what changes, and what you get, each with where it stands today. Further down, the mechanism, for architects.

The check: four requests, people and AI, one policyYour data, loaded into Kovac, holds four kinds of data: personal data (names, bank details), client-confidential (contracts, matter files), intellectual property (designs, pricing, bids) and secrets (credentials, API keys). You mark these on your data; your policy says who may see each. Kovac does not find them for you yet. Four requests meet one check against your policy. A finance analyst asks for headcount by site, which is not marked: allowed. A project manager asks for a client's contract rates, a column marked client-confidential: refused before the request reaches the data. Kovac's record holds the refusal; permitted requests are recorded too by the end of November 2026. An AI agent, in pilots from late November 2026, asks for the API keys for a system: refused, secrets, under the same policy as people. An AI agent drafting a reply, in pilots from late November 2026, asks for a customer record: allowed, with the columns marked personal data masked before the AI call. The name and account number arrive as [PERSON_1] and [BANK_1]; the complaint, which is not marked, arrives as it is. Masking works on the columns you mark, not the text of a Word or PDF document. An example, not a product screenshot. Today Kovac checks three of its seven routes to data; the rest, raw files and previews among them, by the end of November 2026.AI agents, in pilots from late Nov 2026KovacFinance analystheadcountAllowedProject managercontract ratesRefusedclient-confidentialAPI keysRefusedsecretsCustomer recordAllowed,maskedRecordedThe AI call receives[PERSON_1][BANK_1]complaint, unmaskedYour data, loaded into KovacPersonal dataClient-confidentialIntellectual propertySecretsYou mark these; Kovac does not find them yet.
An example, not a product screenshot. Today Kovac checks three of its seven routes to data; the rest, raw files and previews among them, by the end of November 2026.

Test your data rule

What your AI can reach – before and after Kovac

The problem

Your AI policy is a document. Nothing between the request and the data reads it.

People, AI tools and scripts reach your data directly. The rules for what AI may see sit in a policy document, and nothing in the path checks them. So when a client, the board or an auditor asks, nobody can show what AI was stopped from seeing. Kovac records refusals today, on the routes it checks; recording permitted requests follows by the end of November 2026.

Before

Before Kovac: three kinds of data go straight into AI toolsWhere nothing sits in the path, three kinds of data go from people and tools straight into AI tools and chat assistants, and nothing checks them against your policy. Personal data (names, salaries, client contacts): personal data leaves your control. Client IP and confidential terms (rates, contract clauses, bid content): client terms sit in a third party's tool. Secrets (credentials, keys, commercial numbers): credentials can be exposed. Nothing in the path records what went where.People and toolsAI tools andchat assistantsPersonal datanames, salaries, client contactsPersonal data leaves your controlClient IP andconfidential termsrates, contract clauses, bid contentClient terms sit in athird party's toolSecretscredentials, keys, commercial numbersCredentials can be exposedNothing in the path recordswhat went where.
Where nothing sits in the path: three kinds of data go straight into AI tools.

The solution

Put a check in the path.

The same picture, with one change: Kovac sits between the requests and your data, checks requests against your policy before they reach the data, and records what it refuses.

Today that check runs on three of the seven routes to data: object, action and deploy requests. All seven routes to data checked against your policy by the end of November 2026. Requests come from people and from pipelines built on Kovac. From late November 2026, in pilots, AI models connect through Kovac's check. Kovac does not sit in front of Microsoft Copilot, Gemini for Google Workspace or web chat assistants.

After

After Kovac: the same three kinds of data, through KovacRequests from people and from pipelines built on Kovac pass through Kovac, which checks requests to data loaded into it against your policy. Personal data: masked with placeholders before any AI call, on fields you mark sensitive. Client IP and confidential terms: refused on marked columns, and the refusal recorded – on record reads in Kovac today. Secrets: masked or refused, as you mark them – refused on record reads in Kovac today, masked before an AI call or webhook. Refusals are kept in a searchable record. Not checked today, and dashed: file reads, previews, code run directly and connection reads, all checked by the end of November 2026. AI tools and chat assistants, top right, are dashed and not through Kovac: people reach them directly, and Kovac does not sit in front of Microsoft Copilot or web chat assistants. The AI model is dashed. From late November 2026, in pilots, AI models connect through Kovac's check. Only data loaded into Kovac passes the check; Copilot and web chat assistants do not. You mark what is sensitive; Kovac does not yet find it for you. Representative, not a product screenshot.AI tools andchat assistantsnot through Kovacpeople, directlyPeople and pipelinesbuilt on KovacAI modelthrough the checkfrom late Nov 2026Personal datanames, salaries, client contactsKovacMasked before any AI callon fields you markClient IP andconfidential termsrates, contract clauses, bid contentKovacRefused on marked columns,and the refusal recordedon record reads in Kovac todaySecretscredentials, keys, commercial numbersKovacMasked or refused,as you mark themrefused on record reads inKovac today; masked beforean AI call or webhookRefusals kept in asearchable recordNot checked today – file reads,previews, code run directly,connection reads: all checkedby the end of November 2026
Only data loaded into Kovac passes the check; Copilot and web chat assistants do not. You mark what is sensitive; Kovac does not yet find it for you.
  • Solid: today
  • Dashed: not yet, with its month
  • Risk
  • Masked with placeholders
  • Refused
  • As you mark it
  • Recorded

Representative, not a product screenshot.

Where Kovac sits in your organisation

Kovac holds the data you load into it, with the columns you mark sensitive. People and pipelines built on Kovac ask for that data through Kovac, which checks their requests against your policy before they reach it.

Some reads do not go through the check yet, and the picture shows them dashed: people opening raw files or previews, and code run directly. All are checked by the end of November 2026.

Where Kovac sits: the checked way in to data loaded into itYour data, loaded into Kovac: payroll records with the salary and bank details columns marked sensitive, and contracts and bid files. SharePoint is in alpha testing. Google Workspace is planned, by November 2026. People and pipelines built on Kovac ask from outside, through Kovac, which checks their requests against your policy. Not checked yet, and dashed: people opening raw files, previews and code run directly, all checked by the end of November 2026. An example, not a product screenshot.PeoplePipelinesbuilt on KovacKovacYour data, loadedinto KovacPayroll recordsnamesitesalarybank detailsstart dateContracts andbid filesSharePointin alpha testingGoogle Workspaceby Nov 2026Raw files, previews and code run directly:not checked yet, all by the end of November 2026.An example, not a product screenshot.

Inside that one change: five steps from a request to its record.

Where a step does less today than its name suggests, the line under it says so, and gives the month.

  1. 1Starts here

    Request

    From a person or a pipeline built on Kovac.

  2. 2

    Check

    Identity, role, policy and permitted data.

  3. 3

    Signed plan

    What may run.

    Today a deploy is signed after it runs, a plan the kernel cannot sign runs unsigned, and the signature covers id, intent and code hash. Nothing runs unsigned by the end of November 2026. By March 2027, every plan is signed in full before it runs.

  4. 4

    Scoped execution

    Designed to run only inside the plan.

    Engine verifies the plan by March 2027.

  5. 5

    Record

    A trail you can search.

    Every entry signed as it is written, permitted requests and refusals, by the end of November 2026.

Checked against policy today for object, action and deploy requests. All seven routes to data checked against your policy by the end of November 2026.

Representative flow – illustrative, not a product screenshot.

What you get

What that gives you, and where each part stands today.

Each card says what is true today and the month for the rest. Status as at 6 November 2026.

  • Refusals you can show the board

    TodayRefusals on the routes Kovac checks are kept in a searchable record. Permitted requests are not recorded yet, and the record is not signed.

    By whenBy the end of November 2026, only Kovac itself can write to the record; by then, every entry is signed and linked to the one before it as it is written, permitted requests as well as refusals.

  • Sensitive fields masked with placeholders before any AI call

    TodayFields you mark sensitive are masked with placeholders before Kovac passes them to an AI model or posts them to another system.

    By whenIn a pilot, from late November 2026, Kovac is model-agnostic: you choose the AI model, a hosted one or your own on your own network. Fields you mark sensitive reach it masked with placeholders; fields you don't mark reach it as they are.

  • One policy across the people and pipelines that reach your data

    TodayA request is checked against your policy before it reaches the data, on three of seven routes to data today.

    By whenAll seven routes to data checked against your policy by the end of November 2026.

  • Sensitive columns closed to anyone not cleared: on record reads in Kovac today

    TodayColumn clearances are enforced on record reads in Kovac today; not yet on raw files or previews.

    By whenClearances enforced on every read by the end of November 2026, and carried through pipeline transformations, computed server-side, by March 2027.

Bring one refusal and we'll tell you whether it would be checked.

The free Scoping Review, with both founders: which route to data your refusal sits on, and whether that path is checked yet. Or write it first, in two minutes, on the pilot page.

For technical readers

From request to record, and where each step stands today.

Kovac checks a request against your policy before it reaches the data, has the kernel sign the plan that answers it, and records the outcome. On some paths that is true today; the rest carries a month. What follows says which, part by part, for architects and IT.

Each part, today and by when ↓

Each part, today and by when

What each part does today, and when the rest follows.

The same dated commitments as our security page, where the controls are set out row by row for IT and legal. Where the controls actually are →

Ontology and Object Types

You model your organisation at the level of meaning. A dataset can be promoted to an Object Type – a typed semantic object whose column markings are enforced when it is read. Object Types are what the rest of the platform reads, and what an AI tool connected to Kovac will read.

Policy and clearances

The policy core is pure, property-tested logic over identity, ontology and request. Object, action and deploy requests are checked against your policy today – three of seven routes to data – and most of that gating runs in the Go services, not the kernel. Three failure cases still proceed today when they should stop: a deploy on a policy error, an object read on a lookup error, and a plan that cannot be signed. Column clearances are enforced on record reads in Kovac (object reads); not yet on raw files or previews. Access control is policy-as-code and a permission graph, with time-boxed grants whose expiry is enforced; a grant is scoped per marking rather than per dataset, and by the end of November 2026 only your administrator or your Data Officer can issue or revoke one.

By whenEvery path to data goes through policy by the end of November 2026. Every route blocks a request when the policy check cannot run, by the end of November 2026. Clearances enforced on every read by the end of November 2026, and carried through pipeline transformations, computed server-side, by March 2027.

Signed execution

When the kernel is reachable, it signs plans, actions and grants with Ed25519. The kernel holds the signing key, so only the kernel can produce a valid signature; nothing verifies one yet. The signature covers the plan's id, intent and code hash – not its inputs and outputs. If the kernel is unreachable, the plan proceeds unsigned. A deploy is signed after it runs.

By whenNothing runs unsigned by the end of November 2026. Every plan signed before it runs, covering its inputs, outputs and permitted operations, and verified by the engine that runs it, by March 2027.

Decision records and time travel

Refusals on the routes Kovac checks are kept in a searchable record. Permitted requests are not recorded yet, and the record is not signed. Any signed-in user can add an entry today, so by our own guide's test the trail is a log. An approval is recorded against a plan, but not required: the plan does not wait for the approval before it runs. Ontology changes are versioned today.

By whenBy the end of November 2026, only Kovac itself can write to the record; by then, every entry is signed and linked to the one before it as it is written, permitted requests as well as refusals. Reconstructing the governed state at any past moment – ontology, policy and lineage – is on the roadmap, not dated yet.

The architecture boundary

The kernel holds the policy core and the signing key. AI and orchestration are designed to run as a governed client, with no special trust and with retrieval outside the kernel boundary. Kovac is designed to govern what runs, not how: it sits beside your warehouse and compute rather than replacing them. PostgreSQL and MySQL connect today, for schema discovery, and pipelines run on file data. Fields you mark sensitive are masked with placeholders before Kovac passes them to an AI model or posts them to another system.

By whenReading straight from your database tables by December 2026.

Where Kovac is heading

What you will be able to do, and when.

Kovac is in beta. Two of these work today; the rest are in development, and those with a date give it. Each line comes with its limit written down, because that is the test we would ask you to put to any vendor.

Record it

  • Refusals on the record.

    Status: Today

    On the three routes it checks, Kovac records each request it refuses: who asked, for what, and what access was missing.

    LimitToday any signed-in user can add an entry in anyone's name. By the end of November 2026, only Kovac can.

  • Same request, same decision.

    Status: Today

    On the three routes to data Kovac checks today, one small, tested piece of code decides each request the same way.

    LimitThree failure cases still let a request through: a deploy whose policy call fails, a read of a record whose clearance lookup errors, and a plan that cannot be signed. Every route blocks a request when the policy check cannot run, by the end of November 2026. All seven routes to data checked against your policy by the end of November 2026.

  • A record that shows any later change.

    Status: End Nov 2026

    Only Kovac will write to it: every entry signed and linked to the one before, permitted requests as well as refusals.

    By whenBy the end of November 2026, only Kovac itself can write to the record; by then, every entry is signed and linked to the one before it as it is written, permitted requests as well as refusals.

    LimitA change to the record is detectable, not prevented.

  • Know what the AI saw, and what it didn't.

    Status: In development

    Every AI call, and every read by an assistant connected to Kovac, will be recorded before data moves: who asked, which columns went or were held back. AI tools that never connect are not.

    LimitNo record, no call. Once data reaches a connected assistant, what it does next is not recorded. Text from Word and PDF documents is sent as written.

Let AI in, under your rule

  • AI on the data you've kept from it.

    Status: Late Nov 2026, in pilots

    AI models will work on your data through Kovac's check, with the columns you mark as sensitive masked before each call.

    LimitMasking works on the columns you mark, not the text of a Word or PDF document.

  • An AI assistant with no more access than its owner.

    Status: In development

    An AI assistant you connect to Kovac will get its own login, with no more access than the person who owns it, and can be revoked at any time.

    LimitNo AI assistant has been connected yet. Once data reaches an assistant, Kovac records who read it but cannot control where it goes.

  • A supplier's AI, limited to what you clear.

    Status: In development

    A supplier's AI will be refused anything your IT team hasn't cleared, told why, and unable to widen its own access.

    LimitShown in a demonstration; sign-in and the AI model have been tested against stand-ins only.

  • Drafts from your data's layout, not its figures.

    Status: In development

    AI will draft steps, measures and alerts from your data's layout, without seeing a single figure.

    LimitTested with a stand-in model only.

Show each person their share

  • Share a dashboard, not the data behind it.

    Status: In development

    One dashboard for everyone: each person will see only the rows their access allows, and you'll be able to preview any audience's view.

    LimitUp to 10,000 rows per viewer.

  • Access worked out from your own records.

    Status: In development

    A project manager will see the projects your records say they manage, and no one person will be able to grant access alone.

    LimitA change to Kovac's policy core; not yet reviewed for release.

  • One alert rule, the right figures for each person.

    Status: In development

    An alert will run as each person who receives it, so nobody is sent a figure they couldn't open themselves.

    LimitAlerts by email or webhook are off by default; whether any figure leaves Kovac this way is not yet decided.

Start from what you run

  • Your markings applied on the way in.

    Status: Nov 2026; SharePoint in alpha

    Connections to SharePoint and OneDrive, then Google Workspace, Xero and Sage, will apply the markings you choose to what they bring in.

    By whenSharePoint and OneDrive, with Microsoft Entra ID sign-in, are in alpha testing. Google Drive and shared drives, Gmail, and Docs and Sheets content, with Google sign-in, by November 2026. Xero and Sage by November 2026. Reading straight from your database tables, Microsoft Dynamics and HiBob by December 2026.

    LimitSo far the connectors have run against simulated systems only. Labels set inside Microsoft 365 or Google are not read.

  • Hosting where you need it.

    Status: By Dec 2026

    A first pilot deployment, in beta; then options to host in the UK or EU, on your own servers, or air-gapped.

    By whenFirst pilot deployment, in beta, by the end of November 2026; UK and EU hosting, and customer-hosted and air-gapped options, by December 2026.

    LimitYou choose the AI model; running it inside your own boundary has no date yet.

  • A marked column stays marked.

    Status: By Mar 2027

    When you clean and combine data, marked columns will stay marked in what comes out.

    By whenClearances enforced on every read by the end of November 2026, and carried through pipeline transformations, computed server-side, by March 2027.

    LimitYour own SQL or Python steps will run one job at a time, up to 1 million rows.

  • Start from a Finance pack, not a blank page.

    Status: In development

    You'll be able to start from ready-made finance dashboards and checks, and adapt them without losing your changes.

    LimitOne pack exists so far: Finance.

What Kovac is not

  • Not a data warehouse
  • Not a compute engine
  • Not a standalone chatbot

It sits between the people and pipelines that ask for data loaded into it and the data itself, and checks their requests against your policy: on three of seven routes to data today, all seven by the end of November 2026. It does not sit in front of Microsoft Copilot, Gemini for Google Workspace or web chat assistants.

See it against your own policy.

Start with the free Scoping Review. One working session with both founders. No data, nothing installed. A written pack within 48 hours of the session.