People and systems
Persons become people, software systems become systems; external ones stay external.
Import a workspace.json or DSL file and keep working on the same C4 model in a visual editor. Your AI keeps it in step with the code, and your team reviews every change in a branch.
Free for individuals · Keystone never receives your source code
workspace "Big Bank plc" {
model {
customer = person "Customer"
bank = softwareSystem "Internet Banking" {
api = container "API Application" "" "Java"
db = container "Database" "" "Oracle" "Database"
}
customer -> bank.api "Views balances"
}
}4 elements, 1 relationship · views and styles are not imported
What comes over
The importer reads the model itself: elements, nesting, relationships and groups. Keystone then shows it by C4 levels and lays it out for you.
Persons become people, software systems become systems; external ones stay external.
Nested inside their systems and containers, with descriptions and technology.
A container tagged Database, Queue, Cache or Web Browser becomes a database, queue, cache or app.
With their labels and technology; asynchronous ones stay asynchronous.
Groups of components become modules; other groups become tags you can filter by.
Your own tags become project tags.
Not imported: views, styles, deployment nodes and files pulled in with !include. The import dialog lists what it skipped, so nothing disappears silently.
How to move
Nothing is uploaded from your repository: you bring the workspace file, Keystone builds the project.
In Structurizr, save the workspace as JSON, or take your workspace.dsl.
In Keystone: Projects → Import from file → Structurizr workspace. The layout is built for you.
Connect your AI. After merges it checks the model against the code and sends a proposal your team reviews.
Comparison
Both speak C4. The difference is who keeps the model current and how changes are reviewed.
| Structurizr | Keystone | |
|---|---|---|
| Where the model comes from | You write it as code (DSL) or with a client library. | Your AI builds it from your code; you edit it in a visual editor. |
| Keeping it current | You update the DSL when the system changes. | After merges your AI checks the model against the code and proposes the changes. |
| Reviewing changes | Through your usual Git review of the DSL file. | Every change arrives as a branch: three-way merge field by field, live co-editing, comments. |
| What you model | C4 views, including deployment and dynamic diagrams. | C4 levels 1–3, ER diagrams from migrations, scenarios, decisions (ADR) on elements, impact analysis. |
| AI agents | An MCP server is available. | An MCP server that gives agents the part of the reviewed model a task needs. |
| Leaving | Exports to other diagram formats. | Exports back to Structurizr DSL, and to Mermaid, Obsidian, JSON, PNG and SVG. |
If you want architecture strictly as code in your repository, or rely on deployment views, Structurizr is a strong choice. Keystone fits teams that want the model kept current by their AI and reviewed in branches.
Included files are not followed: the importer reads one file and tells you what it skipped. Join the files into one, or ask your AI to bring the workspace in over MCP.
No. Keystone shows the model by C4 levels and lays it out automatically. Elements, relationships and groups come over; view definitions do not.
Yes. Export any project as Structurizr DSL from the project menu.
Deployment nodes are not imported today. The importer counts them, so you know what stayed behind.
You don’t upload the repository to Keystone. Your AI reads the code in your own environment and sends Keystone what it learns about the architecture: elements, relationships, descriptions and evidence. Descriptions and evidence may contain pieces of code. The code itself is processed by the AI provider you choose, not by Keystone. Companies can also run Keystone inside their own network.
There’s a free plan with limits on keystone-core.pro. Start a model and see how the workflow fits your project.
Start with your own system
The import takes seconds and never touches your repository. Start free.
Import a workspaceFree plan available · Connect through MCP