Trust every boundary
Authentication, authorisation and runtime validation live at the action—not in the interface around it.
Secure starter / ready to shape
A production-minded Next.js and Appwrite foundation with clear trust boundaries, strict defaults and a release path you can verify.
System overview
Trust boundary map
Browser
Public configuration
Next.js
Validated boundaries
Appwrite
Scoped server access
Strict
TypeScript
Nonce
CSP
1 MB
Boundary
The foundation
This starter handles the unglamorous decisions early: where secrets live, how requests cross trust boundaries, what the browser may execute and which checks must pass before release.
Authentication, authorisation and runtime validation live at the action—not in the interface around it.
Browser and server clients are separated, credentials stay server-only, and access starts from least privilege.
Types, linting, formatting, production builds and dependency checks run together before every release.
Built together
The stack is intentionally small. Every dependency has a job, and every privileged capability has a defined side of the boundary.
No unnecessary client runtime on this page.
Administrative Appwrite access stays server-only.
One command verifies the complete baseline.
Your project starts here
Replace this page with the product brief, then complete the security design before adding protected features.
src/app/page.tsx