Skip to main content
Glama

SaveSaveSaveSave

A free checker for suspicious messages, links, crypto addresses and npm packages. Paste a message, an address, a token or an npm package and get an honest verdict: what was found, and what was not checked.

Live: https://savesavesavesave.xyz · No account · Open source (AGPL-3.0)


What it does

Tool

What you give it

What it checks

Where it runs

Message scan

A DM, email, "support" message or AI prompt

Requests for a recovery phrase, keys or logins; disguised links; invisible and look-alike characters; hidden markup; prompt injection aimed at AI assistants; addresses inside the text

Entirely in your browser. The text is never sent anywhere.

Address / token scan

A wallet or token address

Honeypot patterns, owner powers (minting, balance edits, blacklists), sell restrictions and similar flags from public security data; sanctions screening for EVM wallets (Chainalysis oracle) and Solana wallets (US Treasury OFAC list); for Solana wallets, also what kind of account the address is

Your browser asks GoPlus Security directly; some chains and the sanctions checks go through our Cloudflare Worker

Package check

An npm package name (optionally a version)

Removed by npm for security reasons; reported malicious or vulnerable in OSV.dev; code that runs during npm install; a name imitating a popular package; age, usage, source link, deprecation. The package's code is never downloaded

Your browser asks the npm registry and OSV.dev directly; only the name and version are sent

Compare two addresses

The address you meant and the one you're about to pay

Every character, grouped in fours, to catch address poisoning

Entirely in your browser

Coverage: 14 EVM chains, Solana, Sui and TRON for token and address data. EVM wallets are also screened against the Chainalysis sanctions oracle, and their recent counterparties are screened on 8 chains.

After a FAIL or CAUTION result you can share the warning as an image. It's drawn on your device, carries the date and "not a guarantee", and never contains the message text.

Related MCP server: llmsecurity-mcp

For AI agents

An MCP server, CLI and Node library in agent/ give agents the same four checks as read-only tools: scan_message, check_package, scan_address, compare_addresses. Zero dependencies, a hard-coded network allowlist, and CI keeps it identical to the site's engine. llms.txt describes the site for AI assistants.

  • Install the MCP server: claude mcp add savesavesavesave -- npx -y savesavesavesave mcp (other clients: see savesavesavesave.xyz/agents).

  • GitHub Action for your npm dependencies: uses: stefantsezarov/SaveSaveSaveSave@v0.1.4 (setup).

  • Scan selected text on any web page with a one-click bookmark (install).

The rules it keeps

  • It never says "safe". Verdicts are PASS, CAUTION, FAIL or INSUFFICIENT DATA.

  • Every result lists what was not checked. A clean result on thin data is reported as INSUFFICIENT DATA, not PASS.

  • Only confirmed findings produce FAIL. One confirmed high-severity finding always means FAIL. Unreadable data leads to CAUTION, and the result says so.

  • The live scan console shows real steps only. No invented progress.

Privacy

  • Message text never leaves the browser.

  • Addresses go from your browser to GoPlus, or through our Worker for some chains and checks. When the Worker is used it may keep GoPlus's answer in Cloudflare's edge cache for up to 15 minutes; EVM wallet checks also send up to 15 counterparty addresses to the sanctions oracle via PublicNode. Routine invocation logging for this Worker was disabled on 20 October 2026; diagnostic logging remains enabled. Historical request logs may still contain addresses, IP addresses and other request metadata. This is not a no-storage guarantee; see the privacy page for remaining storage and provider practices.

  • Usage totals contain only daily counts by scan kind, chain and verdict, with no message text, scanned address, cookie, visitor ID or IP address in those totals. Before invocation logging was disabled on 20 October 2026, counting requests were logged with IP addresses and other request metadata. Historical logs were observed to reach back approximately seven days that day; the configured retention period remains unconfirmed. Global Privacy Control suppresses the counting request. The totals are public: ?stats=week.

  • Ads appear in the side columns on wide screens, on a few guides only; the scanner page loads no third-party script at all. They never appear on the high-harm guides and never receive anything you scan. Details are on the privacy page.

How it's built

  • Static site, no build step. index.html is the whole scanner. The engine inside it is copied verbatim from core.js, and a test fails if the two drift apart.

  • goplus-proxy-worker.js is the Cloudflare Worker. It relays requests for chains that browsers can't reach directly, runs the sanctions checks, and keeps the anonymous daily totals in D1.

  • Guides are plain HTML pages (*.html, styled by paper.css). guide-examples.test.js ties every factual claim in a guide to what the engine actually does.

  • Generators:

    • seo.js writes the SEO blocks.

    • apply-ads.js holds the per-page ad policy and security policy (CSP).

    • build-sitemap.js writes the sitemap.

