Jamie Craane personal blog

My views, thoughts and experiences about Fullstack software development.

Multi-Tenancy With Postgres Row-Level Security in Ktor

Enforcing tenant isolation in the database instead of in every query

How I use Postgres Row-Level Security, a non-owner application role, and a small Kotlin transaction wrapper to guarantee tenant isolation in a production Ktor and Exposed application.

Operational Guardrails for Autonomous AI Agents in Production

Reliability Engineering in the AI Era

Defense in Depth practices for running autonomous AI agents safely — from least-privilege credentials and environment segregation to soft deletes, PITR, and RPO/RTO targets.