Is AmazingHiring safe?

Medium risk

AH is medium risk. The extension's content script runs on every website. About 10% of the time you visit a page unrelated to recruiting, it sends that page's domain and full URL to AmazingHiring's analytics server, whether or not you are signed in.

AmazingHiringv14.3.30Chrome Web Store
45Risk
Who publishes it

Amazing Hiring, Inc. - no other listings under this identity, 2 shared hostnames

What this publisher told the store about itself, and the other listings that told it the same thing.

Publisher
AmazingHiring
Declared legal entity
Amazing Hiring, Inc.
Registered address
541 Jefferson Ave suite 100, Redwood City, CA 94063, US
Registered contact
AmazingHiring

Shared hosts - 2 hostnames

Hostnames hardcoded in this extension that few other listings call. That can mean one operator behind both, and it can equally mean a small shared vendor, so it is context rather than a conclusion. Hosts that many listings call are left out: they are services, not connections.

amazinghiring.com
Also called by 3 other listings, including Кнопка WorkHere, Profile Enhancer Pro
getmatch.ru
Also called by 6 other listings, including Кнопка WorkHere

AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.

Publishers can request a review.

Findings

Every install reports a 10% sample of unrelated page visits to AmazingHiring

The extension's content script runs on every website.

About 10% of the time you visit a page unrelated to recruiting, it sends that page's domain and full URL to AmazingHiring's analytics server, whether or not you are signed in.

Severity
Medium unwanted
Type
Unexpected
CWE
CWE-359
Source
Dynamic sandbox
What actually happens
You did this

You browse to a page that isn't one of the extension's supported recruiting or profile sites, for example an online store or a news article.

The extension did this

About 10% of the time, the extension sends that page's domain and full URL to AmazingHiring's own analytics endpoint.

This fires on ordinary browsing, unrelated to any recruiting feature you're using, and does not require you to be signed in.

Captured request
POSThttps://search.amazinghiring.com/api/events/

HTTP 200 {} observed during dynamic analysis. The navigated-to URL was used as the canary and was found verbatim in this outbound body.

Headers
Content-Type
application/json; charset=UTF-8
Body
{  "payload": {    "user_id": null,    "event_type": "Visit Unknown Page With Extension",    "event_properties": {      "Ext_Page_Domain": "amazon",      "Ext_Page_Url": "https://www.amazon.com/gp/cart/view.html"    }  }}
Fields sent in the tracking event
  • Full page URL
    https://www.amazon.com/gp/cart/view.html

    The complete address of the page you were on, including its path and query string.

  • Page domain
    amazon

    The bare domain of the page you were on, sent alongside the full URL.

  • Event type
    Visit Unknown Page With Extension

    A fixed label marking this as an off-site page visit rather than something you did inside the extension.

  • Account ID
    null

    Your AmazingHiring account ID, included when you're signed in; observed as null when signed out.

The code that does this

The sampling check in content.js and the event send in background.js

Readable version

Sampling gate: current URL c passes a 10% random check

deobfuscated/js/content.js:56004-56009
c && Math.random() < .1 && (i = Xo(c), o = c, function(e) {  $c(e)("Visit Unknown Page With Extension", {    Ext_Page_Domain: i,    Ext_Page_Url: o  })})(t)

Endpoint host defaults to search.amazinghiring.com

deobfuscated/js/background.js:24333-24341
var x = "https://search.amazinghiring.com",  E = x;function A() {  return E}function k(t) {  E = t || x}

Background handler POSTs the event to /api/events/

deobfuscated/js/background.js:24896-24913
kt && fetch(`${t}/api/events/`, {  method: "POST",  headers: {    "X-EVENT-SERVICE-TOKEN": kt,    "Content-Type": "application/json; charset=UTF-8"  },  body: JSON.stringify({    payload: {      user_id: a,      licence_id: (0, r.get)(e, "licenceId"),      event_type: n,      time: Date.now(),      event_properties: Et(Et({}, i), {}, {        Event_Name: n      })    }  })})
Where the sampled page visit is sent
    • search.amazinghiring.com

    AmazingHiring's own analytics backend. Receives the domain and full URL of about 10% of the non-recruiting pages you visit while the extension is installed.

Updated 30 September 2026didkfdopbffjkpolefhpcjkohcpalicd