AI writes a growing share of our code. fr()nis makes it verifiable whether that code is architecturally sound: the model proposes — a verifiable knowledge base decides.
public List<Account> findByOwner(String owner) {
String jpql = "SELECT a FROM Account a"
+ " WHERE a.owner = '" + owner + "'";
return em.createQuery(jpql, Account.class).getResultList();
}
' OR '1'='1 as the owner gets every account. SQL injection has been in the OWASP Top 10 for years, and PCI-DSS explicitly requires protection against it (Req. 6.2.4). Fix: Named parameters instead of concatenation, WHERE a.owner = :owner with setParameter.Code review was a bottleneck before AI. With assistants and agents, the volume of changes grows — the time for review doesn't.
Ask the same question tomorrow and you may get a different answer. For a binding decision, “probably right” isn't enough.
DORA and the Cyber Resilience Act require resilience and secure development to be traceable — including for code written by AI.
How healthy is the architecture, really? Make architectural risk visible and traceable before it becomes part of the purchase price — instead of relying on slide decks and gut feeling.
Write to me →Who has the final say when an agent proposes a change? Binding, traceable architecture rules instead of hope — especially where DORA or the CRA apply.
Write to me →Circuit breaker, bulkhead, timeout and retry: make resilience patterns verifiable in code instead of asserting them in documents.
Security by design across the lifecycle: secure patterns as the default, insecure ones visible early — before they ship.
Least privilege, input validation and logging as traceable architectural properties.
Requirements for the payment path and for application security, mapped into the same knowledge base.

I've been building software and designing architectures for 25 years. At TU Wien I work with Logic and AI — and on the question of how to formalise architectural knowledge so that a machine can judge by it.
I'm building fr()nis alongside my day job, with a simple standard: AI-generated code should meet the same bar as any other code — and you should be able to prove it.
Every Tuesday there's a small quiz on LinkedIn: Pattern or anti-pattern?
The legal notice is provided in German.
Medieninhaber und Diensteanbieter: DI Mag. Philipp Ruisinger, Vorgartenstraße 114/7, 1020 Wien, Österreich
Kontakt: philipp@fronis.ai
The privacy notice is provided in German. In short: no cookies, no tracking, no external services.
Verantwortlicher: DI Mag. Philipp Ruisinger, Vorgartenstraße 114/7, 1020 Wien, Österreich, philipp@fronis.ai
Was diese Seite nicht tut: Sie setzt keine Cookies, verwendet keine Analyse- oder Tracking-Werkzeuge und lädt keine Inhalte, Schriften oder Skripte von fremden Servern. Die Links zu LinkedIn sind einfache Links; LinkedIn erfährt erst etwas, wenn du einem Link folgst, dann gilt die Datenschutzerklärung von LinkedIn.
Sprachwahl: Wählst du Deutsch oder Englisch, speichert dein Browser diese Wahl lokal (localStorage, Schlüssel frnis-lang). Sie wird nicht an mich übertragen und dient nur der von dir gewünschten Anzeige (§ 165 Abs. 3 TKG 2021). Du kannst sie jederzeit in deinem Browser löschen.
Hosting: Die Seite liegt bei Amazon Web Services EMEA SARL, 38 Avenue John F. Kennedy, L-1855 Luxemburg (AWS), gespeichert im Rechenzentrum Frankfurt am Main, und wird über das Auslieferungsnetz Amazon CloudFront ausgeliefert. Dabei verarbeitet AWS technisch zwingend deine IP-Adresse, den Zeitpunkt und die aufgerufene Adresse, um die Seite auszuliefern und vor Angriffen zu schützen (Art. 6 Abs. 1 lit. f DSGVO; mein berechtigtes Interesse ist ein sicherer, funktionierender Webauftritt). Ich selbst speichere keine Zugriffsprotokolle. Mit AWS besteht ein Auftragsverarbeitungsvertrag nach Art. 28 DSGVO. Soweit Daten in die USA gelangen, stützt sich das auf den EU-US Data Privacy Framework, unter dem Amazon zertifiziert ist, sowie auf Standardvertragsklauseln der EU-Kommission.
Wenn du mir schreibst: Mails an philipp@fronis.ai nimmt AWS (Amazon Simple Email Service, Frankfurt) entgegen, legt sie für höchstens 30 Tage verschlüsselt ab und leitet sie an mein Postfach bei Google (Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland) weiter. Ich verwende deine Angaben nur, um deine Anfrage zu beantworten, auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO (vorvertragliche Anfrage) bzw. lit. f (sonstige Anfragen). Ich lösche die Korrespondenz, sobald sie erledigt ist und keine gesetzliche Aufbewahrungspflicht entgegensteht.
Deine Rechte: Du hast das Recht auf Auskunft, Berichtigung, Löschung, Einschränkung der Verarbeitung, Datenübertragbarkeit und Widerspruch (Art. 15–21 DSGVO). Schreib dafür an philipp@fronis.ai. Du kannst dich außerdem bei der Österreichischen Datenschutzbehörde beschweren (Barichgasse 40–42, 1030 Wien, dsb.gv.at).
Stand: Oktober 2026