Brand Protection & Anti-Impersonation

Every domain wearing your name, filtered down to the ones that are live today

Brand teams do not lack candidate domains. Permutation engines, registry feeds and certificate logs will hand you thousands of strings containing your trademark, most of them parked, dormant or owned by somebody with a perfectly good claim to the name. This page is about the opposite problem: taking a daily list of hosts confirmed to be phishing and confirmed to be resolving, matching your brand strings against it, and turning the overlap into a takedown queue with evidence already attached.

390,000+DNS-verified phishing domains, every one currently resolving
24 hoursFull rebuild cadence, with an added and removed changelog
100Domains per batch request, one credit charged per domain
<50 msTypical latency on a single hostname lookup
Home / Use Cases / Brand Protection
Attack shapes

Six ways a hostname ends up wearing your brand

The permutation is the cheap part. Knowing which permutations are currently serving a credential form is the part worth paying for.

An anti-impersonation programme almost always starts by enumerating strings. You take the registered mark, the product names, the support subdomain everyone recognises, and you run them through a generator that emits character swaps, insertions, deletions, transpositions, hyphenations and every plausible top-level domain. That produces a candidate set in the tens of thousands for a mid-sized brand and in the hundreds of thousands for a household one. It is a useful inventory and a terrible worklist, because the overwhelming majority of those strings turn out to be one of the following.

  • Unregistered — a string a generator produced and nobody ever bought.
  • Parked by a registrar's monetisation partner and serving advertising, not a login form.
  • Held defensively by you or by a competitor, exactly as intended.
  • Legitimately owned by an unrelated business in another jurisdiction that has every right to the name.

The six shapes below are the ones that actually turn up inside confirmed phishing infrastructure, and they behave differently enough that a single detection approach will not cover all of them. Two of them involve no domain registration at all, which is why a programme built exclusively around new-registration alerting will report a clean week while a cloned checkout page quietly takes card numbers from your customers on somebody else's hostname.

Registered

Typosquats

A single dropped, doubled or adjacent-key character. Trivially generated, trivially registered, and effective because the human eye reads the word rather than the letters. Mobile address bars, which truncate aggressively and hide the middle of a hostname, make them harder still to catch by inspection.

String distance 1–2
Homoglyph

Homoglyph and IDN lookalikes

Characters borrowed from other scripts that render identically to Latin letters at normal type sizes. The host resolves through its punycode form, so it looks nothing like your brand in a log file and exactly like your brand in a browser. Any brand string sweep has to run against both representations or it will miss these entirely.

Punycode aware
Registered

Combosquats

Your exact mark plus a service word — a login form, a security notice, a verification step, a rewards portal, an account update. The trademark is spelled correctly, which defeats edit-distance matching completely, and the appended word supplies the pretext the message needs to sound plausible.

Exact mark + suffix
Hosted

Subdomain abuse on shared hosting

No registration happens. The attacker claims a free subdomain on a shared platform and puts your brand in the leftmost label, where a truncated address bar shows it first. The registrable domain belongs to a legitimate provider, so registry monitoring never fires and a careless blocklist entry would break a service thousands of people rely on.

Host level, not registry
Cloned

Cloned checkout and support pages

A near-exact scrape of your storefront or help centre, re-hosted with the payment form and the contact number rewritten. The hostname may contain none of your marks, which means string matching never finds it — it surfaces through customer reports, referrer anomalies, or a feed match on a host you were not watching.

Content, not string
Personal

Executive impersonation

A domain built around a named individual rather than the company: a chief executive's surname, an initials-plus-company construction, a fake board portal. It rarely trips brand monitoring because nobody thought to add the leadership team's names to the watch list, and it lands directly in finance approval workflows rather than in front of customers.

Names on the watch list
DNS-verified

Every domain in this database has been confirmed to resolve in DNS at the time of the build. When a host stops resolving it is dropped rather than kept as history. That single property is what makes the data useful to a takedown queue: a match is not a domain that once looked suspicious, it is a host that answered a query today.

What the list is not

