PreiseDokumentation
Loslegen
Sicherheit

Für eine Sicherheitsprüfung entwickelt.

Ein Agent, der alles installieren, alles aufrufen und überall schreiben kann, ist nur sicher, wenn die Grenzen echt sind. Bei Kortix liegen sie unterhalb des Agenten, in der Plattform, wo ein Prompt sie nicht überreden kann.

Sprich mit unsDoku lesen
Eine andere Sitzung – dasselbe Projekt, dasselbe Team oder ein anderer Kunde
Connector-Zugangsdaten, die serverseitig aufgelöst werden
Die eigenen Upstream-Provider-Schlüssel von Kortix, die keine Sandbox enthalten darf
Schreibzugriff auf main; eine Sitzung kann nur Vorschläge machen
✕✕✕✕
innerhalb einer Sitzung
  • Eine eigene Sandbox mit eigenem Dateisystem und eigener Lebensdauer
  • Ein Klon des Projekt-Repositories auf einem nach der Sitzung benannten Branch
  • Die vom Projekt deklarierten Tools, Abhängigkeiten und Laufzeitumgebung
  • Nur die Secrets, die dieser Sitzung gewährt wurden und beim Start dort abgelegt werden
gelangt nie hinein
Isolation

Nichts wird geteilt, weil nichts geteilt wird.

Eine Sitzung ist kein Tab in einer gemeinsam genutzten Laufzeitumgebung. Sie ist eine eigene Maschine, und die Datenbank lässt nicht zu, dass zwei Sitzungen dieselbe Maschine haben. Die Trennung zweier eigener Sitzungen funktioniert genauso wie die Trennung zweier verschiedener Kunden.

innerhalb einer Sitzung

  • Eine eigene Sandbox mit eigenem Dateisystem und eigener Lebensdauer
  • Ein Klon des Projekt-Repositories auf einem nach der Sitzung benannten Branch
  • Die vom Projekt deklarierten Tools, Abhängigkeiten und Laufzeitumgebung
  • Nur die Secrets, die dieser Sitzung gewährt wurden und beim Start dort abgelegt werden
Sandbox

gelangt nie hinein

  • Eine andere Sitzung – dasselbe Projekt, dasselbe Team oder ein anderer Kunde
  • Connector-Zugangsdaten, die serverseitig aufgelöst werden
  • Die eigenen Upstream-Provider-Schlüssel von Kortix, die keine Sandbox enthalten darf
  • Schreibzugriff auf main; eine Sitzung kann nur Vorschläge machen
Eine Sandbox pro Sitzung
Eine Sitzung erhält genau eine Maschine, von der Datenbank und nicht nur durch Konvention erzwungen. Sitzungen teilen niemals ein Dateisystem, und die Maschine hat eine begrenzte Lebensdauer statt dauerhaft zu bestehen.
microVM nach Bedarf
Auf Kortixs eigenem Platinum-Compute ist eine Sandbox eine Cloud-Hypervisor-microVM. Daytona und E2B werden ebenfalls unterstützt. Der Provider ist eine Bereitstellungsentscheidung, und wir sagen dir, welchen du nutzt, statt sie zu verschleiern.
Ein Branch pro Sitzung
Die Maschine klont das Repository und erstellt einen nach der Sitzung benannten Branch. Jede Bearbeitung und jeder Commit dieser Sitzung lebt auf diesem Branch und nirgendwo sonst.
Von vornherein entbehrlich
Die Maschine ist nicht wertvoll. Eine fehlerhafte Installation oder ein gelöschtes Verzeichnis verschwindet mit ihr. Nur was die Sitzung committet, bleibt bestehen.
Zugangsdaten

Ein Schlüssel wird einer Sitzung gewährt, nicht in einen Prompt eingefügt.

Ein Tool benötigt echte Zugangsdaten, um echte Arbeit zu leisten. Die ehrliche Frage ist daher nicht, ob die Maschine jemals einen Schlüssel enthält, sondern welche Maschine welchen Schlüssel enthält, wer das entschieden hat und was niemals hineingelangt.

  1. 01

    Gespeichert

    Mit AES-256-GCM unter einem pro Projekt abgeleiteten Schlüssel verschlüsselt.

  2. 02

    Gewährt

    Sowohl die Rolle der Person als auch die deklarierte Berechtigung des Agenten müssen dies erlauben.

  3. 03

    Bereitgestellt

    Beim Start namentlich in der Sitzung abgelegt, auf tmpfs mit Modus 0600.

  4. 04

    Verwendet

    Das Tool liest es aus der Umgebung. Es wird nicht in den Prompt geschrieben.

  5. 05

    Gelöscht

    Die Datei wird beim Herunterfahren sicher gelöscht und die Maschine mitsamt ihr zerstört.

