Close Open Privacy Scan

bolt Snapshot: commit dcbaf49
science engine v1.22
schedule 2026-07-21T03:07:18.402642+00:00

verified_user No application data leak found

No high-confidence exfiltration was found in application code.

App Privacy Score

82 /100
Low privacy risk

Low risk · 61 finding(s)

Dependency score: 100 (Low risk)

bar_chart Score Breakdown

egress −15
env_fs −3

list Scan Summary

0 high 0 medium 61 low
First-party packages: 1
Dependency packages: 0
Ecosystem: npm

swap_horiz External domains

chromeuxreport.googleapis.comffmpeg.orggithub.complay.googleapis.compolicies.google.comregistry.npmjs.orgurlpattern.spec.whatwg.orgwww.chromium.orgwww.ffmpeg.org

</> First-Party Code

first-party (npm)

npm first-party
expand_more 61 low-confidence finding(s)
low env_fs test-only Excluded from app score #0104fd6c4446ad50 Environment-variable access.
repo/rollup.config.mjs:32
const isProduction = process.env.NODE_ENV === 'production';

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #141e60255d921791 Filesystem access.
repo/rollup.config.mjs:47
  fs.readFileSync(path.join(process.cwd(), 'package.json'), 'utf-8'),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #c63b98aa6bf2ca22 Filesystem access.
repo/rollup.config.mjs:54
  fs.readFileSync(path.join(process.cwd(), 'package-lock.json'), 'utf-8'),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #d72aee7339dd6ce6 Filesystem access.
repo/rollup.config.mjs:127
        fs.writeFileSync(outputPath, JSON.stringify(bundledDevDeps, null, 2));

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #298c7e9db83d31a6 Filesystem access.
repo/rollup.config.mjs:198
              fs.readFileSync(
                path.join(process.cwd(), 'tsconfig.json'),
                'utf-8',
              ),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #cb407a46f7663f1c Filesystem access.
repo/rollup.config.mjs:221
                  fs.readFileSync(cdtfLicensePath, 'utf-8'),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #955d64243190b6ff Filesystem access.
repo/rollup.config.mjs:237
                  fs.readFileSync(lighthouseLicensePath, 'utf-8'),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #ea036a60a11c9b7c Filesystem access.
repo/rollup.config.mjs:252
                    fs.readFileSync(licenseFile, 'utf-8').replaceAll('\r', ''),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #22585b9efa0af8dd Filesystem access.
