{"date":"2026-10-12","repo":{"name":"github.com/PostHog/posthog","commit":"2fae7991a2b509e05209e3819cc26a6e0672de4c"},"scorecard":{"version":"v5.6.0","commit":"61e84743356275f6ffca23b1b2f2cb945e19eb96"},"score":4.6,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#packaging","short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall."}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#code-review","short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged."}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 20 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#maintained","short":"Determines if the project is \"actively maintained\"."}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#token-permissions","short":"Determines if the project's workflows follow the principle of least privilege."}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#dangerous-workflow","short":"Determines if the project's GitHub Action workflows avoid dangerous patterns."}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#cii-best-practices","short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge."}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#license","short":"Determines if the project has defined a license."}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/PostHog/.github/SECURITY.md:1","Info: Found linked content: github.com/PostHog/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/PostHog/.github/SECURITY.md:1","Info: Found text in security policy: github.com/PostHog/.github/SECURITY.md:1"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#security-policy","short":"Determines if the project has published a security policy."}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact agent-v2.4.261 not signed: https://api.github.com/repos/PostHog/posthog/releases/410618195","Warn: release artifact agent-v2.4.260 not signed: https://api.github.com/repos/PostHog/posthog/releases/410614097","Warn: release artifact agent-v2.4.259 not signed: https://api.github.com/repos/PostHog/posthog/releases/410495580","Warn: release artifact agent-skills-v0.2961.0 not signed: https://api.github.com/repos/PostHog/posthog/releases/410700958","Warn: release artifact agent-skills-v0.2960.0 not signed: https://api.github.com/repos/PostHog/posthog/releases/410685575","Warn: release artifact agent-v2.4.261 does not have provenance: https://api.github.com/repos/PostHog/posthog/releases/410618195","Warn: release artifact agent-v2.4.260 does not have provenance: https://api.github.com/repos/PostHog/posthog/releases/410614097","Warn: release artifact agent-v2.4.259 does not have provenance: https://api.github.com/repos/PostHog/posthog/releases/410495580","Warn: release artifact agent-skills-v0.2961.0 does not have provenance: https://api.github.com/repos/PostHog/posthog/releases/410700958","Warn: release artifact agent-skills-v0.2960.0 does not have provenance: https://api.github.com/repos/PostHog/posthog/releases/410685575"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#signed-releases","short":"Determines if the project cryptographically signs release artifacts."}},{"name":"Branch-Protection","score":4,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: 'stale review dismissal' is disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is required - but no codeowners file found in repo","Warn: 'last push approval' is disabled on branch 'master'","Warn: 'up-to-date branches' is disabled on branch 'master'","Info: status check found to merge onto on branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#branch-protection","short":"Determines if the default and release branches are protected with GitHub's branch protection settings."}},{"name":"Binary-Artifacts","score":0,"reason":"binaries present in source code","details":["Warn: binary detected: frontend/src/scenes/terminal/assets/jq-linux-i386.bin:1","Warn: binary detected: packages/agent/packages/enricher/grammars/tree-sitter-go.wasm:1","Warn: binary detected: packages/agent/packages/enricher/grammars/tree-sitter-javascript.wasm:1","Warn: binary detected: packages/agent/packages/enricher/grammars/tree-sitter-python.wasm:1","Warn: binary detected: packages/agent/packages/enricher/grammars/tree-sitter-ruby.wasm:1","Warn: binary detected: packages/agent/packages/enricher/grammars/tree-sitter-tsx.wasm:1","Warn: binary detected: packages/agent/packages/enricher/grammars/tree-sitter-typescript.wasm:1","Warn: binary detected: packages/agent/packages/enricher/grammars/tree-sitter.wasm:1","Warn: binary detected: posthog/user_scripts/aggregate_funnel_aarch64:1","Warn: binary detected: posthog/user_scripts/aggregate_funnel_x86_64:1","Warn: binary detected: posthog/user_scripts/decompress_udf_aarch64:1","Warn: binary detected: posthog/user_scripts/decompress_udf_x86_64:1","Warn: binary detected: posthog/user_scripts/json_clean_posthog_event_properties_udf_aarch64:1","Warn: binary detected: posthog/user_scripts/json_clean_posthog_event_properties_udf_x86_64:1","Warn: binary detected: posthog/user_scripts/json_drop_keys_udf_aarch64:1","Warn: binary detected: posthog/user_scripts/json_drop_keys_udf_x86_64:1","Warn: binary detected: posthog/user_scripts/json_strip_empty_strings_and_nulls_udf_aarch64:1","Warn: binary detected: posthog/user_scripts/json_strip_empty_strings_and_nulls_udf_x86_64:1","Warn: binary detected: posthog/user_scripts/v10/aggregate_funnel_aarch64:1","Warn: binary detected: posthog/user_scripts/v10/aggregate_funnel_x86_64:1","Warn: binary detected: posthog/user_scripts/v11/aggregate_funnel_aarch64:1","Warn: binary detected: posthog/user_scripts/v11/aggregate_funnel_x86_64:1","Warn: binary detected: posthog/user_scripts/v12/aggregate_funnel_aarch64:1","Warn: binary detected: posthog/user_scripts/v12/aggregate_funnel_x86_64:1","Warn: binary detected: posthog/user_scripts/v12/json_drop_keys_udf_aarch64:1","Warn: binary detected: posthog/user_scripts/v12/json_drop_keys_udf_x86_64:1","Warn: binary detected: posthog/user_scripts/v5/aggregate_funnel_aarch64:1","Warn: binary detected: posthog/user_scripts/v5/aggregate_funnel_x86_64:1","Warn: binary detected: posthog/user_scripts/v6/aggregate_funnel_aarch64:1","Warn: binary detected: posthog/user_scripts/v6/aggregate_funnel_x86_64:1","Warn: binary detected: posthog/user_scripts/v7/aggregate_funnel_aarch64:1","Warn: binary detected: posthog/user_scripts/v7/aggregate_funnel_x86_64:1","Warn: binary detected: posthog/user_scripts/v8/aggregate_funnel_aarch64:1","Warn: binary detected: posthog/user_scripts/v8/aggregate_funnel_x86_64:1","Warn: binary detected: posthog/user_scripts/v9/aggregate_funnel_aarch64:1","Warn: binary detected: posthog/user_scripts/v9/aggregate_funnel_x86_64:1","Warn: binary detected: products/desktop/apps/code/resources/ripgrep/rg-darwin-arm64:1","Warn: binary detected: rust/cymbal/tests/static/apple/test_binary.dSYM/Contents/Resources/DWARF/test_binary:1","Warn: binary detected: rust/cymbal/tests/static/apple/test_binary_inline:1","Warn: binary detected: rust/cymbal/tests/static/apple/test_binary_inline.dSYM/Contents/Resources/DWARF/test_binary_inline:1","Warn: binary detected: rust/cymbal/tests/static/apple/test_binary_inline.o:1","Warn: binary detected: rust/cymbal/tests/static/native/libtest_android.so:1","Warn: binary detected: rust/cymbal/tests/static/native/test_binary_inline:1","Warn: binary detected: rust/cymbal/tests/static/native/test_binary_nobuildid:1","Warn: binary detected: rust/cymbal/tests/static/native/test_binary_nodebug:1","Warn: binary detected: rust/cymbal/tests/static/native/test_binary_nopie:1","Warn: binary detected: rust/cymbal/tests/static/native/test_binary_pie:1"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#binary-artifacts","short":"Determines if the project has generated executable (binary) artifacts in the source repository."}},{"name":"Pinned-Dependencies","score":2,"reason":"dependency not pinned by hash detected -- score normalized to 2","details":["Warn: containerImage not pinned by hash: Dockerfile:73: pin your Docker image by updating node:24.13.0-bookworm-slim to node:24.13.0-bookworm-slim@sha256:4660b1ca8b28d6d1906fd644abe34b2ed81d15434d26d845ef0aced307cf4b6f","Warn: containerImage not pinned by hash: Dockerfile:183: pin your Docker image by updating ghcr.io/astral-sh/uv:0.12.13 to ghcr.io/astral-sh/uv:0.12.13@sha256:b485bd65cc2cf1c9a93b3554012c9c3778cf7b1b5fd3d3096ce9e1226c97e1e6","Warn: containerImage not pinned by hash: Dockerfile:270: pin your Docker image by updating debian:bookworm-slim to debian:bookworm-slim@sha256:7c7b2c966bc9ee8cedfeef67e0e279108992c77681fa595db4a9d65c06ccc587","Warn: containerImage not pinned by hash: Dockerfile.llm-analytics:11: pin your Docker image by updating ghcr.io/astral-sh/uv:0.12.13 to ghcr.io/astral-sh/uv:0.12.13@sha256:b485bd65cc2cf1c9a93b3554012c9c3778cf7b1b5fd3d3096ce9e1226c97e1e6","Warn: containerImage not pinned by hash: Dockerfile.ml-mirror-image-scrub:28: pin your Docker image by updating rust:1.91.1-slim-bookworm to rust:1.91.1-slim-bookworm@sha256:8514999d4786ef12efe89239e86b3d0a021b94b9d35108c8efe6c79ca7dc1a65","Warn: containerImage not pinned by hash: Dockerfile.ml-mirror-image-scrub:37: pin your Docker image by updating node:24.13.0-bookworm-slim to node:24.13.0-bookworm-slim@sha256:4660b1ca8b28d6d1906fd644abe34b2ed81d15434d26d845ef0aced307cf4b6f","Warn: containerImage not pinned by hash: Dockerfile.node:11: pin your Docker image by updating ghcr.io/posthog/rust-node-container:bookworm_rust_1.91-node_24.13.0 to ghcr.io/posthog/rust-node-container:bookworm_rust_1.91-node_24.13.0@sha256:b28364eae7d3d43942d0b9e5c637706041ce8d9d2d2fe45b317307653bd4e4f4","Warn: containerImage not pinned by hash: Dockerfile.node:89: pin your Docker image by updating node:24.13.0-bookworm-slim to node:24.13.0-bookworm-slim@sha256:4660b1ca8b28d6d1906fd644abe34b2ed81d15434d26d845ef0aced307cf4b6f","Warn: containerImage not pinned by hash: Dockerfile.playwright:6: pin your Docker image by updating ghcr.io/posthog/playwright:v1.60.0 to ghcr.io/posthog/playwright:v1.60.0@sha256:83192064c7510f7ee73dd63dc5f22a5e01a92c81a2e6a9c715d9e3fe55471fd9","Warn: containerImage not pinned by hash: Dockerfile.recording-rasterizer:11: pin your Docker image by updating ghcr.io/posthog/rust-node-container:bookworm_rust_1.91-node_24.13.0 to ghcr.io/posthog/rust-node-container:bookworm_rust_1.91-node_24.13.0@sha256:b28364eae7d3d43942d0b9e5c637706041ce8d9d2d2fe45b317307653bd4e4f4","Warn: containerImage not pinned by hash: Dockerfile.recording-rasterizer:84: pin your Docker image by updating node:24-bookworm-slim to node:24-bookworm-slim@sha256:d6aa754f16b3197301076f047b5def2f02ea1dbbc2ca920407d46d7ec7f87b20","Warn: containerImage not pinned by hash: livestream/Dockerfile:1: pin your Docker image by updating golang:1.26.4 to golang:1.26.4@sha256:f96cc555eb8db430159a3aa6797cd5bae561945b7b0fe7d0e284c63a3b291609","Warn: containerImage not pinned by hash: livestream/Dockerfile:22: pin your Docker image by updating ubuntu:24.04 to ubuntu:24.04@sha256:534baea6a22c03a63003dbc8dbe78fe34bc0d7e595d9a9dc9834884ff530eb55","Warn: containerImage not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-autoresearch:7: pin your Docker image by updating ghcr.io/posthog/posthog-sandbox-base:master to ghcr.io/posthog/posthog-sandbox-base:master@sha256:2cf9e9c31b8b7ad35d3c96b18bcec30e286818225d8d70c20b4cb715027e98a9","Warn: containerImage not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-base:3: pin your Docker image by updating golang:1.23 to golang:1.23@sha256:60deed95d3888cc5e4d9ff8a10c54e5edc008c6ae3fba6187be6fb592e19e8c0","Warn: containerImage not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-base:9: pin your Docker image by updating ubuntu:24.04 to ubuntu:24.04@sha256:534baea6a22c03a63003dbc8dbe78fe34bc0d7e595d9a9dc9834884ff530eb55","Warn: containerImage not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-local:7","Warn: containerImage not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-notebook:3: pin your Docker image by updating ubuntu:24.04 to ubuntu:24.04@sha256:534baea6a22c03a63003dbc8dbe78fe34bc0d7e595d9a9dc9834884ff530eb55","Warn: containerImage not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-pi:2: pin your Docker image by updating ghcr.io/posthog/posthog-sandbox-base:master to ghcr.io/posthog/posthog-sandbox-base:master@sha256:2cf9e9c31b8b7ad35d3c96b18bcec30e286818225d8d70c20b4cb715027e98a9","Warn: containerImage not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-slim:13: pin your Docker image by updating ubuntu:24.04 to ubuntu:24.04@sha256:534baea6a22c03a63003dbc8dbe78fe34bc0d7e595d9a9dc9834884ff530eb55","Warn: containerImage not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-stamphog-review:9","Warn: containerImage not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-vm:9: pin your Docker image by updating ghcr.io/posthog/posthog-sandbox-base:master to ghcr.io/posthog/posthog-sandbox-base:master@sha256:2cf9e9c31b8b7ad35d3c96b18bcec30e286818225d8d70c20b4cb715027e98a9","Warn: containerImage not pinned by hash: rust/Dockerfile:2: pin your Docker image by updating rust:1.91-bookworm to rust:1.91-bookworm@sha256:c1e5f19e773b7878c3f7a805dd00a495e747acbdc76fb2337a4ebf0418896b33","Warn: containerImage not pinned by hash: rust/Dockerfile:7","Warn: containerImage not pinned by hash: rust/Dockerfile:16","Warn: containerImage not pinned by hash: rust/Dockerfile:112: pin your Docker image by updating debian:bookworm-slim to debian:bookworm-slim@sha256:7c7b2c966bc9ee8cedfeef67e0e279108992c77681fa595db4a9d65c06ccc587","Warn: containerImage not pinned by hash: rust/Dockerfile:149","Warn: containerImage not pinned by hash: rust/Dockerfile:161","Warn: containerImage not pinned by hash: rust/Dockerfile.sqlx-migrate:3: pin your Docker image by updating rust:1.91-bookworm to rust:1.91-bookworm@sha256:c1e5f19e773b7878c3f7a805dd00a495e747acbdc76fb2337a4ebf0418896b33","Warn: containerImage not pinned by hash: rust/Dockerfile.sqlx-migrate:7: pin your Docker image by updating debian:bookworm-slim to debian:bookworm-slim@sha256:7c7b2c966bc9ee8cedfeef67e0e279108992c77681fa595db4a9d65c06ccc587","Warn: containerImage not pinned by hash: services/llm-gateway/Dockerfile:1: pin your Docker image by updating ghcr.io/astral-sh/uv:0.12.13 to ghcr.io/astral-sh/uv:0.12.13@sha256:b485bd65cc2cf1c9a93b3554012c9c3778cf7b1b5fd3d3096ce9e1226c97e1e6","Warn: containerImage not pinned by hash: services/mcp/Dockerfile:20","Warn: containerImage not pinned by hash: services/mcp/Dockerfile:65","Warn: npmCommand not pinned by hash: Dockerfile.playwright:10","Warn: downloadThenRun not pinned by hash: Dockerfile.sandbox:54-55","Warn: npmCommand not pinned by hash: Dockerfile.sandbox:85","Warn: pipCommand not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-autoresearch:16-21","Warn: pipCommand not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-autoresearch:25","Warn: downloadThenRun not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-base:82-84","Warn: npmCommand not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-base:88","Warn: npmCommand not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-base:168-178","Warn: npmCommand not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-base:168-178","Warn: downloadThenRun not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-notebook:54-56","Warn: npmCommand not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-notebook:59","Warn: npmCommand not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-notebook:74-77","Warn: pipCommand not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-notebook:108-130","Warn: pipCommand not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-notebook:108-130","Warn: npmCommand not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-pi:8","Warn: downloadThenRun not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-slim:29-31","Warn: pipCommand not pinned by hash: products/tasks/backend/sandbox/images/Dockerfile.sandbox-streamlit:20-38","Warn: downloadThenRun not pinned by hash: .flox/env/direnv-setup.sh:16","Warn: downloadThenRun not pinned by hash: products/tasks/backend/sandbox/images/hogland/setup-golden.sh:230","Warn: npmCommand not pinned by hash: products/tasks/backend/sandbox/images/hogland/setup-golden.sh:241","Warn: npmCommand not pinned by hash: products/tasks/backend/sandbox/images/hogland/setup-golden.sh:302","Info:  17 out of  50 containerImage dependencies pinned","Info:   1 out of  11 npmCommand dependencies pinned","Info:   0 out of   6 downloadThenRun dependencies pinned","Info:   1 out of   1 goCommand dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#pinned-dependencies","short":"Determines if the project has declared and pinned the dependencies of its build process."}},{"name":"SAST","score":-1,"reason":"internal error: internal error: Client.Checks.ListCheckRunsForRef: error during graphqlHandler.setupCheckRuns: non-200 OK status code: 502 Bad Gateway body: \"<html>\\r\\n<head><title>502 Bad Gateway</title></head>\\r\\n<body>\\r\\n<center><h1>502 Bad Gateway</h1></center>\\r\\n<hr><center>nginx</center>\\r\\n</body>\\r\\n</html>\\r\\n\"","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#sast","short":"Determines if the project uses static code analysis."}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/61e84743356275f6ffca23b1b2f2cb945e19eb96/docs/checks.md#fuzzing","short":"Determines if the project uses fuzzing."}}]}
