AI Disclosure

How Kept uses AI

Last updated: 2026-07-11

Kept uses a language model for one narrow job: to read a Slack message and propose whether it contains a commitment and what its structured fields are. The model only proposes. Deterministic code decides every action, and a human signs off before anything reaches a customer.

The model we use

Model
OpenAI gpt-5.4-mini
Alternative
Anthropic Claude is a config-selectable alternative provider, chosen by the operator.
No provider
With no model provider configured, Kept falls back to a local, non-AI heuristic responder — no message text leaves our infrastructure.
Where it runs
The model is called as a hosted API. It is never used to send messages, trigger actions, or write to your systems.

What the model does — and does not do

Kept's core design principle is: the model proposes; code decides. The model classifies and extracts. A single pure, deterministic function is the only thing that can change state or trigger an action.

The model can be wrong. Language models sometimes misread a message or extract a field incorrectly. Kept treats every model output as a suggestion for a human to review — it never relies on the model's judgment alone, nothing is tracked until a person confirms it, and no message reaches a customer until a person signs the verdict.

The model proposes

Classify & extract

Reads message text and proposes: is this a commitment? Who is the owner, which customer, what was promised, by when. It returns a structured suggestion — nothing more.

Code decides

Validate & act

Deterministic code validates the proposal, runs the state machine, and is the only thing that records an obligation or triggers a step. The model never emits an event, mutates state, chooses a tool, or takes an action.

What is sent to the model

When Kept sees a new message in a channel it belongs to, the text of that message (with minimal surrounding context) is sent to the model transiently, at inference time, for the sole purpose of classifying it into obligation signals and extracting structured fields. The model also helps route natural-language questions you ask the Assistant (for example, “What's overdue?”) to the right query.

Sent transiently, never stored

  • The text of a channel message, to classify and extract fields.
  • Your Assistant question, to route it to a query.

Never persisted by Kept

  • Raw Slack message bodies.
  • The prompts sent to the model.
  • The model's responses.

Retention & data handling

Kept is zero-copy: it persists only derived, structured, human-confirmed facts (the customer, a normalized outcome, the owner, the due date) plus references back to the original Slack messages. It never stores raw message bodies, model prompts, or model responses — this is enforced in code before every write.

The model input and output are processed transiently and are not stored by Kept. OpenAI handles API data under its own API data-usage policy; API inputs and outputs are not used to train OpenAI's models. For a full picture of what Kept stores and for how long, see our Privacy Policy.

Data tenancy & residency. Each workspace's data and connected credentials are isolated from every other workspace's — every read is scoped to the acting workspace. Kept's application and database run on Fly.io in the Singapore (sin) region; model inference is served by OpenAI's hosted API. Uninstalling the app deletes your workspace's stored token and ledger.

AI Assistant & Slack plans. Kept's conversational Assistant pane relies on Slack's agents-and-assistants feature, which requires a paid Slack plan. The rest of Kept — capturing, confirming, verifying, and closing promises — works on any plan without it.

Human oversight — two gates

Kept never takes an autonomous customer-facing action. Every commitment passes through two human gates:

In short: the model helps read and draft; a human decides and signs. No message reaches a customer channel automatically.

Questions

Questions about how Kept uses AI or handles your data: kaviyakumar23@gmail.com. See also our Privacy Policy and Support page.