Privacy & Data Handling

What this service stores, what it does not, and how to check a hash without telling us the hash. Written to be specific enough to verify rather than vague enough to be safe.

Effective 21 August 2026 · operator: Red Hacker Ai, Inc., a Florida corporation (United States)

The short version

  • Hashes you look up are not stored — not in a database, not in the activity feed, not anywhere.
  • Plaintext you type into the Compute digest tab is sent to us and may be added to the lookup corpus. Do not type a password you rely on.
  • There are no accounts and no cookies used for tracking. We do run Cloudflare Web Analytics, which is cookieless and does not track you across sites — details below.
  • If you do not want to disclose a hash at all, use the range API — it is built so we cannot know what you checked.
  • The MCP connector needs no account and runs no analytics — details below.

What we never store

When you submit a hash for lookup, it is used to search the index and then discarded. It is not written to disk, not logged in the activity feed, and not retained in any form.

The live activity feed on the home page — the one showing lookups per minute — records exactly three things per lookup: which algorithm, how many milliseconds it took, and whether a match was found. No hash, no plaintext, no client identifier. The function that writes it takes no hash as an argument, so it could not record one even by mistake.

What we do store, and why

Words you type into the compute tab

This is the one thing on the site that keeps what you typed. The Compute digest tab hashes a word for you locally-visible output, and also sends that word to the server, where it can be added to the lookup corpus — which means it becomes findable by anyone who searches for its hash.

Do not enter a password you actually use. The same warning appears on the home page next to the tab.

Two controls limit the damage this can do:

Aggregate counters

We count page hits and unique visitors. Uniqueness uses the same HMAC-of-IP-under-a-local-salt construction described above — a count, not a record of who visited. There is no per-visitor history and nothing that can be joined back to a person.

Rate-limit state

To stop abuse we track request counts per client in memory, keyed by IP address, over a rolling one-minute and one-day window. This is never written to disk and is discarded when the service restarts.

The zero-disclosure option

If you would rather not send us a hash at all, don't. The range API lets you check a hash by sending only the first six hex characters of it.

You send a prefix. We return every stored hash prefix that begins with those six characters — roughly 381 of them — and your own tooling finishes the comparison locally. We are never told which one you were interested in, so the privacy guarantee here is structural, not a promise you have to take on trust. Modelled on the approach Have I Been Pwned uses.

$ curl https://redhacker.ai/api/range/md5/25f9e7
94323B4538
A1C0DE4471
...

# your six characters name a bucket of ~381 candidates.
# which of them you cared about never leaves your machine.

Supported algorithms are md5, sha1, sha256 and ntlm. Responses contain hash prefixes only — never plaintext — are cacheable for a week, and require no CAPTCHA or account so they work from a script. Because six hex characters describe a large bucket rather than one hash, the request path is safe to appear in an ordinary web log.

The MCP connector

mcp.redhacker.ai exposes lookups as tools an AI assistant can call. It is a separate service from the website, and its data handling is narrower:

The check_hash_prefix tool is the zero-disclosure path, and it is the one to prefer when the hash is not yours: we cannot disclose what we were never sent.

Logs and infrastructure

Being straightforward about this, because "we don't log anything" is almost never true:

LayerWhat it sees
Application serverStandard web access logs: timestamp, request path, status code, and the client IP. Retained on the host for normal operational lifetimes, not aggregated or analysed. Lookup request bodies — i.e. your hashes — are not logged.
CloudflareSits in front of this site as CDN, TLS terminator and WAF, and keeps its own request logs under its own policy. It necessarily sees request metadata for everything served.
Cloudflare TurnstileThe bot check on lookup and submit. Cloudflare operates it and receives what it needs to score the challenge. We receive only a pass/fail verdict.
Cloudflare Web AnalyticsCounts page views and measures load performance. Cookieless, and scoped to this site only — see below.

Processing happens on infrastructure the operator controls, located in the United States.

Analytics

This site runs Cloudflare Web Analytics. It is the only analytics tool here, and it exists so we can see whether the site is being used and whether it is fast — not to build a picture of you.

It works differently from the analytics you are probably used to:

Mechanically, Cloudflare injects a small script from static.cloudflareinsights.com which reports measurements to cloudflareinsights.com. Both are named explicitly in this site's Content-Security-Policy, so you can confirm exactly what is permitted to run by reading the content-security-policy response header — nothing else can execute or phone home.

If you would rather not be counted, any content blocker that blocks cloudflareinsights.com will stop it, and the site works normally without it. Using the range API instead of the web interface avoids it entirely.

Data retention

WhatKept for
Hashes you look upNot retained. Used to search the index, then discarded. Never written to disk.
Server logs (timestamp, path, status, client IP)30 days, then deleted automatically by the system journal. Not aggregated, not analysed, and not used to build any profile.
Rate-limit countersIn memory only. A sliding window of one minute and one day; gone at process restart.
Words submitted through the Compute tabIndefinitely, if promoted to the corpus — that is the point of submitting. See removing a word.
Submitter identifiers for pending wordsUntil the word is promoted or discarded, and never in a form that identifies anyone: an 8-byte HMAC under a per-install salt that never leaves the machine.
Aggregate countersIndefinitely. They are totals — page views, lookups per algorithm — with no per-person component to retain.
MCP connectorNothing beyond in-memory rate-limit state.

Third parties

We do not sell, rent, trade or share your data with anyone. There is no advertising, there are no data brokers, and there are no marketing tools on this site.

Two service providers necessarily process request data in order to deliver the site, and they are the complete list:

ProviderRole, and what it sees
Cloudflare, Inc.CDN, TLS termination and WAF for redhacker.ai and mcp.redhacker.ai; also the Turnstile bot check and Web Analytics. It sees request metadata for everything served and keeps its own logs under its own policy.
Namecheap (Private Email)Handles mail sent to our published addresses. It sees only what you choose to email us.

Everything else — the index, the lookup service and the MCP connector — runs on hardware the operator owns and controls, in the United States. Nothing is subcontracted to a hosting provider or a third-party API.

What we do not do

Removing a word from the corpus

If a word that identifies you personally has ended up in the corpus, write to [email protected] and it will be removed. Note that the corpus is largely built from wordlists of already-breached passwords published elsewhere — removing an entry here does not remove it from the breach data it came from, and a password that appears in a public breach corpus should be treated as burned regardless.

Intended use

This is a password-auditing and security-research tool. Submit only hashes you own or are authorised to test. Automated and bulk use is rate-limited and may be blocked. Salted hashes — bcrypt, scrypt, Argon2 — are immune to this technique by design, which is the point: if your hashes can be reversed here, the fix is a salted adaptive hash, not secrecy.

Contact and changes

Privacy or security questions: [email protected]. Vulnerability reports are welcome at the same address; see /.well-known/security.txt.

If this page changes in a way that affects what is collected, the effective date above changes with it.