Pro Projekt verschlüsselt
Werte werden mit AES-256-GCM versiegelt. Der Schlüssel wird pro Projekt mit HKDF-SHA256 abgeleitet, sodass der Chiffretext eines Projekts nicht mit dem Schlüssel eines anderen Projekts geöffnet werden kann. Das Envelope-Format ist versioniert, damit die Methode ohne Stichtag weiterentwickelt werden kann.
Zwei Prüfungen, nicht eine
Ein Agent deklariert in kortix.yaml, welche Secrets ihm jemals gegeben werden dürfen. Eine Sitzung erhält die Schnittmenge dieser Berechtigung und der Rolle der Person, die sie gestartet hat – ein Agent kann also weder über seine eigene Deklaration noch über die Berechtigungen des Menschen hinter ihm hinausgehen.
Zugangsdaten für Konnektoren gelangen nie auf die Maschine
Über 3.000 Apps mit einem Klick sowie MCP, OpenAPI, GraphQL und rohes HTTP. Die Zugangsdaten des Drittanbieters werden serverseitig verwahrt und aufgelöst; die Maschine hält nur ein begrenztes Kortix-Token und ruft darüber auf. Dasselbe gilt für Kortixs eigene Provider-Schlüssel, die keine Sandbox enthalten darf.
Was wir nicht behaupten werden
Ein Laufzeit-Secret, das einer Sitzung gewährt wird, ist innerhalb dieser Sitzung ein echter Umgebungswert, denn so verwendet ein Tool es. Wir sagen das lieber offen, statt zu behaupten, es sei unsichtbar. Entscheidend sind die beiden Prüfungen oben und die Tatsache, dass die Maschine mitsamt dem Secret zerstört wird.
Identität & Berechtigungen

Ein Agent ist ein Principal, kein Schlupfloch.

Die meisten KI-Tools geben dem Agenten alles, worauf die Person, die ihn gestartet hat, zugreifen kann. Kortix tut das nicht. Eine Agentenidentität bringt eigene Richtlinien mit, die unabhängig ausgewertet werden, sodass sie sich nicht selbst Zugriff auf etwas verschaffen kann, das du ihr nie gewährt hast.

Prinzipal

PersonGruppeDienstkonto
darf

Ressourcentyp

KontoProjektSandboxTriggerKanalMitgliedGruppe

Berechtigungen gelten für einen Prinzipal, eine Aktion und einen Ressourcentyp.

Integrierte Rollen – in jedem Tarif

account

  • Eigentümer. Vollständige Kontoverwaltung.
  • Administrator. Mitglieder, Gruppen, Rollen und Tokens verwalten.
  • Mitglied. Grundlegende Kontomitgliedschaft.

project

  • Manager. Vollständige Projektverwaltung einschließlich Mitgliedern und Löschen.
  • Mitglied. Lesen, Sitzungen ausführen und Trigger auslösen. Die grundlegende Projektrolle.

Enterprise

  • SAML 2.0 SSO. Provider-Konfiguration, Just-in-Time-Bereitstellung und Zuordnung von Gruppen-Claims. Derzeit ein Identitätsanbieter pro Konto.
  • SCIM 2.0. Verzeichnissynchronisierung über /scim/v2 mit von dir erstellten und widerrufenen Tokens. Entwickelt für Okta und Microsoft Entra.
  • Benutzerdefinierte Rollen. Eigene Rollen und feingranulare Richtlinienbindungen über die Voreinstellungen hinaus.
  • Gruppen. Einmal einer Gruppe gewähren, statt zwanzig Personen jeweils zwanzigmal.

Available on Enterprise, and on a self-hosted instance with an Enterprise license. The built-in roles above are free on every plan.

Dienstkonten

Ein Dienstkonto ist eine vollwertige Maschinenidentität des Kontos, kein menschliches Token mit aufgesetztem Hut. Richtlinien gelten direkt für es, und jede Anfrage wird ausschließlich anhand seiner eigenen Richtlinien bewertet – sie übernimmt niemals die Reichweite der Person, die es erstellt hat.

