context safety score
A score of 46/100 indicates multiple risk signals were detected. This entity shows patterns commonly associated with malicious intent.
encoded payload
suspicious base64-like blobs detected in page content
phishing
1 deceptive links where visible host does not match destination host
cloaking
Page loads content in transparent or zero-size iframe overlay
brand impersonation
The URL joann.com serves content entirely branded as Michaels, with all assets, scripts, and UI elements from michaels.com infrastructure. While JOANN stores did close and Michaels acquired their customer base (making this likely a legitimate acquisition redirect), a user visiting joann.com would be presented with Michaels branding and directed to Michaels without a clear domain change, which constitutes a brand substitution that could confuse users expecting JOANN services or be exploited if the domain were ever re-registered by a bad actor. (location: page.html:1 - <title>Welcome JOANN Shoppers | Your Favorite Fabrics | Michaels</title>, og:siteName=Michaels, all assets from static.platform.michaels.com)
malicious redirect
The page at joann.com silently serves Michaels content without an explicit HTTP redirect (3xx) to michaels.com. Users and AI agents navigating to joann.com receive a full Michaels page under the joann.com domain, which could be used to mask the true destination of links shared as joann.com URLs. (location: metadata.json - url: https://joann.com; page.html:1 - all content and navigation links point to Michaels infrastructure)
hidden content
The page contains 94 HTML comments consisting solely of empty content (lines containing only $ and /$). While these appear to be empty Next.js or CMS template comment markers rather than deliberate hidden content, the volume (94 entries) is anomalous and warrants inspection as a potential channel for hidden instructions or data. (location: page-hidden.txt:1-94 - 94 HTML comments with only '$' and '/$' content)
curl https://api.brin.sh/domain/joann.comCommon questions teams ask before deciding whether to use this domain in agent workflows.
joann.com currently scores 46/100 with a suspicious verdict and medium confidence. The goal is to protect agents from high-risk context before they act on it. Treat this as a decision signal: higher scores suggest lower observed risk, while lower scores mean you should add review or block this domain.
Use the score as a policy threshold: 80–100 is safe, 50–79 is caution, 20–49 is suspicious, and 0–19 is dangerous. Teams often auto-allow safe, require human review for caution/suspicious, and block dangerous.
brin evaluates four dimensions: identity (source trust), behavior (runtime patterns), content (malicious instructions), and graph (relationship risk). Analysis runs in tiers: static signals, deterministic pattern checks, then AI semantic analysis when needed.
Identity checks source trust, behavior checks unusual runtime patterns, content checks for malicious instructions, and graph checks risky relationships to other entities. Looking at sub-scores helps you understand why an entity passed or failed.
brin performs risk assessments on external context before it reaches an AI agent. It scores that context for threats like prompt injection, hijacking, credential harvesting, and supply chain attacks, so teams can decide whether to block, review, or proceed safely.
No. A safe verdict means no significant risk signals were detected in this scan. It is not a formal guarantee; assessments are automated and point-in-time, so combine scores with your own controls and periodic re-checks.
Re-check before high-impact actions such as installs, upgrades, connecting MCP servers, executing remote code, or granting secrets. Use the API in CI or runtime gates so decisions are based on the latest scan.
Learn more in threat detection docs, how scoring works, and the API overview.
Assessments are automated and may contain errors. Findings are risk indicators, not confirmed threats. This is a point-in-time assessment; security posture can change.
integrate brin in minutes — one GET request is all it takes. query the api, browse the registry, or download the full dataset.