In NestJS, configuration namespaces help organize config values under a named scope. When the app starts, the ConfigModule loads configuration with a namespace like 'database'. This means all config keys are grouped under 'database'. To access a config value, you must use the full key path including the namespace, for example 'database.db.host'. Trying to access 'db.host' without the namespace returns undefined because the config is scoped. This keeps config keys isolated and avoids conflicts. The ConfigService is injected and used to get config values by their namespaced keys. If multiple namespaces exist, each keeps its own keys separate. Removing the namespace means keys are global and accessed without prefix. This visual trace shows each step from loading the config, defining the namespace, injecting the service, accessing keys, and using the values in the app.