Ein Team auf bestimmte Agenten begrenzen

Eine Person oder Gruppe kann innerhalb eines Projekts auf benannte Agenten und Skills begrenzt werden: Das Marketing darf diesen Agenten und jenen Skill verwenden, sonst nichts. Alles, was du nicht begrenzt, bleibt projektweit verfügbar. Einschränkung ist also optional, statt später wieder aufgehoben werden zu müssen.

Kontrolle

Entscheide, was vor der Ausführung einen Menschen braucht.

Genehmigung ist keine Einstellung, die in einem Admin-Panel vergraben ist. Sie ist ein Block in kortix.yaml, gemeinsam mit allem anderen versioniert, der festlegt, welche Tool-Aufrufe ausgeführt werden, bei welchen eine Person entscheidet und welche direkt abgelehnt werden.

kortix.yaml
# reads run; writes and destructive calls stop for a humanpolicy:  default_mode: risk policies:  # a name-only rule cannot gate the target — conditions can  - match: gmail.send_email    action: require_approval    conditions:      - arg: to        match: /@example\.com$/   # anything else through this tool is refused outright  - match: gmail.send_email    action: block   # whole connectors can be gated with one glob  - match: stripe.*    action: require_approval
  • Drei Aktionen

    always_run, require_approval, block. Eine Regel gleicht einen Glob über vollständig qualifizierte Toolpfade ab, sodass eine Zeile einen einzelnen Aufruf oder einen ganzen Connector abdecken kann.

  • Das Ziel absichern, nicht nur das Tool

    „Darf der Agent E-Mails senden?“ ist keine Sicherheitsvorkehrung. Bedingungen gleichen die Argumente ab, sodass die Regel „nur an diese Adressen“ lauten kann. Ein Argument, das nicht ausgewertet werden kann, wird standardmäßig abgelehnt.

  • Kein pauschales „immer erlauben“

    Jeder geschützte Aufruf wird einzeln mit seinen Argumenten vor dir genehmigt. Es gibt keine sitzungsweite Genehmigung, hinter der sich ein späterer Aufruf mit anderen Argumenten verstecken kann – diese Abkürzung wurde am Durchsetzungspunkt entfernt, nicht nur aus der UI.

  • Lege den gewünschten Standard fest

    default_mode: risk lässt Lesevorgänge zu und leitet Schreib- sowie destruktive Aufrufe an eine Person weiter. Ein Projekt ohne Policy-Block behält den freizügigen Legacy-Standard. Lege dies daher ausdrücklich fest.

Wie Arbeit landet

Eine Änderungsanfrage zu öffnen und sie zusammenzuführen, sind unterschiedliche Berechtigungen.

Ein Agent kann auf seinem eigenen Branch beliebig viel schreiben. Diese Arbeit auf main zu bringen, ist eine separate Fähigkeit, die er nur erhält, wenn du sie bewusst überträgst – und diese Übertragung selbst muss von jemandem genehmigt werden.

  1. 00

    Die Sitzung arbeitet auf ihrem Branch

    Jede Bearbeitung landet auf dem für diese Sitzung erstellten Branch. Nichts, was der Agent tut, ist für eine andere Sitzung oder für main sichtbar.

  2. 01

    Er committet und öffnet einen Change Request

    Wenn der Agent etwas über die Lebensdauer der Maschine hinaus erhalten möchte, committet er es und öffnet einen auf main gerichteten Change Request. Das ist die einzige Tür.

  3. 02

    Eine Person liest den Diff

    Ein Change Request ist ein Diff. Einen Agenten zu prüfen, der seinen eigenen Prompt umschreibt, funktioniert genauso wie die Prüfung einer Codeänderung – denn es ist eine. Ein Change Request, dessen Manifest nicht validiert werden kann, kann überhaupt nicht zusammengeführt werden.

  4. 03

    Zusammenführen wird standardmäßig verweigert

    Zusammenführen ist eine eigene Fähigkeit und wird jedem Agenten verweigert, sofern ein Admin sie nicht gewährt. Diese Gewährung steht in kortix.yaml – ein Agent kann seine Reichweite also nicht ohne einen von jemand anderem genehmigten Change Request erweitern.

Audit