It is not a trademark register, a WHOIS aggregator, or a judgement about who is entitled to a name. It contains confirmed live phishing hosts. A domain that infringes your mark while hosting nothing hostile will not appear in it, and that is the correct behaviour for a security feed rather than a shortcoming.

The asymmetry

Your customers were never equipped to tell the difference

Impersonation works because recognition is a feeling, and the attacker only has to reproduce the feeling.

The work a brand team does to make a name instantly recognisable is precisely the work an attacker inherits for nothing. A customer who sees your logotype, your colour, your button shape and your support tone does not perform a verification step; they experience familiarity and act on it. Verification is the thing brands spend years training people out of, because friction costs conversions. Nobody reads a hostname character by character before entering a password, and the small population who would like to has been handed a mobile browser that hides most of the hostname anyway.

Where the consequences actually land

When someone is defrauded through a page carrying your identity, the complaint arrives at your support desk, the chargeback lands on your merchant account, and the account-takeover cleanup consumes your fraud team's week. You did not host the page, you did not send the message, and none of that is legible to the person who lost money. Brand protection often sits under marketing because the word "brand" is in the title, but the operational consequences land on security, fraud and support — and the budget conversation goes considerably better once that has been said out loud in a room with all three.

The second asymmetry decides the tooling

The attacker's cost per attempt is close to zero: a domain, a scraped template, an hour of configuration. Your cost per response is not zero, because a takedown is a human-written request to a third party who owes you nothing, followed by a wait, followed sometimes by a second request to a different party in a different jurisdiction. If the queue is fed by everything that pattern-matches your brand, most of that human effort goes to parked domains and unrelated businesses. The only way the arithmetic works is to filter hard on the one property that predicts whether a takedown is both possible and worth pursuing: whether the host is answering right now.

A monitoring alert tells you a string appeared

Registration and certificate-log alerting is genuinely valuable as early warning, but the signal it produces is thin. It says a name was registered, or a certificate was issued for a name resembling one of yours, and then it stops.

  • No statement about whether anything is being served
  • Fires on defensive registrations and unrelated marks
  • Silent on subdomain abuse, where nothing is registered
  • Silent on clones that carry none of your strings
  • An analyst has to confirm each one by hand before acting

A verified live-host list tells you what to work today

The feed answers a narrower question with far more confidence: these specific hosts were serving phishing and were resolving when the database was last rebuilt. Matched against your brand strings, that produces a queue rather than an alert stream.

  • Confirmed live, so a takedown request has a live target
  • Includes hosts on shared platforms, not only registrations
  • Dead entries drop out, so the queue never fills with ghosts
  • A changelog shows what appeared and vanished overnight
  • Machine-readable, so triage happens before anyone opens it
Two access patterns

Sweeping a CSV is a different job from asking about one domain

Brand teams need both, at different moments, and the usual mistake is forcing one of them to do the other's work.

The daily feed is a bulk instrument

You subscribe, you pull the complete database as CSV once the rebuild lands, and you run the matching locally against a list of strings you control: the mark, its common misspellings, the punycode forms of its plausible homoglyph variants, product names, the labels you use for login and support subdomains, and the surnames of anyone whose signature moves money. A simple substring pass over a few hundred thousand rows finishes in seconds; a smarter pass that also strips hyphens and digits and computes edit distance takes a little longer and finds more. Because you are searching a file you have already downloaded, there is no cost per string, so you can afford to watch two hundred terms rather than the twenty a per-query budget would tolerate.

The API is a point instrument

GET /api/v1/check?domain=<host>&apikey=<key> answers one hostname in typically under fifty milliseconds for one credit, which is what you want when a customer forwards a suspicious link to the abuse mailbox, when a fraud analyst is staring at a referrer inside a chargeback record, or when your support tooling wants to annotate a URL somebody just pasted into a chat window. POST /api/v1/batch accepts up to a hundred domains in one JSON body at one lookup each, which suits a nightly pass over a shortlist or over yesterday's inbound referrers.

Confidentiality, not only cost

The feed approach means the strings you are curious about never leave your infrastructure, which is worth something when the watch list includes an unannounced product name or an executive whose appointment has not been published. The API approach means you send a hostname and receive a verdict, which is exactly right for a domain somebody else already sent you and entirely wrong as a way to test your own unreleased roadmap against a third party.

