scalpel@labs: ~/glossary/fingerprint-database-freshness.mdx5 sections

Fingerprint Database Freshness

Freshness is how old the bundled fingerprint snapshot is. Scalpel Stack ships a pinned copy of the open database, so it ages between updates. Older snapshots can miss newer technologies, so the popup flags its age and prompts a refresh.

extension: Scalpel Stackupdated: 2026-08-14read_time: 3 min
less fingerprint-database-freshness.mdx

Why it matters

Detection is only as current as its data. A pinned snapshot is honest and auditable, but it does not update itself, so a months-old copy quietly misses technologies added upstream since. Showing the age turns that hidden risk into a visible prompt: fresh means recent, stale means it is worth running an update.

The freshness badge reads the snapshot date the extension already records and turns it into a plain age. It is not a nag or a blocker: Scalpel Stack works fine with an old database. But you can see at a glance whether you are running the latest fingerprints or whether a refresh is worth doing.

How it works

Scalpel Stack bundles a snapshot of the open enthec/webappanalyzer database inside the extension. This snapshot is generated locally during the build (npm run update-db) and pinned to a specific commit and date, recorded in data/UPSTREAM.md.

Between extension updates, this bundled copy ages. If a new technology is added to the upstream database or an existing fingerprint is refined, your bundled snapshot does not see it automatically. The older the snapshot, the more likely you are to miss newer tech.

The popup footer displays the snapshot's age in a small badge. The age bands are:

  • Fresh: within the last 30 days. Green badge. Detection coverage is current.
  • Aging: 30–90 days old. Amber badge. Still useful, but worth considering a refresh.
  • Stale: over 90 days old. Red badge. Likely missing recent additions upstream.

The badge is clickable and links to the upstream repository, and it also carries a ? link to this page.

What does not matter

Freshness does not mean Scalpel Stack will not detect older technologies. A 6-month-old database still detects WordPress, jQuery, Drupal, and all the established platforms. Freshness matters only for emerging tech: a new framework, a recently launched SaaS product, or a niche tool added to the database after your snapshot was taken.

For most sites and most tech stacks, a slightly aged database is fine. The gap only widens if your site uses cutting-edge or recently released technologies.

Code example

The snapshot date and upstream commit are recorded like this in data/UPSTREAM.md:

# Fingerprint Database Snapshot

**Upstream repository:** https://github.com/enthec/webappanalyzer

**Snapshot commit:** a1b2c3d4e5f6...

**Snapshot date:** 2024-06-15

**Technologies in snapshot:** 3,847

**Last updated by:** npm run update-db

When you run npm run update-db, the script:

  1. Clones the latest enthec/webappanalyzer repository.
  2. Extracts the technology fingerprints into data/technologies.json.
  3. Records the commit hash and date in UPSTREAM.md.
  4. Rebuilds the extension with the new data.

The age is calculated from the snapshot date compared to today, and the badge displays that age at build time and in the popup at runtime.

How Scalpel Stack shows it

A small badge sits in the footer of the popup, next to the fingerprint database link. It reads one of:

  • "Fresh" (green) for recent snapshots
  • "2 months ago" or "90 days ago" (amber) for aging snapshots
  • "6 months ago" (red) for stale snapshots

Clicking the badge opens the upstream repository. The badge also carries a ? that links to this page.

If you want to refresh to the latest database, the extension provides no automatic update (to respect your control), but running npm run update-db in the extension's source directory will pull the latest fingerprints and rebuild the extension.

Sources