who's there?

Privacy

Last updated October 30, 2026

Who's There? shows who can publish the npm packages your app depends on, and watches for changes to them. This page explains what we collect, why, how long we keep it and who else is involved. It's written to be read; questions go to support@whosthere.dev.

Who is responsible

Who's There? is run by Bour Abdelhadi, an individual based in the United Kingdom, who is the data controller for the information described here. Contact: support@whosthere.dev.

Scanning without an account

  1. Your browser opens the lockfile and lists the packages in it. The file stays on your device.
  2. To start a scan, your browser sends the project name, the number of packages and a fingerprint of the package list (a one-way hash, so a rescan of the same project isn't counted twice).
  3. Your browser sends the package names to our server, which asks the public npm registry who can publish each one, plus their weekly downloads.
  4. For maintainers' email domains (from public npm data), our server asks the domain registries whether each domain is registered and when it expires.
  5. Our server asks OSV (osv.dev) whether any of the packages, by name, have known-malware advisories. Your browser compares them with the versions you have installed.
  6. Your browser puts the results together. The PDF report is made in your browser too.

If you scan a public GitHub repo instead, our server fetches its lockfile from GitHub and passes it to your browser.

What we keep from scansWhyKept for
A count of your scans, under a one-way hash of your IP address. We never store the IP itself.Daily limits, so the free tier stays free.1 day
The fingerprint of each project you scanned.So rescanning the same project the same day isn't counted again.1 day
Public data about npm packages and maintainers' email domains.A shared cache, so scans are fast. Not linked to you.Up to 1 day
A public repo's lockfile, when you scan from GitHub.So the same repo isn't fetched again straight away.10 minutes
A usage record: that a scan happened, whether by a guest, Free or Pro account, how many packages, and a public repo's name if you scanned one. Guests appear only as the hashed key above.To understand how the service is used and plan capacity.180 days
A share link, if you make one: the project name, summary numbers and up to five public avatar hashes.So the link and its preview keep working.1 year

Your browser keeps your last scan on your device so a reload doesn't lose it. It's cleared after 7 days, or when you clear your site data.

Public npm data we keep

npm keeps every release but forgets people. To spot account takeovers, we keep a record of public npm data for the packages people look at or watch. It's about packages and their maintainers, never linked to who scanned what:

If you maintain packages and something we show about you is wrong, or you'd like your history removed, email us.

If you sign in

Signing in (with Google) is only needed to watch projects. Then we also keep:

WhatWhyKept for
Your account: the name, email and picture Google shares.To identify your account and show who's signed in.Until you delete it
Your projects: the repo name (or, for an upload, only the package names), the list of package names in the lockfile, and a fingerprint of the lockfile to notice changes. Never the lockfile itself.To watch those packages for you.Until you delete the project
A summary of each project scan (its findings, such as which packages got new maintainers).Findings, history and the Overview on any device.1 year, or until you delete the project
Alerts: where they go (a Slack, Discord or Teams webhook, an email address, or your own webhook URL and its signing secret), which projects, the level, and whether a summary is on. Plus which alerts were sent, and the last delivery error if one fails.To send alerts once, and tell you when one can't be delivered.Until you delete the alert
AI tokens: a one-way hash of each token, never the token itself. Plus a log of calls made with them: which tool, a short summary (package names, counts), and how it went.So your AI tools can use your projects, and you can see what they did.Tokens until revoked; the log 90 days
Your plan: Free or Pro, its status, your email, and (on Pro) the Stripe customer and subscription IDs.Billing, and Pro given by hand.See "Deleting your account"
A list of the projects your account has added, with your email.Free includes one project; this stops the slot being reset by deleting it or signing up again.See "Deleting your account"

Connected GitHub

On Pro, you can install the Who's There? GitHub app on your account or organization to watch private repos.

Payments

Pro payments are handled by Stripe. Your card details go to Stripe, never to us. We keep only what's listed under "Your plan" above. Stripe keeps payment records under its own privacy policy and the law.

Google user data

When you sign in with Google, Google shares your name, email address and profile picture with us (through Supabase, which runs our sign-in). We use them only to identify your account, show who's signed in, and send the emails you ask for (like alert emails and billing notices). We don't ask for access to anything else in your Google account, we don't use this data for ads, and we never sell it or share it except with the providers that run the service, listed below. You can delete your account and its data at any time.

Who's There?'s use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.

Who else is involved

Some of these providers process data outside the UK, for example in the United States. Where they do, they rely on the safeguards the law requires, such as standard contractual clauses.

On your device

We don't use tracking cookies. Your browser keeps a few things in its own storage: your sign-in session (so you stay signed in), your theme and small preferences (like which groups you folded away), your last scan for up to 7 days, and the parsed lockfile of an uploaded project (so you can rescan it there). Clearing your site data removes them.

Deleting your account

Settings › Account › Delete removes your projects (with their package lists and scan history), alerts, connected GitHub accounts, AI tokens and their call log, and your sign-in account, and cancels a Pro subscription straight away.

Two small records stay: your plan record (email, plan and Stripe IDs, which we may need for billing and tax), and the list of projects your account added with your email (so Free's one project can't be reset by signing up again). Usage records drop off after 180 days. If you'd like these removed too, email us and we'll do it, unless we have to keep billing records by law.

Your rights

Under UK data protection law (UK GDPR) you can ask for a copy of your data, ask us to correct or delete it, or object to how we use it. Email support@whosthere.dev and we'll reply within a month. Our reasons for using your data are: to provide the service you asked for (your account, projects, alerts and payments), and our legitimate interest in keeping it running, fair and secure (limits, usage counts, public npm history). If you're unhappy with how we handle your data, you can complain to the Information Commissioner's Office.

What we don't do

We don't sell or share your data, run ads, or set tracking cookies. The only analytics is Vercel's cookieless page-view count, described above. We don't look at your code: scans and watching use package names and public npm data.

Changes and questions

If any of this changes, this page changes first, and for anything that matters we'll tell signed-in users in the app or by email. Questions: support@whosthere.dev. The Terms cover using the service.