Tech
Feb 8, 2025
Meerkat Privacy
A Chrome Extension to uncover privacy risks.

Try It

https://meerkatprivacy.com/

How It All Began

Meerkat Privacy was developed during HackNYU 2025. This group project started as a vague idea—we wanted to create a useful browser extension that could genuinely protect users' interests. With internet privacy regulations becoming increasingly strict, we noticed how long and complex privacy terms often confuse users. Most people simply click "Agree" without fully understanding what permissions they are granting, which can lead to potential data leaks.

We asked ourselves:
How can we make privacy terms more accessible and understandable to the average user?

Building the Solution

To solve this problem, we built a tool that provides clear and efficient summaries of privacy terms and generates personalized ratings based on user preferences.

Our core mechanism relies on web scraping:
We use BeautifulSoup to extract text from Terms of Service (ToS) and Privacy Policy pages.
The extracted content is processed by GPT-4o-mini via OpenAI's API.
Through prompt engineering, we trained the model to act as an efficient legal assistant that highlights key privacy risks.

Meanwhile, our UI designer created the interface using Figma, ensuring that the design was clean and user-friendly.
The front-end developer then built the extension using HTML, CSS, and JavaScript, leveraging Chrome Extension APIs for smooth user interaction.

Once the frontend was ready, we integrated it with the backend:

  • Refining API responses for better clarity
  • Optimizing interactions between the extension and the Flask server
  • Fixing bugs related to page transitions and user experience

Finally, we built a launching page to introduce Meerkat to users.
Our backend developers published the extension on GitHub Releases, providing a simple installation guide for users to manually install Meerkat in Chrome.

With everything in place, Meerkat Privacy was complete.

We named it Meerkat—inspired by the small animals in South Africa that stand on their hind legs to scan for predators.

Just like Meerkats stay vigilant against threats, our extension helps users detect potential privacy risks in advance.

Technical Overview

Meerkat is a privacy-focused Chrome Extension that analyzes Terms of Service (ToS) and Privacy Policies in real-time, helping users assess risks before agreeing to terms. It utilizes web scraping, NLP, and AI-driven evaluation to generate privacy scores based on user preferences.

System Architecture

Frontend (Chrome Extension)

  • UI for selecting privacy concerns and displaying results
  • Injects scripts to analyze current webpages
  • Communicates with the backend API for data processing

Tech Stack

  • JavaScript (ES6+) → Core logic for Chrome Extension
  • Chrome Extension API → Handles user storage & tab monitoring
  • HTML/CSS → UI & styling
  • Manifest v3 → Chrome Extension permissions & metadata
  • Fetch API → Asynchronous API calls to Flask backend

Backend (Flask API)

  • Web scraping and text extraction from ToS/Privacy pages
  • AI-based summarization and scoring
  • Handles user preferences and processes results

Tech Stack

  • Python 3 → Core backend language
  • Flask → Lightweight web framework
  • BeautifulSoup4 → HTML parsing & text extraction
  • requests → HTTP requests for fetching ToS pages
  • re (Regex) → Cleans extracted text
  • OpenAI GPT API → AI-driven text summarization & scoring
  • CORS → Enables frontend-backend communication

Infrastructure (Deployment & Hosting)

Server Environment

  • Ubuntu Server (Cloud-hosted)
  • Gunicorn (WSGI server for Flask)
  • pm2 (Process manager for backend stability)
  • Nginx (Handles static website hosting)
  • DNS Configuration (Maps custom domain to the server)

How It Works

  1. User opens a website
    • Extension detects ToS/Privacy Policy pages
  2. Extension sends request to API
    • { "url": "https://example.com/terms", "preferences": ["Data Sharing", "Tracking"] }
  3. Backend processes the request
    • Scrapes the page
    • Extracts & cleans text
    • Sends to GPT for summarization & scoring
  4. API returns privacy insights
    {
      "overall": 6,
      "subscore_user": 5,
      "subscore_data": 7,
      "subscore_network": 3,
      "subscore_ads": 8,
      "summary": "This site shares data with third-party advertisers...",
      "quote": "We may share your personal data with marketing partners."
    }
    
  5. Chrome Extension updates UI
    • Displays privacy score & summary
    • Alerts users to potential risks