$ python deploy_check.py http://127.0.0.1:6143
PASS  GET / answers 302 (a redirect to the login page)
PASS  Server header without a version number: 'gunicorn'
PASS  X-Content-Type-Options: nosniff
WARN  protection against framing (X-Frame-Options): missing
WARN  not HTTPS: fine on the counter PC, never on the internet
PASS  session cookie flags: httponly, samesite=lax
PASS  private answers are not cached (Cache-Control: no-store)
PASS  error page is plain: status 404, leaks none
PASS  no debugger console at /console (status 404)
PASS  API errors are JSON: status 404

8 pass, 2 warn, 0 fail for http://127.0.0.1:6143
(exit code 0)

$ python deploy_check.py http://127.0.0.1:6144
PASS  GET / answers 302 (a redirect to the login page)
PASS  Server header without a version number: 'nginx'
PASS  X-Content-Type-Options: nosniff
PASS  protection against framing (X-Frame-Options): DENY
WARN  not HTTPS: fine on the counter PC, never on the internet
PASS  session cookie flags: httponly, samesite=lax
PASS  private answers are not cached (Cache-Control: no-store)
PASS  error page is plain: status 404, leaks none
PASS  no debugger console at /console (status 404)
PASS  API errors are JSON: status 404

9 pass, 1 warn, 0 fail for http://127.0.0.1:6144
(exit code 0)

$ python deploy_check.py https://127.0.0.1:6145 --insecure
PASS  GET / answers 302 (a redirect to the login page)
PASS  Server header without a version number: 'nginx'
PASS  X-Content-Type-Options: nosniff
PASS  protection against framing (X-Frame-Options): DENY
PASS  Strict-Transport-Security: max-age=31536000
PASS  session cookie flags: httponly, samesite=lax, secure
PASS  private answers are not cached (Cache-Control: no-store)
PASS  error page is plain: status 404, leaks none
PASS  no debugger console at /console (status 404)
PASS  API errors are JSON: status 404

10 pass, 0 warn, 0 fail for https://127.0.0.1:6145
(exit code 0)

