Enjab Developers
Changelog

Engineering Standards

Version history for the Enjab Engineering Standards. Each entry says what changed and the exact action to adopt it.

Changes to the Engineering Standards, newest first. The current standards version is 2026.06.11a. To bring a tool up to date, see Update an existing tool or use the combined update prompt on the Update overview.

2026.06.11a: Cloudflare HTTPS is Flexible (plain HTTP origin)

Engineering Standards · 11 Jun 2026

Changed. For self-hosted (non-Vercel) tools behind Cloudflare, the TLS setup is now Flexible: the origin serves plain HTTP and installs no certificate at all; Cloudflare terminates HTTPS at the edge (Universal SSL) and talks HTTP to the origin. This replaces the previous Full (strict) + Cloudflare Origin Certificate guidance. The origin must listen on HTTP only and must not redirect to HTTPS itself. See Deployment.

Apply. In Cloudflare, set SSL/TLS encryption mode to Flexible and keep Always Use HTTPS on. Remove any origin certificate and any origin-side HTTP-to-HTTPS redirect; serve the app over HTTP.

2026.06.08f: Object storage on Cloudflare R2, never self-hosted

Engineering Standards · 8 Jun 2026

Changed. New storage rule. Files and objects go to Cloudflare R2 (preferred, always the Enjab ceo [at] enjab [dot] ae account, never personal) or, only when genuinely better, the VPS disk. Never self-host object storage (no MinIO/Ceph/homemade S3). See Storage.

Apply. Move any blob/file storage to the Enjab R2. Drop any self-hosted object store.

2026.06.08e: Databases are always the Enjab Supabase

Engineering Standards · 8 Jun 2026

Changed. New database rules. Every database is Supabase (managed Postgres), always the Enjab account (ceo [at] enjab [dot] ae), never personal and never self-hosted on a VPS. Row Level Security is on by default (disable only when genuinely needed). RAG/vector search uses Supabase pgvector, not a separate vector DB. See Databases.

Apply. Confirm your DB is on the Enjab Supabase with RLS enabled where it makes sense. Move any self-hosted or personal DB onto it.

2026.06.08d: VPS must be Hetzner Ubuntu, hardened before use

Engineering Standards · 8 Jun 2026

Changed. New server rules. A VPS must be a supported Ubuntu LTS (22.04/24.04/26.04), on Hetzner only, dual-stack (IPv4 + IPv6). You never ssh in as root and start: a one-command provisioner hardens it (key-only server sudo user with passwordless sudo, root + password SSH disabled, fail2ban, ufw, unattended security updates, Docker). See Servers (VPS).

Apply. Provision every new box with bash <(curl -fsSL https://developers.enjab.ae/provision-vps.sh) before it runs anything. Retire boxes that are not Hetzner Ubuntu.

2026.06.08c: No raw emails on public pages

Engineering Standards · 8 Jun 2026

Changed. New security rule. On public, unauthenticated pages, never write an email as plaintext or a mailto: link, harvesters scrape both from the page source. Show it broken up in a fixed format instead: ceo [at] enjab [dot] ae (replace @ with [at] and each . with [dot]), as plain text, no mailto:. Behind login, emails can be shown normally. See Security.

Apply. Sweep your public pages (landing, contact, footer) for any plaintext email or mailto: link and rewrite each in the [at] / [dot] format. Leave auth-gated pages as they are.

2026.06.08b: Deploy from Git, on the Enjab GitHub org

Engineering Standards · 8 Jun 2026

Changed. New pipeline rules. Every Enjab project lives in the Enjab GitHub org (the ceo [at] enjab [dot] ae / EnjabMedical account), never a personal account. Deployment is Git-based: connect Vercel to the repo and let it deploy automatically on push (production from main, previews for everything else), never a manual vercel deploy from a machine. See Pipeline.

Apply. Move any tool's repo into the Enjab org if it is not already there. In Vercel, connect the project to that GitHub repo, confirm auto-deploy on push, and drop any manual-deploy step from your workflow.

2026.06.08a: Host on Vercel, or Cloudflare-fronted elsewhere

Engineering Standards · 8 Jun 2026

Changed. New deployment rules. Host on Vercel by default (TLS and the CDN are handled for you). If a tool must run on a VPS or your own server instead, put the domain behind Cloudflare with the orange cloud on (proxied) and let Cloudflare handle HTTPS (a Cloudflare Origin Certificate on the origin, SSL/TLS mode Full (strict), and Always Use HTTPS), so you never chase certificates. See Deployment.

Apply. Keep tools on Vercel where it makes sense. For anything self-hosted, turn on Cloudflare's orange cloud and move TLS to Cloudflare per the deployment standard.

On this page