~/.safe-chain/config.json. This file is optional — Safe Chain works without it, using built-in defaults.
Config file values have the lowest priority. CLI flags and environment variables override any setting defined here.
Full schema
Keys
Global minimum age (in hours) a package must have before Safe Chain allows its installation. Applies to all ecosystems.Default:
48Maximum time in milliseconds Safe Chain will wait for the pre-install malware scan to complete. If the scan does not finish within this window, Safe Chain throws an error and the installation is aborted.Default:
10000 (10 seconds)This setting can also be overridden with the
AIKIDO_SCAN_TIMEOUT_MS environment variable, which takes precedence over the config file value.An array of npm package names or scopes to exclude from the minimum package age check. Supports
@scope/* wildcards to trust all packages from an organization.Exclusions defined here are merged with any exclusions set via the SAFE_CHAIN_MINIMUM_PACKAGE_AGE_EXCLUSIONS environment variable.An array of npm registry hostnames that Safe Chain should scan in addition to the default npm registry.Registries defined here are merged with any registries set via the
SAFE_CHAIN_NPM_CUSTOM_REGISTRIES environment variable.An array of Python package names to exclude from the minimum package age check for the pip ecosystem.Exclusions defined here are merged with any exclusions set via the
SAFE_CHAIN_MINIMUM_PACKAGE_AGE_EXCLUSIONS environment variable.An array of PyPI registry hostnames that Safe Chain should scan in addition to the default PyPI registry.Registries defined here are merged with any registries set via the
SAFE_CHAIN_PIP_CUSTOM_REGISTRIES environment variable.Priority order
When the same setting is configured in multiple places, Safe Chain applies this precedence:- CLI flags (highest priority) — e.g.
--safe-chain-minimum-package-age-hours=24 - Environment variables — e.g.
SAFE_CHAIN_MINIMUM_PACKAGE_AGE_HOURS=24 - Config file (
~/.safe-chain/config.json) — lowest priority
minimumPackageAgeExclusions, customRegistries), values from environment variables and the config file are merged together rather than one overriding the other.