scalpel@labs: ~/glossary/detection-history.mdx5 sections

Detection History

Detection history is a short, per-site record of your recent technology scans. It is held only in session memory, capped per site, and cleared when the browser closes. Nothing is written to disk and nothing is uploaded.

extension: Scalpel Stackupdated: 2026-08-14read_time: 3 min
less detection-history.mdx

Why it matters

Comparing a site before and after a change, or glancing back at the last scan without re-running it, needs a small memory. History gives you that without becoming a tracker. It lives in chrome.storage.session, which is memory only and per session by design, so the record helps you now and then stops existing. It is a scratch pad for the current session, never an archive.

The key tension is useful without intrusive. You can scan a site once, leave the tab, come back later, and see what you found before. No re-scan. No fetch. But also no storage on disk and no sync to the cloud. The moment you close the browser, the whole history is gone.

How it works

Session storage is a storage area the browser allocates for each extension per tab or window. Unlike chrome.storage.local, which persists until you uninstall the extension, chrome.storage.session survives only as long as the browser is open. Scalpel Stack writes a per-site entry to session storage on every scan, capped at a fixed number of entries per domain, so an entry old enough to fall off the cap is lost.

Each entry records the timestamp of the scan, the technologies detected (name and count), and the confidence scores. The scan data is just enough to show what you found without storing a full report. When you navigate back to a site you've scanned before in the same session, the history control in the header shows you the earlier results.

Clicking a history entry re-opens the popup and shows you that earlier scan, so you can compare without fetching again. But the history is read-only: you cannot delete individual entries or edit them. Only the browser closing clears everything.

What does not matter

History cannot follow you across browsers or across sessions. It is not synced to your Google Account and it is not available to websites (they see only localStorage and sessionStorage for their own origin, not what the extension stored). The extension's history is private to the extension in the current session.

Restarting the browser or using an incognito window gives you a fresh start; there is no archive feature or export option. If you need a permanent record of a site's stack at a specific time, you have to copy the report manually or take a screenshot. That is deliberate: the goal is helpfulness without persistence.

Code example

Here is how the session storage entry is structured (conceptually):

{
  "example.com": [
    {
      "timestamp": 1718922001234,
      "techCount": 7,
      "topTechs": ["WordPress", "jQuery", "Google Analytics"],
      "averageConfidence": 87
    },
    {
      "timestamp": 1718921801234,
      "techCount": 6,
      "topTechs": ["WordPress", "jQuery"],
      "averageConfidence": 84
    }
  ]
}

When you scan a site, a new entry is appended to its array. If the array exceeds the cap (say, 10 entries), the oldest one is dropped. The extension reads this data from chrome.storage.session and renders it as a history strip in the popup header.

How Scalpel Stack shows it

A history control appears in the popup header once a site has been scanned at least once in the current session. It displays a compact horizontal list of earlier scans, each showing the timestamp (e.g. "2 min ago"), the count of technologies found, and up to three of the top-detected tech names. Hovering or clicking one of these history entries re-displays that older scan result without running a fresh detection.

The control carries a ? that links to this page. If a site has never been scanned in this session, the history strip does not appear.

Sources