Point lookup, then a batch pass
# One hostname, one credit, typical response under 50 ms
curl "https://phishingdetectionapi.com/api/v1/check?domain=secure-login-yourbrand.com&apikey=YOUR_KEY"

# Up to 100 hostnames per request, one credit per domain
curl -X POST https://phishingdetectionapi.com/api/v1/batch \
 -H "Content-Type: application/json" \
 -d '{"apikey":"YOUR_KEY","domains":["yourbrand-verify.net","yuorbrand.com","yourbrand.portal.example"]}'

# Fields returned for each domain:
# domain, is_phishing, category, dns_status, last_checked, confidence, database_size
Key handling

The key travels as a query parameter or in the POST body, so it belongs on a server you control. It must never appear in a browser extension, a customer-facing page, or anything a visitor can open developer tools on. Brand monitoring is server-side work by nature, which makes this an unusually easy rule to keep.

The record

What a single row actually asserts

Knowing exactly what each field claims — and what it does not — is what stops a takedown packet from overstating its case.

A takedown request is read by somebody at a registrar or hosting provider who receives a great many of them, most of them vague. The ones that get actioned quickly are specific, independently verifiable and modest in their claims. That means quoting the fields you actually hold rather than paraphrasing them into something stronger, and it means respecting the difference between this host was confirmed serving credential harvesting and confirmed resolving as of the most recent daily build and "this domain is stealing from our customers" — the second is a conclusion the recipient has to reach on their own, and handing it to them as a premise makes the whole packet read as advocacy.

Why the removals matter as much as the additions

The database is rebuilt on a twenty-four hour cycle and the accompanying changelog records what was added and what was removed on each build. For brand work the removals matter nearly as much as the additions: a host disappearing is the signal that a takedown landed, that the infrastructure rotated, or that the campaign simply moved on, and each of those means something different for how the ticket should be closed.

is_phishing

The verdict itself. A boolean rather than a score to be argued over, and the thing your matching pass filters on before anything reaches a human being.

dns_status

Whether the host resolved at build time. This is the field that ranks the queue, because a host that no longer answers is not an urgent takedown.

last_checked

When the verification ran. Quote it verbatim in the packet so the recipient can see the observation is hours old rather than months old.

category

What kind of lure it is. Useful for routing, because a fake storefront belongs with a different internal owner than a fake payroll portal.

Triage

A takedown queue is a priority list, not an inbox

The binding constraint is analyst hours, so the ordering rule has to be defensible and applied before anyone reads a single row.

Most brand protection functions are one to three people, sometimes inside legal, sometimes inside security, occasionally inside a fraud team that also handles chargebacks. Whatever the reporting line, the constraint is identical: the number of takedown requests a human can write, send, chase and close in a week. Every design decision downstream follows from that number, and the most valuable thing an automated pass can do is decide the order in which those hours get spent.

01
First sort key

Resolution status

A host answering DNS queries is a host that can currently receive a visitor, which means the harm is ongoing and the abuse desk on the receiving end has something concrete to act against. A host that has stopped resolving may still deserve a registrar complaint on trademark grounds, but it is no longer a security incident and it should not be competing for the same hours. Because every entry in this database is verified as resolving at build time, a feed match arrives already filtered on that property — a materially different starting position from a permutation list where you have to test resolution yourself, one hostname at a time, before you know whether the case is even live.

02
Second sort key

Proximity to money

A combosquat reproducing your login form outranks a domain that merely parks your name, because the first has a mechanism for converting a visit into a loss. A cloned checkout page outranks both, because the loss is immediate and the victim never even reaches an account. Executive-impersonation domains deserve a lane of their own: they are usually low volume, they target a handful of finance approvers rather than the customer base, and the correct response is often a same-day internal warning to those approvers rather than a takedown request that will take a week to land.

03
Third factor

Reachability of the abuse contact

Some registrars and hosts respond to a well-formed complaint within hours; some route everything through a web form that produces no ticket reference; a few are effectively unreachable. Keep a private record of which is which and let it influence ordering, because two hours spent on a responsive provider removes more live phishing pages than two hours spent on an unresponsive one. This is unglamorous institutional knowledge that nobody documents and every team rediscovers, and it is worth writing down the first time you learn it.

