Sources

Data sources and methodology

This page is for anyone who wants to verify how the search index is built — auditors, journalists, or curious users. It describes the upstream PDFs, our ingestion pipeline, and known limitations. For who runs the project, see about; for legal disclaimers, see disclaimer.

Primary upstream source

Every indexed number originates from Grameenphone’s publicly linked recycled / permanently-deactivated number PDF notices. We also reference BTRC as the regulatory authority for numbering in Bangladesh. No third-party reseller lists or crowdsourced spreadsheets are used.

Discovery and parsing

The scraper loads Grameenphone’s recycled-number page and collects every linked PDF. Each file is downloaded, hashed, and parsed for mobile numbers. Numbers are normalized to canonical 01XXXXXXXXX format before storage. If Grameenphone changes CDN hosts or URL patterns, discovery is anchor-based (any .pdf link on that page) so we do not rely on hardcoded filenames.

Deduplication and idempotent updates

Re-processing the same PDF must never inflate how many times a number “appears.” When a notice is re-read, we replace that notice’s contribution to each number’s record rather than appending duplicates. Each number keeps a structured list of source notices (PDF id, publication date, URL) so you can audit a result back to the official file.

Change detection and sync schedule

Before re-downloading a PDF, we compare HTTP validators (ETag, Last-Modified, Content-Length) and fall back to SHA-256 of the file body. Unchanged files are skipped. A scheduled job re-checks Grameenphone’s page daily; new or updated PDFs are ingested automatically. Dates shown in search results reflect notice publication dates, not scrape timestamps.

What we do not index

Robi, Banglalink, Teletalk, and legacy Airtel ranges are out of scope until equivalent public recycled lists exist. Real-time availability, SIM registration (NID) status, and porting history are operator-internal — no public PDF lists them. This index is a search layer over GP recycled notices only.

Report missing or incorrect data

If Grameenphone published a notice that is missing from our index, or a result looks inconsistent with the PDF, email adnansiddiqui.dev@gmail.com with the notice date or URL. We treat upstream corrections as bugs.