Datenquellen · Remote-Funktionen

Live-Daten aus Ihren Systemen — ohne sie aus der Hand zu geben.

Der Connect-Agent läuft als Container in Ihrem Netz und liefert echte Daten ins Portal: Verträge, Belege, Schadenfälle. Kein VPN, kein offener Port, keine rohen Zugangsdaten in der Cloud.

Enthalten in den Paketen Basis und Anbindung

Datenquellen und Import gehören zur Basis. Connect-Agent, Aktionen, API und Webhooks bringt das Paket Anbindung.

Die Tür geht nur von innen auf.

Ihr Netz

Bestand

MS-SQL

Interne API

REST

Connect-Agent

Docker-Container neben der Datenbank

SQL, Zugangsdaten, interne IPs bleiben hier

Firewall

↓ausgehend · 443

eingehend: zu

Portenia Cloud

kennt nur Name und Parameter:

vertraege_des_kunden(kundennr)

kunden.mueller-bau.de/vertraege

Ihre Verträge

Betriebshaftpflichtaktiv
Gebäudeaktiv
Kfz-Flottein Prüfung

● live aus dem Bestand

Kein VPN, kein offener PortDer Agent wählt sich aus — nicht umgekehrt

So läuft eine Anfrage

Vom Klick im Portal bis zur Antwort — Schritt für Schritt.

Defense-in-Depth statt Vertrauensvorschuss: Die Cloud bittet um ein Ergebnis, der Agent entscheidet, ob und wie.

Ihr Netz

Connect-Agent

Allowlist · Param-Binding

Datenbank

read-only · maxRows

WSS · 443
ausgehend · kein VPN

Portenia-Cloud

Portal-Engine

kennt Query-Namen, kein SQL

Endkunden-Portal

rendert das Widget

— auf der Leitung gerade still —

1Endkunde öffnet das Portal

„Zeig mir meine Verträge." Das Portal braucht Daten — fragt aber nie direkt die Datenbank.

Über die Leitung reisen nur Query-Name, Parameter und das Ergebnis. SQL, Zugangsdaten und interne IPs bleiben in Ihrem Netz.

Vorschau

Nachgebaut aus dem Produkt — so sieht es im Alltag Ihres Teams aus.

Die Cloud kennt kein SQL

Der Agent besitzt die Allowlist: nur benannte Abfragen mit geprüften Parametern. Die Cloud kennt Namen und Parameter — nie das SQL, nie Zugangsdaten, nie interne Adressen.

Portenia Cloud kennt
Abfrage
vertraege_des_kunden
Parameter
kundennr: Text, Pflicht
Höchstens
200 Zeilen
Name + Parameter hin,
Ergebnis zurück
Nur der Agent kennt
SELECT nr, sparte, praemie
  FROM vertraege
 WHERE kunde_nr = @kundennr
  • Verbindung: verschlüsselt, nur im Agent entschlüsselt
  • Server: 10.0.4.12 — sieht die Cloud nie
Kein freies SQL — nur benannte AbfragenParameter gebunden, nie zusammengesetzt

Ihre Datenquellen an einem Ort

Jede Datenquelle mit ihren Feldern, Verknüpfungen und ihrer Herkunft: live über den Connect-Agent, als eigene Datenquelle in Portenia oder per CSV geladen.

Datenquellen

Verträge

Connect-Agent · SQL

live
VertragSpartePrämieStatus+4

verknüpft mit Kunden

Schadenfälle

Connect-Agent · HTTP

live
Schaden-Nr.DatumHöhe+3

verknüpft mit Verträge

Objekte

Eigene Datenquelle

in Portenia
AdresseBaujahrFläche

Ansprechpartner

CSV-Import

in Portenia
NameRolleTelefon

verknüpft mit Kunden

Grundlage für Widgets, Formulare und Auswertungen

Die Kontrolle bleibt in Ihrem Haus

Beim Start erzeugt der Agent einen Admin-Schlüssel, der nur einmal im Log erscheint. Und ein „docker stop“ trennt jeden Zugriff sofort — ohne Anruf bei uns.

Server im Haus · Terminal

$ docker compose up -d agent

Verbunden mit Portenia (WSS, ausgehend)

Admin-Schlüssel — nur jetzt sichtbar:

7f3a9c…e41b

3 Abfragen in der Allowlist

$ docker stop agent

Agent gestoppt. Verbindung getrennt.

kunden.mueller-bau.de/vertraege

Ihre Verträge

Gerade nicht erreichbar

Die Verbindung zum Bestand ist getrennt.

Schlüssel nur im Arbeitsspeicher, einmal im LogKill-Switch: docker stop

Warum das den Unterschied macht

Mittelstands-IT öffnet kein VPN für einen Cloud-Anbieter und hat selten Entwickler, die eigene APIs bauen. Genau hier scheitert Standard-SaaS — und genau hier setzt der Connect-Agent an.

  • Doppelte Datenpflege, weil Bestandssysteme und Portal nicht reden.
  • „Geben Sie uns Ihre DB-Zugangsdaten“ — ein No-Go für jede DSGVO-bewusste IT.
  • Integrations-Plattformen wie Workato oder MuleSoft können das — kosten aber fünfstellig.