04
Close condition

Let the feed retire the ticket

Keep the queue honest by closing tickets when the feed says the host has gone. If a domain you filed against stops appearing in the daily list, the changelog records its removal, and that removal is the cheapest possible confirmation that the page is no longer live. It is not proof your request caused it — attackers rotate infrastructure constantly and would have moved regardless — but it is a factual close condition with a date on it, and it stops the queue silting up with items nobody can ever resolve.

Workflow

From a feed match to a dead hostname

Seven steps, of which the first three should be fully automated and the last four should emphatically not be.

1

Pull the rebuilt database and diff it

A scheduled job downloads the current CSV and the changelog. Diffing against yesterday's copy gives you the additions to sweep and the removals to reconcile against open tickets. Keep both files: a packet is much stronger when you can show a host was present across several consecutive builds rather than seen once.

2

Sweep the additions against your string set

Run substring, hyphen-stripped and edit-distance passes over the new rows in both the Unicode and punycode representations. Include product names, the labels you use for login and support hosts, and the surnames of anyone who can authorise a payment. Keep the string set in version control so every addition to the watch list is reviewable and attributable.

3

Score, deduplicate and route

Collapse hosts sharing a registrable domain into a single case, attach the category so it lands with the right internal owner, and rank by the money-proximity rule. Anything below your threshold goes to a weekly review list instead of the active queue, so it is recorded without consuming the hours you do not have.

4

Collect the evidence while the host is still up

This is the step teams skip and later regret. Capture a full-page screenshot, the response headers, the resolved address, the certificate details and a plain copy of the page source showing where the form posts. Record the timestamp of your own capture alongside the last_checked value from the feed. Once the page comes down, none of this can be recovered.

5

Identify the right recipient, not just any recipient

Separate the parties: the registrar of record, the provider actually serving the content, the certificate issuer, and where relevant the platform whose subdomain is being abused. Subdomain cases go to the platform and never to the registrar, because the registrable domain is legitimate and a registry-level action would be both wrong and refused.

6

Send a short, specific, verifiable request

State the exact hostname, what it is serving, when you observed it and what you are asking for. Attach the capture. Cite the mark and its registration if you have one, but lead with the security harm rather than the trademark argument — abuse desks move faster on credential harvesting, and the two claims travel to different teams inside the same company on very different clocks.

7

Watch the feed for the close condition

Rather than re-testing the host by hand, let the next build tell you. When the hostname leaves the database the removal appears in the changelog and the ticket closes with a dated reference. If it is still present a week later, escalate to the next party up the chain with the intervening builds as evidence of persistence.

Evidence

What belongs in the packet, and what weakens it

A takedown request gets about ninety seconds of attention from somebody with a queue of their own. Write for that reader.

The strongest packets are boring

They contain one hostname, one screenshot, one set of response headers, one timestamp and one sentence describing what the page does. They do not contain a paragraph about the value of the brand, an estimate of damages, or a list of forty related domains the sender also dislikes. The recipient is not adjudicating a dispute; they are deciding whether the evidence supports switching something off, and every additional claim they cannot verify for themselves gives them a reason to move the item down the pile.

Quote the feed's own record

Independent corroboration helps. One line stating that the host appears in a database of DNS-verified live phishing domains, with the verification timestamp and the number of consecutive daily builds it has appeared in, tells the recipient that somebody other than the complainant observed the same thing. It costs a sentence and it converts your claim from an assertion into a corroborated observation.

Keep the trademark argument second

Registrars and hosts run abuse desks and legal desks separately, and the two operate on entirely different timescales. A credential-harvesting report reaches an operations team who can suspend a host today; a trademark complaint reaches counsel who will reasonably want to hear from the registrant first. Leading with the security harm buys the fast path, and the trademark material is still sitting there for the cases that need the slow one.

Be precise about the remedy

