GitHub - zdying/true-date-extension: One-click "Pre-2023 (Human Era)" filter for Google/Bing/DuckDuckGo, plus a local-first inspector that reveals the true publication date of articles and catches fake "Updated Today" timestamps via JSON-LD, asset paths, and Wayback Machine.

GitHub

3 min read Original article β†—

TrueDate & Pre-AI Search Logo

TrueDate & Pre-AI Search

One-click Pre-2023 search filter & webpage true publication date inspector for Firefox and Chrome.
Catch old SEO articles pretending to be "Updated in 2026" and filter out post-ChatGPT content farms.

Release v0.1.0 Get the Firefox Add-on Manifest V3 Zero Telemetry


Screenshots

One-click Pre-2023 Search Filter on Google
1. One-click floating Pre-2023 filter pill on Google, DuckDuckGo, and Bing.

True Publication Date Inspector catching a 2016 article updated in 2026
2. Inspects the page's true publication date (catching a 2016 tutorial marked as updated in 2026) with on-demand Wayback Machine & snapshot diff.


Why TrueDate?

Modern search results are flooded with two things:

  1. Post-2022 AI-generated SEO slop that buries genuine human writing.
  2. Timestamp spoofing ("date bumping"): Old articles from 2018–2021 that automatically update their visible date (Updated 2 days ago or [2026 Guide]) without changing the actual content.

TrueDate & Pre-AI Search solves both in a lightweight, zero-dependency, zero-telemetry extension.


Features

1. One-Click Pre-2023 Search Filter

Adds a compact floating pill on Google, DuckDuckGo, and Bing search result pages:

  • Toggle Pre-2023 on or off with a single click.
  • Customize the cutoff year (2018 – 2025) to fit your research needs.
  • Uses native search engine date syntax (before:YYYY-01-01 on Google, df=1995-01-01.. on DuckDuckGo, and ez5_ date range filters on Bing).

2. 4-Layer True Publication Date Inspector

When you open an article, TrueDate inspects the page locally and displays a non-intrusive badge in the top-right corner (🟒 2021-04 Β· Unchanged or ⚠️ 2019-06 β†’ 2026-02 (7yr gap)):

  • Layer 1 β€” Structured Metadata: Compares datePublished vs dateModified across JSON-LD (schema.org), OpenGraph/meta tags (article:published_time), and <time datetime> elements.
  • Layer 2 β€” Static Asset & Image Path Forensics: Scans <img> URLs for embedded upload timestamps (e.g., /wp-content/uploads/2019/05/hero.jpg) when a page claims to be brand new.
  • Layer 3 β€” HTTP Header Signal: Reads document.lastModified as a secondary signal.
  • Layer 4 β€” On-Demand Wayback Machine CDX & Paragraph Diff:
    • Privacy-first (click-to-run only): Never sends your browsing history automatically.
    • Click "Check Wayback Earliest Snapshot" in the expanded card to query the Internet Archive CDX API for the earliest crawl date.
    • Click "Compare with Earliest Snapshot" to run a paragraph-level diff directly on the pageβ€”highlighting Newly Added (green) and Modified (amber) paragraphs and calculating the exact percentage of unchanged original text.

Installation

Firefox (Official Add-on Store)

πŸ‘‰ Install from Mozilla Firefox Add-ons (AMO)

(For local development: open about:debugging#/runtime/this-firefox, click Load Temporary Add-on..., and select manifest.json.)

Chrome / Edge / Brave / Vivaldi

  1. Download and unzip true-date-extension.zip (or clone this repo).
  2. Open chrome://extensions and enable Developer mode (top-right toggle).
  3. Click Load unpacked and select the true-date-extension folder.

Project Structure & Privacy

All code is plain, unminified, zero-dependency Vanilla ES Modules so anyone can audit it in 2 minutes:

true-date-extension/
β”œβ”€β”€ manifest.json          # Cross-browser MV3 manifest (Chrome + Firefox gecko)
β”œβ”€β”€ background.js          # On-demand Wayback Machine CDX & snapshot fetcher
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ dates.js           # Pure functions for L1/L2/L3 date extraction & judgment
β”‚   β”œβ”€β”€ diff.js            # Paragraph-level snapshot comparison & similarity scoring
β”‚   └── search-url.js      # Google / DuckDuckGo / Bing URL date filter builders
β”œβ”€β”€ content/
β”‚   β”œβ”€β”€ main.js            # Content script entry point
β”‚   β”œβ”€β”€ page-badge.js      # Shadow DOM badge & expandable evidence card
β”‚   └── search-ui.js       # Shadow DOM search engine Pre-YYYY pill
└── test/
    └── dates.test.js      # Node.js built-in test runner suite (`npm test`)
  • Zero Telemetry: "data_collection_permissions": { "required": ["none"] }.
  • No Automatic External Requests: Wayback Machine API (web.archive.org) is only contacted when you explicitly click the button inside the evidence card.

Running Tests

Requires Node.js 18+ (zero external npm packages needed):

License

GNU General Public License v3.0 (GPL-3.0)