Im Paket Anbindung

Der Connect-Agent gehört zum Paket Anbindung — zusammen mit Aktionen, der öffentlichen API und Webhooks. Kein eigenes Integrationsprojekt, kein zweiter Anbieter.

Läuft in Ihrem Netz

Ein schlanker Docker-Container im Haus des Kunden — neben der Datenbank, hinter der Firewall. Die Daten verlassen Ihr Netz nie unkontrolliert.

Nur 443 nach außen

Der Agent baut eine persistente, ausgehende WSS-Verbindung zur Cloud auf. Kein eingehender Port, kein VPN, keine Ausnahme in der Firewall.

Die Cloud kennt kein SQL

Der Agent besitzt die Allowlist: nur benannte Queries mit geprüften Parametern werden ausgeführt. Die Cloud kennt Namen und Parameter — Datenbank-Zugangsdaten gibt sie bei der Einrichtung nur an den Agenten weiter und speichert sie nicht.

Ephemeral Admin-Key

Beim Start erzeugt der Agent einen 256-Bit-Schlüssel — nur im Arbeitsspeicher, einmal im Log. Ihre IT gibt ihn an den Tenant-Admin. Config-Änderungen laufen über diesen Schlüssel; die Cloud sieht ihn nie dauerhaft.

Hochverfügbar

Mehr Last? `replicas: N` — die Cloud verteilt Anfragen auf die am wenigsten ausgelastete Instanz. Fällt eine aus, übernehmen die anderen.

Kill-Switch beim Kunden

Die Kontrolle bleibt im Haus: ein `docker stop` trennt jeden Zugriff sofort. Kein Anruf bei uns, keine Wartezeit.

Remote-Funktionen

Drei Relays — ein Agent.

Die Cloud löst eine Funktion aus, der Agent führt sie in Ihrem Netz aus und schickt nur das Ergebnis zurück.

SQL-Relay

Benannte Datenbank-Abfragen

Verträge, Schadenfälle, Provisionen direkt aus Microsoft SQL Server, PostgreSQL, MySQL, MariaDB oder Oracle. Parameter werden gebunden, nie konkateniert — SQL-Injection ist strukturell unmöglich. Ergebnis auf maxRows begrenzt.

HTTP-Relay

Interne APIs anzapfen

Ein REST-Endpunkt im internen Netz wird über einen symbolischen Namen angesprochen. Die Cloud kennt die echte URL nicht — SSRF-Schutz inklusive, erlaubte Methoden pro Ziel.

Webhook-Relay

Ereignisse ins interne Netz

Ereignisse aus Portenia — „Formular abgesendet", „Termin angelegt" — erreichen über den Agenten auch Systeme ohne öffentliche Adresse. Nur Ziele aus der lokalen Freigabeliste, mit Wiederholungen und Zustellprotokoll.

Kein Bestandssystem? Auch gut.

Datenquellen müssen nicht aus einem Fremdsystem kommen. Sie definieren eigene Objekttypen mit beliebigen Feldern — und füllen sie, wie es passt.

Visueller Felder-Editor

Schema per Drag-and-Drop: Text, Zahl, Datum, Währung, Auswahl, Verweise. Validierung und Anzeige-Regeln inklusive.

CSV-Import

Bestand per CSV laden — mit Spalten-Mapping und Vorschau vor dem finalen Import.

Formular schreibt Eintrag

Ein Portal-Formular legt seine Antworten direkt als neuen Datensatz an. Der Endkunde liefert, Sie haben es strukturiert.

Sicherheit

Sieben Schichten Defense-in-Depth.

Jede Schicht steht für sich. Fällt eine, halten die anderen.

  1. 1Query-Allowlist — kein freies SQL, nur benannte Queries mit Parameter-Binding
  2. 2Mandanten-Filter server-seitig injiziert — nie vom Client kontrollierbar
  3. 3DB-User read-only mit DENY auf sensible Tabellen (von Ihrer DBA enforced)
  4. 4Verschlüsselte Datenbank-Verbindung; Passwörter auf Wunsch nur als Umgebungsvariable im Agenten
  5. 5Ergebnis je Abfrage auf eine Höchstzahl Zeilen begrenzt — kein Abzug des ganzen Bestands
  6. 6Konto-Schutz: Zwei-Faktor-Anmeldung für Team und Kunden, SSO über Microsoft Entra ID
  7. 7Kunden-Kill-Switch — `docker stop` trennt sofort

Wie öffentliche API, Webhooks und MCP-Server dazu passen, steht auf der Integrationsseite.

On-Prem-Daten ohne Bauchschmerzen?

Lassen Sie uns über Ihre Bestandssysteme sprechen — wir zeigen den Connect-Agent live im Einsatz.

Persönlich, zu Ihrem Wunschtermin

Demo anfragen