Skip to main content
This page walks through what happens to your data on a single KC request — from the moment your coding agent calls a Keldyn MCP server (“KC”) tool or prompt, to the moment the answer comes back. It’s written to be cleared against your own data-flow diagram before you adopt KC. There are two distinct journeys depending on what you invoke, and they behave very differently for data leaving your machine:
  • Tools (list-controls, update-control, update-use-case-architecture, etc.) read or write Keldyn data directly — every call is a request/response round trip to Keldyn.
  • Prompts (start-dev, review-changes, review-codebase, collect-evidence, generate-architecture) hand your agent a brief and a small amount of Keldyn context; the actual codebase scanning and reasoning then runs on your machine, using your agent’s own model — nothing about your code reaches Keldyn during that step.
Both assume you’re already connected — see Keldyn MCP server for the one-time OAuth login that scopes every subsequent call to your user and team.

Flow A — a tool call (read or write Keldyn data)

This is the path for the great majority of tool calls: list-*, get-*, update-control, update-risk-tracking, create-task, Trust Center admin tools, and so on. Nothing in this flow is sent to a third-party AI model. It’s the same authenticated Keldyn API call the web app makes for the same action, just issued by your agent instead of a browser click.

Flow B — a prompt (agent-guided workflow)

Prompts (start-dev, review-changes, review-codebase, collect-evidence, generate-architecture) don’t scan your code themselves — they assemble a text brief from a little Keldyn context and hand it to your agent, which does the actual work locally. This is the answer to “does my code leave my machine”: for every prompt, the scan and the reasoning happen entirely on your side. The only thing that can reach Keldyn is whatever specific finding, evidence line, or architecture object your agent explicitly saves with a follow-up tool call — and each prompt’s rules require your review/approval before that happens (see Responsible use).

The one step where Keldyn’s own AI is involved

There is exactly one point in the KC flow where data is sent to a third-party model provider: saving an architecture. When update-use-case-architecture saves a Threagile model (whether typed by hand or produced by the generate-architecture prompt above), keldyn-api generates a plain-language management summary of it. The Threagile model itself — asset names, types, technology, trust boundaries, data flows — is Keldyn GRC metadata describing your system for risk analysis, not your source code, so this isn’t your codebase or IP reaching a model provider. That request: Untrusted content is screened before this hop (prompt-injection/jailbreak checks) — see Cybersecurity for the AI-specific controls this and other AI-assisted features are tested against.

Security analysis stays on Keldyn’s own infrastructure

Running analyze-use-case-architecture (or the security refresh triggered automatically after a save) does not call a third-party AI model. It sends the architecture model to Threagile, a self-hosted, deterministic risk-analysis engine Keldyn runs on its own infrastructure (the same one that also evaluates framework compliance checks). Threagile returns a list of risks, which keldyn-api stores in Postgres alongside the use case. No subprocessor beyond Keldyn’s own hosting is involved in this step.

What leaves your environment, at a glance

  • Never leaves your machine: your source code, files, and diffs read during a prompt’s local scanning step (Flow B, step 4) — that’s the whole point of prompts running on your agent’s model.
  • Leaves your machine, stays inside Keldyn: anything you pass as a tool argument (evidence text, control status, an architecture model, a task) — goes to keldyn-api/Postgres/S3 over HTTPS, same as if you’d typed it into the web app.
  • Leaves Keldyn to a subprocessor: only the architecture-summary call described above, sent transiently to Requesty/Bedrock. That’s Keldyn GRC metadata (an asset/trust-boundary model), not your source code — your codebase never reaches a model provider through KC, and nothing here is used for training. See Compliance for the full subprocessor list.
  • Never leaves Keldyn’s own infrastructure: the Threagile security analysis, which runs on Keldyn-hosted infrastructure rather than a third party.