Skip to content

About

Predatory Conference Checker - Browser Extension

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Predatory Conference Checker (Browser Extension)

A minimal Manifest V3 browser extension for Microsoft Edge and Google Chrome, powered by callforpaper.org. The extension lets researchers check whether the currently open conference or CFP page is legitimate, unverified, or flagged as predatory, and allows searching the verified CFP database from the browser popup.

What v0.1 does

  • Checks the active tab URL once, only when the popup opens.
  • Calls lookup for current page trust and predatory checks.
  • Lets the user search CFPs from the popup with a debounced search request.
  • Shows matched CFP details, trust & predatory badge tiers (trusted, verified, listed, predatory), empty states, and error states.
  • Stores no browsing history, search history, analytics identifiers, or telemetry.

What v0.1 intentionally does not do

  • No passive browsing or background scanning.
  • No background service worker.
  • No analytics, tracking SDKs, or third-party scripts.
  • No tabs permission and no <all_urls> host permission.
  • No API keys or secrets in the extension bundle.
  • No automatic submission of unmatched pages.

Files

chrome-extension/
  manifest.json              # Manifest V3 metadata, permissions, CSP, icons
  popup.html                 # Popup structure and privacy footer
  popup.css                  # Popup layout, badges, skeletons, light/dark themes
  popup.js                   # Active-tab lookup, search, safe DOM rendering
  icons/                     # PNG icon assets (16, 32, 48, 128, 300)
  EDGE_STORE.md              # Microsoft Edge Add-ons store copy and submission guide
  CHROME_STORE.md            # Chrome Web Store listing copy and submission checklist
  PRIVACY.md                 # Privacy disclosure for review and users

Local install for development (Microsoft Edge & Chrome)

Microsoft Edge

  1. Open Microsoft Edge and navigate to edge://extensions.
  2. Turn ON Developer mode in the left sidebar toggle.
  3. Click Load unpacked.
  4. Select the repository's chrome-extension/ directory.
  5. Click the puzzle/extensions icon in the Edge toolbar and pin Predatory Conference Checker.
  6. Navigate to any conference website and click the extension icon to test.

Google Chrome

  1. Open Chrome and go to chrome://extensions.
  2. Enable Developer mode.
  3. Click Load unpacked.
  4. Select the repository's chrome-extension/ directory.
  5. Pin Predatory Conference Checker from the extensions menu.
  6. Open a public CFP or conference website and click the extension icon.

Backend contracts needed before production use

These unauthenticated read-only endpoints must exist before live testing or store submission:

lookup

Expected behavior:

  • Accepts a URL from the current active tab.
  • Normalizes the incoming URL server-side.
  • Matches against stored CFP source/website URLs.
  • Returns 404 when no CFP match exists.
  • Returns a CFP payload with trust fields when a match exists.

Suggested response shape:

{
  "data": {
    "title": "International Conference on Example Research",
    "short_title": "ICER 2026",
    "badge_tier": "trusted",
    "indexing_status": "Scopus indexed",
    "society_affiliation": "Example Society",
    "core_rank": "A",
    "ccf_rank": "B",
    "listing_url": "https://callforpaper.org/cfp/icer-2026"
  }
}

search

Expected behavior:

  • Public, unauthenticated, read-only, and server-rate-limited.
  • Reuses the same Algolia-backed search data as the main site.
  • Returns an array or an object with one of data, results, or hits.

Suggested result fields:

{
  "data": [
    {
      "title": "International Conference on Example Research",
      "short_title": "ICER 2026",
      "start_date": "2026-09-14",
      "end_date": "2026-09-17",
      "location": "Paris, France",
      "badge_tier": "verified",
      "listing_url": "https://callforpaper.org/cfp/icer-2026"
    }
  ]
}

Submission link

The no-match state currently links to https://callforpaper.org/cfp/create. Confirm that this is the intended public suggestion/submission flow before publishing. If the production flow is different, update SUGGEST_URL in popup.js.

Release checklist

  • Add the manually downloaded icon PNG files listed in manifest.json before loading unpacked or packaging.
  • Load unpacked in Chrome with no popup console errors.
  • Confirm Chrome reports only the activeTab permission.
  • Confirm host permission is scoped to https://callforpaper.org/* only.
  • Confirm no background service worker is registered.
  • Confirm lookup fires once on popup open.
  • Confirm search requests fire only after typing, with debounce.
  • Confirm invalid pages such as chrome://extensions show the neutral state.
  • Confirm matched trusted, matched unverified, no-match, search empty, and API error states.
  • Confirm dark mode through OS-level prefers-color-scheme.
  • Confirm tests/Feature/ChromeExtensionTest.php passes in a fully installed Laravel environment.

About

Predatory Conference Checker - Browser Extension

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages