CodeKasten Open the app

Version control for business data

Branches, commits and merges for your records

Software teams never edit the live product. With CodeKasten your team can work the same way on customers, projects and the tools built around them, without writing code.

More than a history of edits

A list of old values tells you what happened. Version control also lets you try a change away from the live data, look at it as a whole, and decide. Tools for this exist for files, databases and data lakes, mostly for engineers. CodeKasten puts it in the workspace where people keep their records, with no command line.

A branch holds everything

There is a main branch, and you can make others to try something without touching it. A branch holds everything: records, record types, views, workflows, boards and settings. So "try something" can mean reorganising the projects, or redesigning the Project type itself.

The branch menu with commit, merge and release
Everything you can do on a branch is in its menu.

Commits say what changed

A commit records the changes since the last one, with a message, under your name. Click a commit to see, for each record, whether it was added, modified or deleted, and field by field what the values were before and after.

A commit listing each changed record with its values before and after
A deleted record is shown with what it held.

From a commit you can start a new branch, cherry-pick it to another branch, cut a release, or revert: a new commit that undoes it. That works for deletions too, so reverting a commit that deleted a record brings the record back.

Merging, and what happens on a conflict

WhenWhat happens
The target has not changedIt moves on to the branch's newest commit
Both changed, in different records or fieldsThe changes are combined
Both changed the same field of the same recordThe merge stops and shows each conflict: you choose a side, or abort

Decide who may change what

Protect main and changes reach it through a merge. Somebody who may not merge asks for one with Request merge, and everybody who may gets it in their Inbox. Access is set per branch: who reads it, who changes it and who merges into it, by group or by name.

Sharing and access settings of a protected branch
A protected branch: changes reach it through a merge.

Made for agents as well as people

Branches are what make it safe to let an agent loose on real data: it works on its own branch, and a person reviews the result. See AI agent guardrails, and why we built it that way.

Ship it to other workspaces

A release is a commit too. Cut one from a branch and other workspaces can install it as an app, so a tool you built can be used by another team and updated later. Read about releases.

Give your agents real work, not real risk