Matrix cepat
| Toggle | Area utama yang terpengaruh | Jika dimatikan | Hal yang tetap perlu kamu cek |
|---|---|---|---|
NEXT_PUBLIC_ENABLE_AUTH | Flow login, callback auth, route login-aware, upload avatar | Auth dianggap sengaja tidak dipakai | Hapus CTA ke login/dashboard dan sesuaikan narasi landing page |
NEXT_PUBLIC_ENABLE_WAITLIST | /waitlist, POST /api/waitlist | Page dan API waitlist masuk mode disabled/fallback | Hapus link waitlist dari navigasi dan CTA |
NEXT_PUBLIC_ENABLE_CONTACT | /contact, POST /api/contact | Form kontak masuk mode disabled/fallback | Pastikan ada jalur support lain kalau form dimatikan |
NEXT_PUBLIC_ENABLE_PAYMENTS | Billing, checkout, POST /api/payments, POST /api/subscription | Flow billing dan payment dianggap sengaja mati | Hapus CTA upgrade, pricing checkout, dan janji subscription |
NEXT_PUBLIC_ENABLE_ADMIN | /admin, POST /api/admin/users/role | Panel admin dianggap sengaja tidak dipakai | Pastikan tim internal punya cara lain untuk operasi jika admin off |
NEXT_PUBLIC_ENABLE_AI | Readiness AI dan UI AI yang kamu expose | AI dianggap tidak dipakai | Sembunyikan entry point AI dan sesuaikan copy plan |
Detail per toggle
NEXT_PUBLIC_ENABLE_AUTH
NEXT_PUBLIC_ENABLE_AUTH
Dampak yang paling terasa:
/auth/confirmakan mengarahkan ke error kalau auth dianggap tidak aktif,POST /api/profile/avatarjuga memeriksa availability auth,- area dashboard dan route yang butuh session tetap harus diperlakukan sebagai area nonaktif secara produk.
- jangan arahkan user ke login atau dashboard kalau auth memang dimatikan,
- kalau produkmu hanya waitlist atau marketing site, auth off adalah setup yang wajar.
NEXT_PUBLIC_ENABLE_WAITLIST
NEXT_PUBLIC_ENABLE_WAITLIST
Dampak yang paling terasa:
- halaman
/waitlistakan menampilkan notice disabled atau not configured, POST /api/waitlistakan mengembalikan503kalau fiturnya tidak aktif,- health check akan menganggap waitlist sengaja mati atau belum siap.
- kamu sudah launch penuh,
- kamu tidak ingin mengumpulkan lead di luar flow signup.
NEXT_PUBLIC_ENABLE_CONTACT
NEXT_PUBLIC_ENABLE_CONTACT
Dampak yang paling terasa:
- halaman
/contacttetap ada, tetapi form akan masuk mode notice jika fitur belum siap, POST /api/contactakan mengembalikan503kalau fitur tidak aktif,- rate limit form kontak tidak relevan lagi kalau fitur dimatikan.
- support dipindahkan ke email langsung, Discord, WhatsApp, atau helpdesk eksternal.
NEXT_PUBLIC_ENABLE_PAYMENTS
NEXT_PUBLIC_ENABLE_PAYMENTS
Dampak yang paling terasa:
/dashboard/billingakan menampilkan state disabled atau fallback,- tombol payment di billing tidak lagi usable,
POST /api/paymentsdanPOST /api/subscriptiondianggap tidak aktif,- health check akan menandai billing dan payments sebagai fitur yang tidak dipakai.
- produk belum dijual publik,
- akses diberikan manual,
- kamu masih fase waitlist atau pilot private.
NEXT_PUBLIC_ENABLE_ADMIN
NEXT_PUBLIC_ENABLE_ADMIN
Dampak yang paling terasa:
/adminmenampilkan feature notice,POST /api/admin/users/roledianggap tidak tersedia untuk operasional harian,- tim kehilangan panel visual untuk payment, webhook, dan audit trail.
- kamu belum butuh panel internal,
- semua operasi masih dilakukan manual dari dashboard provider dan database.
NEXT_PUBLIC_ENABLE_AI
NEXT_PUBLIC_ENABLE_AI
Dampak yang paling penting untuk dipahami:
- toggle ini dipakai untuk readiness planning dan seharusnya juga mengendalikan surface AI yang kamu tampilkan ke user,
- route AI saat ini tetap sangat bergantung pada auth user, provider key, usage limit, dan rate limit,
- kalau kamu membangun UI AI sendiri, kamu tetap perlu menyembunyikannya saat toggle ini dimatikan.
- gunakan toggle ini sebagai keputusan produk,
- gunakan provider env dan auth check sebagai keputusan runtime.
Gate yang bukan toggle, tetapi sama pentingnya
| Capability | Apa yang mengaktifkan | Dampaknya kalau belum siap |
|---|---|---|
| Auth readiness | NEXT_PUBLIC_SUPABASE_URL + NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY | login, signup, waitlist berbasis Supabase, dan banyak route auth-aware akan fallback |
| Billing server writes | SUPABASE_SERVICE_ROLE_KEY | cancel, resume, admin reporting, audit, avatar signed URL, dan payment write tidak siap |
| Contact form send | RESEND_API_KEY | form kontak terlihat aktif, tetapi tidak bisa benar-benar kirim email |
| Payment provider | credential Midtrans atau Doku sesuai PAYMENT_PROVIDER | checkout end-to-end tidak bisa jalan |
| AI runtime | provider key + auth + usage limit | route AI mengembalikan 401, 429, atau 503 sesuai masalahnya |
Cara mengubah toggle dengan aman
- Ubah toggle di
.env.localatau env production. - Jalankan
npm run env:check. - Cek
GET /api/health. - Buka halaman yang paling terpengaruh.
- Pastikan navigasi dan CTA ikut disesuaikan.