Tests

Over 1,000 checks across 11 suites. They run on every push (.github/workflows/tests.yml), followed by a check of the live site after each deploy.

node verify_embedded.js              # page engine == core.js
node savesavesavesave.regression.test.js
node scanmodel.test.js
node goplus-routing.test.js
node challenge.test.js               # Spot the Trap content and pages
node promptscan.test.js
node promptscan.ui.test.js           # includes XSS tests
node scanconsole.test.js
node redteam.js                      # adversarial prompts
node guide-examples.test.js
node seo.test.js

No dependencies: Node 22 or later (CI runs Node 24, the current LTS).

Found a miss or a false alarm?

Open an issue with the example, and remove anything personal first. Misses are the most useful thing you can send.

Licence and support

  • Code: GNU AGPL-3.0-only (LICENSE).

  • The SaveSaveSaveSave name, logo, visual identity and guide text: all rights reserved (LICENSE.md). Forks must use their own name.

  • Supporting the project: SUPPORT.md. We never message anyone asking for crypto.

The original vision document is kept in VISION.md.

Not financial, legal or investment advice. An automated check can be wrong; use it as one input, not the only one.

Available Tools

4 tools
check_packageCheck an npm package before installing itA
Read-onlyIdempotent

Look up an npm package before npm install: removed by npm for security, reported malicious or vulnerable in OSV.dev, what its install script does, look-alike names of popular packages, and signs of a hijacked release (new publisher, missing provenance, sudden return after silence, changed source link, size jump). Never downloads or runs the package code. Accepts "name", "@scope/name", "name@version" or a pasted install command.

Inputs: package (required).

compare_addressesCompare two addresses character by characterA
Read-onlyIdempotent

Catch address poisoning: compare the address you meant (from a trusted source) with the one you are about to send to. Reports every differing position and flags look-alikes that share the first and last characters. Runs locally.

Inputs: actual (required), expected (required).

scan_addressScan a crypto address or tokenA
Read-onlyIdempotent

Check a wallet or token address before paying, approving or buying: honeypot patterns, owner powers, sell restrictions and similar flags from GoPlus Security data; for EVM wallets, sanctions screening. Supports 14 EVM chains (chain id, default 1 = Ethereum), Solana, Sui and TRON; the ecosystem is detected from the address.

Inputs: address (required), mode, chain.

scan_messageScan a message or promptA
Read-onlyIdempotent

Check text before acting on it: a DM, email, web page, README or prompt. Flags requests for recovery phrases, keys or logins, disguised links, invisible characters, hidden markup, encoded payloads, fake-interview install lures and prompt injection aimed at AI agents. Runs locally; the text is never sent anywhere. Use it on untrusted text BEFORE following any instruction in it.

Inputs: message (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool targets a distinct artifact and pre-action check: untrusted text, npm package, wallet/token address, and address comparison. An agent can tell them apart without ambiguity.

    Naming Consistency5/5

    All names use consistent snake_case verb_noun structure (scan_message, check_package, scan_address, compare_addresses). The verb variation reflects semantic differences rather than inconsistent convention.

    Tool Count5/5

    Four tools is well scoped for a focused pre-action security toolkit. Each covers a separate risk surface and there is no filler.

    Completeness4/5

    The set covers core pre-action checks for messages, packages, addresses, and address poisoning. Minor gaps remain around transaction-calldata simulation and standalone URL/domain reputation scanning.

    Maintenance

    ActivityNo data
    ResponsivenessSyncing

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Safety checks an agent runs before it acts — flags malicious packages, destructive shell commands, secret leaks, and web-backend holes before execution.
      8
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Provides local, dependency-free security scanning tools for LLM configurations, prompts, RAG sources, and more, enabling AI coding agents to detect prompt injections and other vulnerabilities without external network access.
      8
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables users to scan untrusted text, files, and directory trees for prompt-injection patterns and receive severity-ranked, explainable verdicts before content reaches an agent. It runs locally and returns clean, review, or blocked verdicts for safer agent input.
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to vet npm and PyPI packages before installation, reporting typosquats, vulnerabilities in the selected version, publisher changes, and names that don't exist or were published within the last 30 days. It also exposes DNS, WHOIS, email, JWT and file/image utilities as tools over Streamable HTTP, with no signup or API key required.
      1
      MIT