Goal
Hub env names should be predictable: ENDATIX_ only for Endatix API / product identity; integrations use a domain stem (POSTHOG_*, STORAGE_*, AUTH_*). Public vs secret is which reader (readPublicEndatixEnv vs server-only), not the ENDATIX_ prefix. NEXT_PUBLIC_* stays forbidden except NEXT_PUBLIC_BASE_PATH.
Implementation Notes
ENDATIX_POSTHOG_* exists only because we migrated off NEXT_PUBLIC_* and reused ENDATIX_ as “request-time public”. That collides with ENABLE_POSTHOG_ADAPTER and with STORAGE_ / AUTH_ style.
This issue (churn allowed — Hub is the only consumer):
ENDATIX_POSTHOG_KEY|HOST|UI_HOST → POSTHOG_KEY|HOST|UI_HOST
ENABLE_POSTHOG_ADAPTER → POSTHOG_ADAPTER (true/false)
- SWA workflow, sandbox-deploy, Helm,
.env.example, Environment admin labels, readPublicEndatixEnv, flag adapter
- Document the convention in
hub/AGENTS.md (Configuration section)
Exceptions (do not rename in this issue): ENDATIX_BASE_URL / API_URL / API_PREFIX; ENDATIX_ENABLE_EXTENSIONS; ENDATIX_SURVEY_LICENSE_KEY; ENDATIX_RECAPTCHA_SITE_KEY; ENDATIX_IS_DEBUG_MODE; ENDATIX_SUBMITTER_*; ENDATIX_RESOLVED_*; NEXT_PUBLIC_BASE_PATH; Auth.js AUTH_*; FLAG_*.
No dual-name fallback.
Goal
Hub env names should be predictable:
ENDATIX_only for Endatix API / product identity; integrations use a domain stem (POSTHOG_*,STORAGE_*,AUTH_*). Public vs secret is which reader (readPublicEndatixEnvvs server-only), not theENDATIX_prefix.NEXT_PUBLIC_*stays forbidden exceptNEXT_PUBLIC_BASE_PATH.Implementation Notes
ENDATIX_POSTHOG_*exists only because we migrated offNEXT_PUBLIC_*and reusedENDATIX_as “request-time public”. That collides withENABLE_POSTHOG_ADAPTERand withSTORAGE_/AUTH_style.This issue (churn allowed — Hub is the only consumer):
ENDATIX_POSTHOG_KEY|HOST|UI_HOST→POSTHOG_KEY|HOST|UI_HOSTENABLE_POSTHOG_ADAPTER→POSTHOG_ADAPTER(true/false).env.example, Environment admin labels,readPublicEndatixEnv, flag adapterhub/AGENTS.md(Configuration section)Exceptions (do not rename in this issue):
ENDATIX_BASE_URL/API_URL/API_PREFIX;ENDATIX_ENABLE_EXTENSIONS;ENDATIX_SURVEY_LICENSE_KEY;ENDATIX_RECAPTCHA_SITE_KEY;ENDATIX_IS_DEBUG_MODE;ENDATIX_SUBMITTER_*;ENDATIX_RESOLVED_*;NEXT_PUBLIC_BASE_PATH; Auth.jsAUTH_*;FLAG_*.No dual-name fallback.