Asking for an entire registrable domain to be suspended because one subdomain is abusive is disproportionate and will be refused; asking for the offending content or that specific subdomain to be removed will not be. Requesting the wrong remedy is the single most common reason a well-evidenced complaint goes nowhere, and it is entirely avoidable by reading your own evidence carefully before writing the ask.

The sentence that reframes the whole programme: a brand protection team is not measured by how many infringing strings it discovers, it is measured by how many live credential-harvesting pages it removes — and those are two different lists that overlap far less than anyone expects on the day they first put them side by side.

Sizing

What a brand monitoring workload actually consumes

The feed carries the bulk matching; credits cover the point lookups a queue and a support desk generate between them.

Work out credit consumption from the events that genuinely require a per-domain answer, not from the size of your permutation list. In a typical week that means hostnames customers forward to the abuse mailbox, referrers a fraud analyst wants annotated, links inside a phishing report a partner sent over, and one-off checks during an active incident. For most brands that is tens to low hundreds of lookups a day rather than thousands, because the bulk pattern-matching happens against the downloaded file at no per-query cost at all. lookups reset monthly, so a package sized against an annual estimate does not evaporate at the end of a quarter because one month was quiet.

Sizing a nightly batch pass separately

If you also want a nightly batch pass over a permutation set, the arithmetic is one credit per domain and a hundred domains per request. Ten thousand candidate strings checked every night is roughly 300,000 lookups a month, which is a different order of magnitude entirely and argues strongly for doing the matching against the feed and reserving the batch endpoint for the subset your sweep already flagged as interesting.

PackagePriceCreditsPer lookup
Starter$5910,000$0.0040
Growth$9925,000$0.0040
Professional$249100,000$0.0025
Business$499250,000$0.0020
Enterprise$999750,000$0.0013

Credits are bought outright through PayPal rather than subscribed to, and there is no per-seat licence on the API, so a three-person team and a thirty-person team pay the same for the same volume. The daily feed is a separate subscription because it is a genuinely different product — a bulk file rather than a metered service. Full details sit on the pricing page, and the daily feed page covers the file format and the changelog.

Honest limits

What this will not do for you

A known-bad list is a floor under the problem rather than a perimeter around it, and a programme that pretends otherwise will be surprised.

01 The definitional limit: this is not a trademark watch service

This database contains hosts confirmed to be serving phishing and confirmed to be resolving. A domain infringing your mark while hosting a parking page, a competitor's advertising, or nothing at all will never appear in it. If your remit includes defending the mark itself as well as protecting customers from credential theft, you need registry monitoring alongside this and you should not expect either product to cover the other's ground.

02 The timing limit: a fixed cycle will lag a faster campaign

A domain registered this morning, weaponised at lunchtime and abandoned by evening may never appear in a daily build at all, and no list rebuilt on a fixed cycle will catch a campaign whose entire lifespan is shorter than the cycle. Fast-rotating infrastructure is a real technique and this data will lag it. What the daily rebuild guarantees instead is that the entries which are present are current rather than historical — that is the trade being made, deliberately, and it is the trade that makes the list useful for takedowns.

03 The coverage limit: the shapes that are not domains

A cloned checkout page whose hostname contains none of your brand strings will only be found by a match on the host itself, which means it has to have been detected as phishing by some route other than your string list. Customer reports, referrer anomalies in your own analytics and payment-processor signals remain irreplaceable inputs; the feed complements them rather than replacing them. The same applies to impersonation that never touches a website at all — profiles, messaging accounts, app-store listings and paid search placements are separate problems with separate remedies, several of which are covered on our social media and online marketplaces pages.

04 The evidential limit: a match starts a case, it does not close one

Your evidence capture, your own judgement about what the page is doing, and where relevant your counsel's view are what turn a row in a file into a request somebody will act on. The data does one specific job well: it tells you every day which of the hosts wearing your name are actually up. What you do with the hours that saves is the part that removes them.

Pairs with registry monitoring. Use registration and certificate-log alerting for early warning, then use this feed to decide which of those warnings became live infrastructure worth a takedown.

Pairs with your own telemetry. Referrer strings, chargeback records and support tickets surface the clones that carry no brand string, and those hostnames can be checked directly through the API.

