Security
Vortex covers 3 security concerns: secrets committed to the codebase (Secret scanning), vulnerable dependencies (Dependency audit), and access to non-production environments (Shield).
Environment access
Shield restricts access to your
site by requiring HTTP authentication credentials. Vortex forces Shield
on in the dev and stage hosted environments, keeps local development and
CI accessible without authentication, and leaves production alone so Shield
stays under UI control there. The credentials come from the
DRUPAL_SHIELD_USER and DRUPAL_SHIELD_PASS environment variables.
➡️ See Modules > Shield for the full entry, including the overrides that disable Shield for 1 environment or open the Let's Encrypt challenge path.
Continuous integration
Both scans run in the security audit
workflow, which is
separate from the build pipeline. That way, a failing audit is never
confused with a failing linter and can be re-run on its own. Because it's a
separate workflow, it isn't a dependency of the deploy job, so a failing
audit doesn't by itself stop a deployment. To block merges on it, add its
check to the repository's branch protection rules as a required status
check.
In GitHub Actions, both scans also upload their findings to the repository's Security → Code scanning tab, which keeps an inventory of what's currently open.
➡️ See Code scanning.