repo/scripts/append-lighthouse-notices.ts:15
  const lighthouseNotices = fs.readFileSync(
    path.join(SOURCE_DIR, 'LIGHTHOUSE_MCP_BUNDLE_THIRD_PARTY_NOTICES'),
    'utf8',
  );

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #740c515008457a6e Filesystem access.
repo/scripts/append-lighthouse-notices.ts:19
  const bundledNotices = fs.readFileSync(
    path.join(TARGET_DIR, 'THIRD_PARTY_NOTICES'),
    'utf8',
  );

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #cdb0cae2f952dfa9 Filesystem access.
repo/scripts/append-lighthouse-notices.ts:23
  fs.writeFileSync(
    path.join(TARGET_DIR, 'THIRD_PARTY_NOTICES'),
    bundledNotices +
      '\n\n-------------------- DEPENDENCY DIVIDER --------------------\n\n' +
      lighthouseNotices,
  );

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #3addeae68891910c Environment-variable access.
repo/scripts/count_tokens.ts:12
const ai = new GoogleGenAI({apiKey: process.env.GEMINI_API_KEY});

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #d3b5c40f4aff59ba Filesystem access.
repo/scripts/count_tokens.ts:31
  contents = readFileSync(values.file, 'utf8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low pii_flow test-only Excluded from app score #bc2feacf689067af PII-bearing data is written to a log sink. Logged PII is a privacy concern even when it does not leave the process. Non-production path — not application runtime.
repo/scripts/count_tokens.ts:44 · flow /tmp/closeopen-9wbmec34/repo/scripts/count_tokens.ts:12 → /tmp/closeopen-9wbmec34/repo/scripts/count_tokens.ts:44
console.log(`Tokens: ${response.totalTokens}`);

PII-bearing data is written to a log/print sink — it stays in-process and does not leave the application, but logged PII is still a privacy concern.

Fix: Avoid logging user identifiers; redact or omit PII from log/print statements.

low env_fs test-only Excluded from app score #2ffe12c620c22e93 Filesystem access.
repo/scripts/eslint_rules/no-direct-third-party-imports-rule.js:55
    const content = readFileSync(join(THIRD_PARTY_DIR, file), 'utf8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #74f41afb8e154657 Filesystem access.
repo/scripts/eval_gemini.ts:70
      const skillContent = fs.readFileSync(SKILL_PATH, 'utf-8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #de7a967d3671ceae Environment-variable access.
repo/scripts/eval_gemini.ts:180
  const apiKey = process.env.GEMINI_API_KEY;

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #695ab0b290244aa8 Filesystem access.
repo/scripts/generate-cli.ts:220
  fs.writeFileSync(OUTPUT_PATH, lines.join(''));

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #68017fd8af0fd5ad Filesystem access.
repo/scripts/generate-docs.ts:132
  const readmeContent = fs.readFileSync(README_PATH, 'utf8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #657e83073c7ac825 Filesystem access.
repo/scripts/generate-docs.ts:150
  fs.writeFileSync(README_PATH, updatedContent);

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #295adf197e194c24 Filesystem access.
repo/scripts/generate-docs.ts:197
  const readmeContent = fs.readFileSync(README_PATH, 'utf8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #0821813b8a37656f Filesystem access.
repo/scripts/generate-docs.ts:215
  fs.writeFileSync(README_PATH, updatedContent);

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #0d35d2b3719dc984 Filesystem access.
repo/scripts/generate-docs.ts:427
  fs.writeFileSync(outputPath, markdown.trim() + '\n');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #70df7f4c6c497789 Filesystem access.
repo/scripts/post-build.ts:18
  fs.writeFileSync(filePath, content, 'utf-8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #65af35326d8c4acd Filesystem access.
repo/scripts/prepare.ts:33
  const content = readFileSync(filePath, 'utf-8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #ec0c146afef6fdc2 Filesystem access.
repo/scripts/prepare.ts:40
  writeFileSync(filePath, newContent, 'utf-8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #b42086427205088f Filesystem access.
repo/scripts/test.mjs:44
      const content = await readFile(tsFile, 'utf8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #e070a505b993c06f Environment-variable access.
repo/scripts/test.mjs:63
  (process.env['NODE_TEST_REPORTER'] ?? process.env['CI']) ? 'spec' : 'dot',

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #8668ec4226d6147c Environment-variable access.
repo/scripts/test.mjs:96
        ...(process.env['RUNNER_DEBUG'] === '1' ? {DEBUG: 'puppeteer:*'} : {}),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #f30718b6e1be0d9e Filesystem access.
repo/scripts/update_metrics.ts:55
        fs.readFileSync(outputPath, 'utf8'),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #fe402c89a53002d8 Filesystem access.
repo/scripts/update_metrics.ts:67
  fs.writeFileSync(outputPath, JSON.stringify(mergedMetrics, null, 2) + '\n');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #d1b3396bef46da0d Filesystem access.
repo/scripts/update_metrics.ts:86
        fs.readFileSync(outputPath, 'utf8'),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #87506fe2abbd38b0 Filesystem access.
repo/scripts/update_metrics.ts:101
  fs.writeFileSync(outputPath, JSON.stringify(mergedMetrics, null, 2) + '\n');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #0a2b99eb02951b95 Filesystem access.
repo/scripts/verify-server-json-version.ts:13
const serverJson = JSON.parse(fs.readFileSync(serverJsonFilePath, 'utf-8'));

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs test-only Excluded from app score #35ac144b97bee85f Filesystem access.
repo/scripts/verify-server-json-version.ts:56
  const newServerJson = JSON.parse(fs.readFileSync(newServerJsonPath, 'utf-8'));

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #eeb644f72dc69349 Filesystem access.
repo/skills/memory-leak-debugging/references/compare_snapshots.js:11
  const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #140d428ad1b2a6af Filesystem access.
repo/src/McpContext.ts:582
      await fs.writeFile(filepath, data);

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #0c739d3ac184748c Filesystem access.
repo/src/McpContext.ts:600
      await fs.writeFile(filePath, data);

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low egress production #90cc2c03f878946a Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/src/McpContext.ts:776
        const response = await fetch(url);

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low env_fs production #293d0a64c29a8217 Filesystem access.
repo/src/McpContext.ts:785
        return await fsPromises.readFile(url, 'utf-8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low egress production #2487642eb01ed512 Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/src/bin/check-latest-version.ts:41
    const response = await fetch(`${getRegistry()}/chrome-devtools-mcp/latest`);

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low env_fs production #f4787fa9688b8108 Filesystem access.
repo/src/bin/check-latest-version.ts:51
      await fs.writeFile(cachePath, JSON.stringify({version: data.version}));

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #524c40d6de2e4152 Environment-variable access.
repo/src/bin/chrome-devtools-mcp-main.ts:30
if (process.env['CHROME_DEVTOOLS_MCP_CRASH_ON_UNCAUGHT'] !== 'true') {

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #efa82bdc288e1114 Filesystem access.
repo/src/browser.ts:86
        const fileContent = await fs.promises.readFile(portPath, 'utf8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #7ebfa2576ad2547b Environment-variable access.
repo/src/browser.ts:172
  if (!process.env['DISPLAY']) {

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #edb54cf32b751aba Environment-variable access.
repo/src/browser.ts:178
      process.env['DISPLAY'] = display;

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #76a96820f911920a Filesystem access.
repo/src/daemon/client.ts:225
      fs.writeFileSync(filepath, data);

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #7f575e45ad7f409c Environment-variable access.
repo/src/daemon/daemon.ts:33
const sessionId = process.env.CHROME_DEVTOOLS_MCP_SESSION_ID || '';

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #bc4dcb0e7ff7dbb9 Environment-variable access.
repo/src/daemon/utils.ts:41
  if (process.env.XDG_RUNTIME_DIR) {

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #fd5c33c4aa82e361 Environment-variable access.
repo/src/daemon/utils.ts:42
    return path.join(process.env.XDG_RUNTIME_DIR, appName, 'server.sock');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #adfbb1fc36b8610c Environment-variable access.
repo/src/daemon/utils.ts:58
  if (process.env.XDG_RUNTIME_DIR) {

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #6130095e76715753 Environment-variable access.
repo/src/daemon/utils.ts:59
    return path.join(process.env.XDG_RUNTIME_DIR, appName);

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #edf509236a816669 Filesystem access.
repo/src/daemon/utils.ts:86
    const pidContent = fs.readFileSync(pidFile, 'utf-8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #58531272de797db3 Filesystem access.
repo/src/devtools/issueDescriptions.ts:32
        const content = await fs.promises.readFile(
          path.join(DESCRIPTIONS_PATH, file),
          'utf-8',
        );

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #96c61082dd9ddea7 Filesystem access.
repo/src/telemetry/persistence.ts:67
      const content = await fs.readFile(filePath, 'utf-8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #f9984c2427a0a98c Filesystem access.
repo/src/telemetry/persistence.ts:84
      await fs.writeFile(filePath, JSON.stringify(state, null, 2), 'utf-8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low egress production #443e1bbdbdb408a6 Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination.
repo/src/telemetry/watchdog/ClearcutSender.ts:203
      const response = await fetch(this.#clearcutEndpoint, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          // Used in E2E tests to confirm that the watchdog process is killed
          ...(this.#includePidHeader
            ? {'X-Watchdog-Pid': process.pid.toString()}
            : {}),
        },
        body: JSON.stringify(requestBody),
        signal: controller.signal,
      });

Data is sent to a hardcoded external endpoint; review what leaves the process.

Fix: Verify the destination and that only non-sensitive data is sent; pin and audit the dependency.

low env_fs production #2bfc4e0235e4c675 Environment-variable access.
repo/src/utils/check-for-updates.ts:28
  if (isChecking || process.env['CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS']) {

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #bcac0ad581290ea1 Filesystem access.
repo/src/utils/check-for-updates.ts:44
    const data = await fs.readFile(cachePath, 'utf8');

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #771d297a16c8c983 Filesystem access.
repo/src/utils/check-for-updates.ts:69
      await fs.writeFile(cachePath, JSON.stringify({version: VERSION}));

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.

low env_fs production #94b2bfd51f4c17c8 Environment-variable access.
repo/src/utils/logger.ts:16
  ...(process.env['DEBUG'] ? [process.env['DEBUG']] : []),

Reads environment variables or the filesystem — an inventory-level capability, not a leak on its own.

Fix: Usually benign; confirm any secret read here is not later sent externally.