Source ReviewPASS
Execution surface of the delivery reviewed item by item. Our own additions were read: compose.yaml (the web port is bound to 127.0.0.1 only; it refuses to start when any key or password is missing; the database and queue ports are not exposed; the version check is off; inline scripts in user input and custom JavaScript charts are not enabled; the data uses named volumes), scripts/quickstart/first-run.sh (creates the tables and creates the administrator by command, without duplicating on a rerun), scripts/quickstart/seed-demo.py (creates the demo data source, query and bar chart through the web service’s own REST API; the administrator API key is read straight from the database and not printed), scripts/quickstart/init-env.sh (openssl generates random values, .env is mode 600, an existing .env is not overwritten) and one change in redash/models/users.py (avatars use the built-in default image, so no email hash is sent to an outside site). The upstream Python and front-end sources were not read file by file; the basis is the BSD-2-Clause licence and container isolation.