Related work sits nearby. Abuse desks see the same domains from the other side — see domain registrars and hosting providers.

Downstream teams benefit too. The same list feeds the workflows described on our incident response and threat intelligence pages.

Questions from the team

What brand, legal and security ask before signing off

The seven that come up in nearly every evaluation, answered without hedging.

We already pay for a brand monitoring service. What does this add?

Most brand monitoring products are built on registry and certificate data, which makes them excellent at telling you a name appeared and weak at telling you whether anything is being served from it. That gap is exactly where analyst hours disappear. This database answers the second question directly, because every entry has been confirmed as serving phishing and confirmed as resolving at build time.

  • Keep the monitoring service for early warning of new names appearing.
  • Use the feed as the filter that decides which of those warnings become work.
  • A name flagged three weeks ago that turns up in today's build is a case.
  • One that never turns up may still be a trademark matter, but it is not an urgent security one.
Will it find lookalikes that use non-Latin characters?

The database stores hostnames as they resolve, which means internationalised domains appear in punycode form. Your matching pass therefore has to generate the punycode representations of your brand's plausible homoglyph variants and search for those alongside the plain Latin strings. That is a few lines of code with any IDNA library, and it is the single most commonly omitted step in a brand string set.

What skipping it costs

A domain that renders identically to your brand in a customer's address bar will be sitting in the feed while your sweep walks straight past it, because the two strings share almost no characters once encoded.

Can we watch our executives' names as well as the company name?

Yes, and you should. Because the matching runs locally against a file you have already downloaded, adding a term costs nothing, so there is no budget reason to keep the string set small. Surnames of anyone who can authorise a payment, initials-plus-company constructions, and the words that appear in your internal approval workflows are all worth including.

  • Expect more false positives on common surnames than on the company mark.
  • Keep these in a separate low-volume lane, not in the customer-facing takedown queue.
  • The right response is usually a same-day internal notice to the finance approvers, not a request to a registrar.
How do we handle a lookalike hosted on a subdomain of a legitimate platform?

Treat the platform as the recipient and never the registrar. The registrable domain belongs to a legitimate business, so a registry-level action would be disproportionate and refused, and asking for one costs you credibility with the abuse desk you actually need. Send the specific fully-qualified hostname, the capture, and a request to remove that subdomain or its content.

The same care applies internally

If you push feed matches into a DNS blocklist for your own staff, blocking the registrable domain would break a service your colleagues and customers use. Block the full hostname or block nothing.

Does a match prove the domain is infringing our trademark?

No, and it matters not to present it as though it does. A match proves the host was verified as serving phishing and verified as resolving. Whether a particular use of your mark meets the legal test for infringement in a given jurisdiction is a question for counsel, and it turns on facts the feed does not contain, such as the registrant's identity and intent.

  • In practice this rarely slows anything down: the security claim is easier to evidence and faster to action.
  • Lead with what you can prove, and keep the trademark position in reserve for the cases that genuinely need it.
What happens to a domain in the feed after it is taken down?

It stops resolving, and at the next daily rebuild it is dropped from the database rather than retained with a historical flag. The removal is recorded in the changelog that accompanies the build, which is what lets you close a ticket with a dated reference instead of re-testing the host manually.

  • If you need a longer history than the current build provides, keep your own daily copies of the CSV.
  • Storing a year of daily files is trivial in both cost and effort.
  • Showing that a host was present across a run of consecutive builds is a genuinely useful escalation argument when a first request is ignored.
Can we push feed matches straight into a blocking control?

Yes for your own corporate estate. The file format suits DNS resolvers, firewalls and SIEM enrichment, so the same download that drives your brand sweep can also stop your own staff reaching those domains. That is a sensible second use of a subscription you are already paying for.

It does nothing for your customers

They are on their own networks and cannot be reached by your controls. Customer-side protection comes from getting the host removed and, where you operate an app or a portal, from checking outbound links server-side before you render them. That pattern is documented on the API documentation page.

Point your brand strings at a list of hosts that are actually up

Pull the rebuilt database each morning, sweep it against the names you protect, and spend your takedown hours on the domains answering queries today rather than on a permutation list nobody could ever work through.