Edit in GitHubLog an issue

Sensitive and environment-specific settings

This topic discusses how third-party developers can create components that designate configuration settings as being sensitive, environment-specific, or both.


Use the following guidelines to determine which settings to designate as sensitive, system-specific, or both.

Adobe Commerce and Magento Open Source store these settings in <Application root dir>/app/etc/env.php. Do not include this file in source control.

Sensitive values#

Sensitive configuration values hold restricted or confidential information.

Examples of sensitive information include:

  • Keys (such as API keys)
  • Usernames and passwords
  • E-mail addresses
  • Any personally identifiable information (e.g., address, phone number, date of birth, government identification number, etc.)

Environment or system-specific values#

Environment or system-specific values are unique to the system where the application is deployed.

Examples of environment or system-specific values include:

  • URLs
  • IP addresses
  • Ports
  • Hostnames
  • Domain names
  • Paths (e.g., custom paths, proxy host, proxy port)
  • "modes" (e.g, sandbox mode, debug mode, test mode)
  • SSL (only for non-payment)
  • E-mail recipients
  • Administrative settings between systems (e.g., password expiration limits)

How to specify values as sensitive or system-specific#

Add a reference to Magento\Config\Model\Config\TypePool to the di.xml file to specify either a system-specific or sensitive configuration value.

Example: Sensitive settings#

Copied to your clipboard
1<type name="Magento\Config\Model\Config\TypePool">
2 <arguments>
3 <argument name="sensitive" xsi:type="array">
4 <item name="payment/test/password" xsi:type="string">1</item>
5 </argument>
6 </arguments>

After specifying the sensitive setting, use the following commands to verify it:

Copied to your clipboard
bin/magento cache:clean
Copied to your clipboard
bin/magento app:config:dump

A message similar to the following is displayed:

Copied to your clipboard
1The configuration file doesn't contain sensitive data for security reasons. Sensitive data can be stored in the following environment variables:
2CONFIG__DEFAULT__PAYMENT__TEST__PASWORD for payment/test/password

Example: System-specific settings#

Copied to your clipboard
1<type name="Magento\Config\Model\Config\TypePool">
2 <arguments>
3 <argument name="environment" xsi:type="array">
4 <item name="catalog/search/searchengine/port" xsi:type="string">1</item>
5 </argument>
6 </arguments>

Sensitive, system-specific setting#

To set a configuration setting as both sensitive and system-specific, create two entries with the name property for argument set to sensitive for one entry and environment for the other.

Was this helpful?
  • Privacy
  • Terms of Use
  • Do not sell my personal information
  • AdChoices
Copyright Ā© 2022 Adobe. All rights reserved.