Die Aufzeichnung ist nie das, wofür du bezahlst.

Jede Konto- und jede Agentenaktion wird in jedem Tarif erfasst. Der Tarif entscheidet, wer diesen Datensatz lesen, exportieren oder streamen darf – nicht, ob er existiert.

Konto-Audit-Log
Mitgliedschaften, Rollen, Richtlinien, Tokens, Gruppen und IAM-Änderungen werden in jedem Tarif sofort aufgezeichnet.
Jeder geschützte Tool-Aufruf
Jeder Aufruf eines Agenten über einen Connector wird als Zeile erfasst: Aktion, Akteur, Sitzung, Risikoklasse, ob er ausgeführt, abgelehnt oder auf eine Person gewartet hat, und wer ihn bearbeitet hat. Argumente werden als durch Weglassen erstellte Vorschau gespeichert, damit keine Zugangsdaten im Datensatz landen.
Exportieren oder streamen
Log als CSV oder JSONL abrufen oder jedes Ereignis über einen mit HMAC-SHA256 signierten Webhook an dein eigenes SIEM senden. Lesen, Export und Streaming sind Enterprise-Berechtigungen.
Das Repository hat seine eigene Historie
Konfiguration besteht aus Dateien. Wer welchen Agenten, Skill oder welche Richtlinie geändert und wer sie genehmigt hat, steht in der Git-Historie, die du bereits zu lesen weißt.
Bereitstellung & Sicherheitsstatus

Betreibe es dort, wo deine Richtlinie es verlangt.

Dasselbe Produkt gibt es als verwaltete Cloud, als Stack in deinem eigenen Netzwerk und als isolierte Bereitstellung. Es ist Open Source, sodass du dem Code vertraust, den du lesen kannst.

Kortix Cloud

Der verwaltete Dienst. Wir betreiben Control Plane und Compute; du betreibst das Unternehmen.

Self-hosted

Ein Docker-Compose-Stack auf deiner Infrastruktur, aus denselben Images wie die verwaltete Cloud. Deine Datenbank und Dateien liegen auf von dir kontrolliertem Speicher.

Deine VPC oder On-Premises

A single-tenant deployment inside your own network. Isolated topologies are scoped with us rather than self-served.

Wo wir tatsächlich stehen

SOC 2 Typ I
Zertifiziert
SOC 2 Typ II
In Bearbeitung
GDPR
Betrieben

Wir verfügen nicht über ISO 27001 oder HIPAA und erwecken auch nicht diesen Eindruck. Wenn ein Bericht vorliegt, ändern wir diese Zeile noch am selben Tag – nicht vorher.

Verantwortungsvolle Offenlegung

Etwas gefunden? Teile es uns vertraulich mit.

Bitte eröffne bei einer Schwachstelle kein öffentliches Issue. Sende dem Sicherheitskontakt die betroffene Version oder den Commit, die Reproduktionsschritte und die Auswirkungen.

Sicherheitskontakt

security@kortix.com

Wir nennen auf Wunsch die Namen der meldenden Personen, sobald ein Fix veröffentlicht wurde.

Danksagung
Innerhalb von 3 Werktagen
Triage und Schweregrad
Innerhalb von 5 Werktagen
Koordinierte Offenlegung
Mit Ihnen vereinbart, standardmäßig 90 Tage

Führe dein gesamtes Unternehmen aus einem Repo, das dir gehört.

Beginne mit einer Aufgabe und wachse von dort aus.

Loslegen

Produkt

  • Agentencomputer
  • Unternehmen als Code
  • Konnektoren
  • Automatisierungen
  • Kanäle
  • Agenten & Skills
  • Sicherheit
  • Self-hosted
  • Enterprise
  • Preise
  • Herunterladen

Lösungen

  • Vertrieb
  • Marketing
  • Entwicklung
  • Produkt
  • Finanzen
  • Personen
  • IT
  • Data Science

Entwickler

  • Dokumentation
  • AI Operating System
  • CLI
  • SDK
  • Schnellstart
  • Für Entwickler
  • Marketplace
  • GitHub

Unternehmen

  • Über
  • Karriere
  • Blog
  • Änderungsprotokoll
  • Anwendungsfälle
  • Marke

Verbinden

  • X
  • LinkedIn
  • Discord
  • Status
  • Support
  • Bedingungen
  • Datenschutz
©2026 Kortix