Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wHZ4J-007J5U-38 for pgsql-general@arkaria.postgresql.org; Tue, 28 Apr 2026 03:25:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wHZ4J-00Fcjs-0g for pgsql-general@arkaria.postgresql.org; Tue, 28 Apr 2026 03:25:03 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wHZ4I-00Fcjk-2d for pgsql-general@lists.postgresql.org; Tue, 28 Apr 2026 03:25:02 +0000 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wHZ4G-00000003ST4-20ps for pgsql-general@postgresql.org; Tue, 28 Apr 2026 03:25:02 +0000 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-2b24fdac394so104097325ad.3 for ; Mon, 27 Apr 2026 20:24:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777346698; x=1777951498; darn=postgresql.org; h=to:date:message-id:subject:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=Zy84mUB3FLVsHZAtVQWqjrH9AINZvFsHzN+4cx3PZ5g=; b=X/6NnUeqah3mkMVsIJINmA9bhqcrVdBLyo4eBbi+RBaB41nbsH/gOjRlIP2Z67Dbm/ WIu+Q/V0O0nUf0he43mEmj5KUKtghJgof0PSn3xOj1AwaUErDauyPIuU77hzI5fd20ur 8+vk3RVhNc/t7MxUqMTQfcAdAqOy/mgaAs8b2NEFSu56vhmVZGZSlEYHmzAMKHA1JXpX FZW721t4juAxf1Ps3WArikoRBjErgQk87Txxw/QzLuEGB4dTuiGvQesbQZnMKA0rHm5Z Q0D5j14/EVBPCsVLYujTTA52pEqZLBseaFqsHO+3XByMq52j4bk1xV6MZszRY389XdgP aOQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777346698; x=1777951498; h=to:date:message-id:subject:mime-version:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Zy84mUB3FLVsHZAtVQWqjrH9AINZvFsHzN+4cx3PZ5g=; b=ATsWuYh+HR4A9rBgLF3NeziMYsT3oYV9gclsP77xivbEPlsrWPIPpvDPl6WuRSql6A ZfCTba+75hv/A42YlJ+mO2ZDiYkaJUv1RU0IO2/Rmvisr4jUS65HPjDLTi1DsfPNCNQT 0JIw2zSmdw9JrXMGmg5shi/L9DH1obnBtWl7fZB96FQFbnc24BXPOPZ1+teWY5AhP/NE WJxIC3/S2JCUf7ZlHog+AEWyiw5IDiitFX6LGVLHt2dkplYzyah35WLquOtGAH06RM3u jl+BUsRauKM6MPK9B/kiLiX9+sHSSLSnaeF4O0D2gAKOnaRSW/Wfj/tc3gtiBlvItAMA b2zQ== X-Gm-Message-State: AOJu0YzohYStmSPw+vSSNwNGwxpc5vjhtACkAnhvbXW536T4j65qE73k VkJVx/T/8yTHh2z7yLOtW/7z6OrgkCu3S8jjMbxEopN3s1DUtKhMNXSTApxmknAx128= X-Gm-Gg: AeBDiesjMrc72cwyMoity47lJBqDfCmrANHpYWdbE6bpxF/30CL6WmAVk7VxWjlv4Q8 oKXNtPMc6St/ESXsJZIp9tXDtG2ZK/ubGcxM6vHP9j2a2EAdL0K3dOPqWqYO2bFRNbY1jp+7tbH Cw+3MKbjq5T698Zn6Gn+COjgNet4/AKQI9dtqx2i6II85N2AwPyZmaImhJMX+MF7t4FdDR993Ri H9jTo3tr858Pn/yttc84csyzoeoO/1MgXgfO++t7ESTAtUyW4JPnol3PxgHcY7GbivOyL5src/D Sp7w/cuwknp3l6UcxnKuI60TS6rdTxD8sBIdcvJkPcIVukY2DD4ANaV0t98mAf4oePM7YAMCeE3 XIE5dqlVgmlZc3L5bxrvW6sZdX7lKCJmUgcmhkAAOFNtmbt7Ype9nWTlr4o3yvrsJpH+aMDWre7 wRdSXMs9ZUp7ToIV7P6RatyO5bIdVkPPr4T93u833/NIxiBf+bRn0j/AEyAKo+5rBm2Zfy94fXF hXEDzd2xr8QNNQr/ySW X-Received: by 2002:a17:903:120c:b0:2ae:55eb:f82d with SMTP id d9443c01a7336-2b97c3d178amr12372415ad.1.1777346697379; Mon, 27 Apr 2026 20:24:57 -0700 (PDT) Received: from smtpclient.apple (60-240-79-46.static.tpgi.com.au. [60.240.79.46]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b97ac78792sm9123555ad.41.2026.04.27.20.24.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Apr 2026 20:24:56 -0700 (PDT) From: "guyren@relevantlogic.com" X-Google-Original-From: "guyren@relevantlogic.com" Content-Type: multipart/alternative; boundary="Apple-Mail=_C60C17F2-47FE-4A76-BB35-7C9DFC04CB34" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.500.181\)) Subject: Describing the natural architecture for an internet-facing Postgres based app: feedback sought Message-Id: <4237964E-B88B-4F6B-AD3D-FD67C17ED480@relevantlogic.com> Date: Tue, 28 Apr 2026 13:24:41 +1000 To: PostgreSQL General X-Mailer: Apple Mail (2.3864.500.181) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --Apple-Mail=_C60C17F2-47FE-4A76-BB35-7C9DFC04CB34 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Coming from a Rails/PHP/etc world. All of those communities generally = hold that the database should be treated as a dumb data bucket with all = the logic in the middleware. I=E2=80=99ve long thought someone should write up what the alternative = architecture using Postgres to its fullest would look like. In order to = differentiate it, I start from the security advantages and work forward. I=E2=80=99d love to get some feedback on it. Harsh criticism is most = useful=E2=80=A6 :-) lydb.xyz/zero-authority-architecture = = --Apple-Mail=_C60C17F2-47FE-4A76-BB35-7C9DFC04CB34 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Coming = from a Rails/PHP/etc world. All of those communities generally hold that = the database should be treated as a dumb data bucket with all the logic = in the middleware.

I=E2=80=99ve long thought someone should write = up what the alternative architecture using Postgres to its fullest would = look like. In order to differentiate it, I start from the security = advantages and work forward.

I=E2=80=99d love to get some = feedback on it. Harsh criticism is most useful=E2=80=A6 :-)

lydb.xyz/zero-authority-architecture
= --Apple-Mail=_C60C17F2-47FE-4A76-BB35-7C9DFC04CB34--