Close Open Privacy Scan
App Privacy Score
High risk · 352 finding(s)
Based on: 84 first-party package(s) · 101/173 deps analyzed
Dependency score: 97 (Low risk)
bar_chart Score Breakdown
list Scan Summary
swap_horiz Potential data exfiltration in application code
External domains:
::ffff:192.168.0.1aka.msaomedia.orgapi-inference.huggingface.coapi.github.comapi.gradio.appassets.babylonjs.combec81a83-5b5c-471e.gradio.livebrotlipy.readthedocs.iocdn-media.huggingface.cocdn.babylonjs.comcdn.jsdelivr.netcdnjs.cloudflare.comcloud.google.comcommonmark.orgcompat.spec.whatwg.orgdatasets-server.huggingface.codatatracker.ietf.orgdevblogs.microsoft.comdeveloper.mozilla.orgdocs.python.orgdrafts.csswg.orgen.wikipedia.orgeslint.orgeslint.styleevilmartians.comffmpeg.orgfonts.googleapis.comgit.iogithub.comgradio-builds.s3.amazonaws.comgradio-docs-json.s3.us-west-2.amazonaws.comgradio-lite-previews.s3.amazonaws.comgradio-space-api-fetcher-v2.hf.spacegradio-static-files.s3.us-west-2.amazonaws.comgradio.appgradio.livehandlebarsjs.comhf.spacehttpbin.orghuggingface.coimage_url.jpgimg.shields.iojestjs.iokatex.orgkit.svelte.devkroki.iomsdn.microsoft.commswjs.iomydomain.commüller.denodejs.orgnpmjs.comopencode.aiother.comowasp.orgpillow.readthedocs.ioplayground-worker.pages.devplaywright.devprettier.iopypi.orgraw.githubusercontent.comregistry.npmjs.orgrollupjs.orgrouter.huggingface.cosnippet.babylonjs.comstackoverflow.comstatus.gradio.appsvelte.devsveltejs.github.iosvgwg.orgtailwindcss.comtools.ietf.orgtwitter.comtypescript-eslint.iounpkg.comv4.svelte.devvega.github.iow3c.github.iowebplatform.github.iowww.ffmpeg.orgwww.geeksforgeeks.orgwww.gradio.appwww.mozilla.orgwww.npmjs.comwww.rfc-editor.orgwww.typescriptlang.orgwww.w3.orgwww.w3ctech.comxn--fiqs8s.icom.museumyarnpkg.com
- 1source
repo/gradio/cli/commands/hf_login.py:26 - 2sink
repo/gradio/cli/commands/hf_login.py:27
</> First-Party Code
first-party (npm): gradio
python first-party print(
f"🔓 Logged in to Hugging Face as {user}. You can logout at any time with: unset HF_TOKEN\n"
)
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.
reloader.track(demo)
A telemetry/analytics SDK is used; event data is sent to a third-party collector.
Fix: Ensure user consent and a lawful basis; strip PII from event payloads.
self.track(upload_id)
A telemetry/analytics SDK is used; event data is sent to a third-party collector.
Fix: Ensure user consent and a lawful basis; strip PII from event payloads.
self.track(upload_id)
A telemetry/analytics SDK is used; event data is sent to a third-party collector.
Fix: Ensure user consent and a lawful basis; strip PII from event payloads.
upload_progress.track(upload_id)
A telemetry/analytics SDK is used; event data is sent to a third-party collector.
Fix: Ensure user consent and a lawful basis; strip PII from event payloads.
expand_more 224 low-confidence finding(s)
low env_fs — Environment-variable access. 86 locations
low env_fs — Filesystem access. 111 locations
low egress — Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination. 25 locations
low egress — Hardcoded external endpoint. Review what data is sent to this destination. 2 locations
first-party (npm): client/python/gradio_client
python first-partyexpand_more 22 low-confidence finding(s)
low env_fs — Environment-variable access. 4 locations
low egress — Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination. 13 locations
first-party (npm): js/_website
python first-partyexpand_more 26 low-confidence finding(s)
low env_fs — Filesystem access. 23 locations
low env_fs — Environment-variable access. 2 locations
latest_npm = requests.get(f"https://registry.npmjs.org/@gradio/{js_component}/latest").json()["version"]
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.
first-party (npm): js/preview
python first-partyexpand_more 2 low-confidence finding(s)
low env_fs — Filesystem access. 2 locations
first-party (python)
python first-partyexpand_more 68 low-confidence finding(s)
low env_fs — Environment-variable access. 15 locations
low egress — Hardcoded external endpoint. Review what data is sent to this destination. 6 locations
low env_fs — Filesystem access. 39 locations
low egress — Outbound request to a variable or assembled URL on a network client. Review what data is sent to this destination. 7 locations
logger.info(
"loaded %d entries from %s (%d spaces, %d models)",
len(items),
src,
len(spaces),
len(models),
)
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.
</> Dependencies
httpx
python dependencyexpand_more 4 low-confidence finding(s)
low env_fs — Environment-variable access. 4 locations
katex
python dependencyexpand_more 1 low-confidence finding(s)
with open(file_name, 'rb') as f:
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.
Skipped dependencies
Production
- @csstools/postcss-global-data prod — dist-only: no readable source
- @types/testing-library__jest-dom prod — no javascript source
- plotly.js-dist-min prod — dist-only: no readable source
- postcss-custom-media prod — dist-only: no readable source
- svelte-i18n prod — dist-only: no readable source
- typescript-svelte-plugin prod — dist-only: no readable source
- @sveltejs/adapter-vercel prod — scan budget exceeded
- hast-util-to-string prod — scan budget exceeded
- mdsvex prod — scan budget exceeded
- prism-svelte prod — scan budget exceeded
- wrangler prod — scan budget exceeded
- @huggingface/space-header prod — scan budget exceeded
- @sveltejs/adapter-node prod — scan budget exceeded
- http-proxy prod — scan budget exceeded
- @self/spa prod — scan budget exceeded
- iframe-resizer prod — scan budget exceeded
- @zerodevx/svelte-json-view prod — scan budget exceeded
- amuchina prod — scan budget exceeded
- sanitize-html prod — scan budget exceeded
- @codemirror/autocomplete prod — scan budget exceeded
- @codemirror/commands prod — scan budget exceeded
- @codemirror/lang-css prod — scan budget exceeded
- @codemirror/lang-html prod — scan budget exceeded
- @codemirror/lang-javascript prod — scan budget exceeded
- @codemirror/lang-json prod — scan budget exceeded
- @codemirror/lang-markdown prod — scan budget exceeded
- @codemirror/lang-python prod — scan budget exceeded
- @codemirror/language prod — scan budget exceeded
- @codemirror/legacy-modes prod — scan budget exceeded
- @codemirror/lint prod — scan budget exceeded
- @codemirror/search prod — scan budget exceeded
- @codemirror/state prod — scan budget exceeded
- @codemirror/view prod — scan budget exceeded
- @lezer/common prod — scan budget exceeded
- @lezer/highlight prod — scan budget exceeded
- @lezer/markdown prod — scan budget exceeded
- cm6-theme-basic-dark prod — scan budget exceeded
- cm6-theme-basic-light prod — scan budget exceeded
- codemirror prod — scan budget exceeded
- @ffmpeg/ffmpeg prod — scan budget exceeded
- @ffmpeg/util prod — scan budget exceeded
- mrmime prod — scan budget exceeded
- fetch-event-stream prod — scan budget exceeded
- anyio prod — scan budget exceeded
- audioop-lts prod — scan budget exceeded
- brotli prod — scan budget exceeded
- fastapi prod — scan budget exceeded
- groovy prod — scan budget exceeded
- gradio_client prod — scan budget exceeded
- hf-gradio prod — scan budget exceeded
- huggingface_hub prod — scan budget exceeded
- Jinja2 prod — scan budget exceeded
- markupsafe prod — scan budget exceeded
- numpy prod — scan budget exceeded
- orjson prod — scan budget exceeded
- packaging prod — scan budget exceeded
- pandas prod — scan budget exceeded
- pillow prod — scan budget exceeded
- pydantic prod — scan budget exceeded
- python-multipart prod — scan budget exceeded
- pydub prod — scan budget exceeded
- pyyaml prod — scan budget exceeded
- safehttpx prod — scan budget exceeded
- semantic_version prod — scan budget exceeded
- starlette prod — scan budget exceeded
- tomlkit prod — scan budget exceeded
- typer prod — scan budget exceeded
- typing_extensions prod — scan budget exceeded
- uvicorn prod — scan budget exceeded
- pytz prod — scan budget exceeded
- fsspec prod — scan budget exceeded
- gradio prod — scan budget exceeded