Skip to content

alokgorithm/Seycure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Seycure

Privacy-first mobile security toolkit to analyze suspicious links, strip metadata from media/documents, and auto-blur sensitive text in screenshots β€” designed to run mostly on-device.

Project by ArkQube.

Status

Active development. APIs, UI, and scoring heuristics may change.

Highlights

  • Link Shield: unwraps shortened URLs, removes trackers, classifies links, and computes a multi-signal trust score.
  • Media Scrubber: reads and removes metadata from images, PDFs, and DOCX locally.
  • Privacy Blur: on-device OCR + rules/learning to detect and blur sensitive text in screenshots.

Demo / Screenshots

  • Demo video: (coming soon)
  • Screenshots: (coming soon)

If you add images later, a common pattern is:

![Link Shield](./docs/screenshots/link-shield.png)
![Media Scrubber](./docs/screenshots/media-scrubber.png)
![Privacy Blur](./docs/screenshots/privacy-blur.png)

Table of Contents


Motivation

In today’s digital landscape, users frequently share links and media without knowing the hidden risks:

  1. Shortened URLs (e.g., bit.ly) obscure the true destination of a link, often masking phishing attempts or malware downloads.
  2. Media files (photos/videos) can contain EXIF metadata (GPS coordinates, device model, software versions).
  3. Documents (PDF/DOCX) can embed author/company metadata.
  4. Screenshots may contain sensitive information (emails, phone numbers, IDs, addresses) that users unknowingly share.

Seycure addresses these with three modes:

Mode Purpose
Link Shield Sandboxed environment to unwrap, classify, score, and safely preview URLs
Media Scrubber Local tool that reads, displays, and strips metadata from images, PDFs, and DOCX files
Privacy Blur OCR-based scanner that detects and auto-blurs sensitive text in screenshots

Core Features

1. Link Shield

The Link Shield acts as a secure quarantine zone for URLs. It combines multiple analysis layers to give users a clear picture of a link’s safety before they open it.

URL input methods

  • Paste a URL
  • Scan a QR code (camera) via html5-qrcode (includes hardware camera zoom slider via WebRTC)
  • Select a QR image from gallery (decoded locally)

What it does

  • Removes tracking parameters (UTM + many common trackers)
  • Detects & resolves shortened URLs
  • Assesses file-extension risk (e.g., .apk, .exe, .zip)
  • Classifies links into categories (e.g., Gambling, Adult, Education, Government)
  • Computes a multi-signal trust score
  • Optional Google Safe Browsing check via Cloudflare Worker proxy
  • Safe preview using a sandboxed iframe

2. Media Scrubber

Strips metadata locally from:

  • Images (EXIF)
  • PDFs (Author/Title/Producer/etc.)
  • DOCX (docProps metadata)

Also supports anonymous export + renaming (e.g. ArkQube_[timestamp]_[random-hash].[ext]) and sharing via native Android share sheet.

3. Privacy Blur

On-device OCR (Google ML Kit) + rule-based detection that:

  • Detects sensitive text patterns (IDs, phones, emails, bank details, etc.)
  • Applies automatic blur
  • Includes a manual blur editor
  • Learns from user corrections over time (always-blur / never-blur + app layout memory)

Architecture & Tech Stack

Seycure uses a hybrid web-to-native architecture combining React with Android via Capacitor. The app is offline-first and aims to keep processing on-device.

System Data Flow

flowchart TD
    App["πŸ“± Seycure App<br/>React / Vite / Capacitor"]

    subgraph LinkShield ["πŸ”— Link Shield"]
        InputURL{"URL Input"}
        Clean["Tracker Removal<br/>30+ params stripped"]
        Classify["Hybrid Classifier<br/>13 categories, 4 signals"]
        TrustScore["Trust Scorer<br/>15 signals, earn-based"]
        LocalCheck["Local Heuristics<br/>IPs, TLDs, Phishing"]
        RDAP["rdap.org API<br/>Domain Age & Identity"]
        CORS["allorigins.win<br/>Redirect Tracer"]
        CFWorker["Cloudflare Worker<br/>Edge Proxy"]
        GSB[("Google Safe<br/>Browsing DB")]

        InputURL --> Clean --> Classify --> TrustScore
        TrustScore --> LocalCheck
        TrustScore --> RDAP
        Clean --> CORS
        LocalCheck -->|"Optional Deep Scan"| CFWorker
        CFWorker -->|"Hashed Threat Check"| GSB
    end

    subgraph MediaScrubber ["πŸ–ΌοΈ Media Scrubber"]
        InputMedia{"Image / PDF / DOCX"}
        ExifParse["exifr / pdf-lib / jszip<br/>Extract Metadata"]
        CanvasApp["Canvas Redraw / XML Strip<br/>Destroy Metadata"]
        FileSystem["Capacitor FileSystem<br/>Anonymous Export"]

        InputMedia --> ExifParse --> CanvasApp --> FileSystem
    end

    subgraph PrivacyBlur ["πŸ” Privacy Blur"]
        InputScreenshot{"Screenshot Upload"}
        OCR["ML-Kit OCR<br/>On-Device Text Recognition"]
        PatternMatch["Pattern Detector<br/>Email, Phone, IDs"]
        BlurEngine["Gaussian Blur Engine<br/>Canvas-based"]
        Export["Share / Save"]

        InputScreenshot --> OCR --> PatternMatch --> BlurEngine --> Export
    end

    App --> LinkShield
    App --> MediaScrubber
    App --> PrivacyBlur
Loading

Frontend

Technology Purpose
React 18 + TypeScript UI framework + type safety
Vite 7 Bundler / dev server
Shadcn UI + Vanilla CSS UI components + styling
Lucide React Icons
exifr EXIF parsing
html5-qrcode QR scanning
pdf-lib PDF metadata read/write
jszip DOCX parsing/modification

Native Bridge (Android)

Technology Purpose
Capacitor v6 Web-to-native bridge
@capacitor/share Native share sheet
@capacitor/filesystem Device storage
@capacitor/app App lifecycle
@capacitor/preferences Persistent local storage
Google ML Kit On-device OCR

Backend (Optional)

Technology Purpose
Cloudflare Workers Edge proxy
Google Safe Browsing API Threat database lookup

Note: The core app logic (RDAP checks, metadata scrubbing, classification, trust scoring, OCR) is designed to run on-device. The Worker is only needed for Google Safe Browsing API access.


Project Structure

.
β”œβ”€β”€ app/                              # Main frontend + native bridge
β”‚   β”œβ”€β”€ android/                      # Native Android project (Capacitor-generated)
β”‚   β”œβ”€β”€ public/                       # Static assets (logo, icons)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ App.tsx
β”‚   β”‚   └── index.css
β”‚   β”œβ”€β”€ capacitor.config.ts
β”‚   β”œβ”€β”€ package.json
β”‚   └── vite.config.ts
β”‚
β”œβ”€β”€ worker/                           # Cloudflare Worker proxy (optional)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   └── index.ts
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ tsconfig.json
β”‚   └── wrangler.toml
β”‚
└── README.md

Setup & Development

1. Prerequisites

  • Node.js v18+
  • Android Studio (Ladybug+ recommended)
  • Java JDK v17+
  • (Optional) Cloudflare Wrangler CLI: npm i -g wrangler

2. Run the web app locally

cd app
npm install --legacy-peer-deps
npm run dev

3. Build & run on Android

cd app
npm run build
npx cap sync android

Then open app/android in Android Studio and run on an emulator/device.

4. (Optional) Cloudflare Worker proxy

cd worker
npm install

npx wrangler kv:namespace create GSB_CACHE
npx wrangler deploy
npx wrangler secret put GOOGLE_SAFE_BROWSING_API_KEY

Worker endpoints:

Endpoint Method Description
/check?url=<target> GET Full check (cache β†’ coalesce β†’ batch β†’ rate limit)
/redirects?url=<target> GET Redirect chain tracer (up to 10 hops)
/stats GET Health check + metrics
/ POST Legacy raw Safe Browsing proxy

Privacy & Permissions

Seycure processes everything on-device wherever possible.

Permission When Requested Why Required
CAMERA QR Code Scanner Camera access for scanning
READ_MEDIA_IMAGES Media Scrubber / Privacy Blur Select images for scrubbing or OCR
READ_EXTERNAL_STORAGE Legacy Android support File access on Android < 13

Network requests made:

  • allorigins.win β€” resolving shortened URLs and fetching page titles
  • rdap.org β€” public domain WHOIS/RDAP data
  • Cloudflare Worker β€” Google Safe Browsing queries only (optional)

No user media, browsing history, or personal data is uploaded or stored off-device.


Technical Deep Dive (optional)

Link classification: 4-signal hybrid model + categories

A zero-latency classifier that categorizes URLs using priority-ordered signals:

Signal 1: TLD pattern β†’ confident? β†’ return category
Signal 2: Domain keywords β†’ match? β†’ return category
Signal 3: Page title keywords β†’ match? β†’ return category
Signal 4: Known domain list β†’ found? β†’ return category
Result: Unknown
Trust score: earn-based multi-signal scoring

The trust score starts at 0 and earns/loses points from multiple signals (domain age, HTTPS, entropy, redirect detection, suspicious TLDs, etc.).

Worker scaling architecture (KV cache + coalescing + batching + rate limits)
flowchart LR
    User["πŸ“± App Request"] --> RL{"Layer 4<br/>Rate Limit"}
    RL -->|"Allowed"| KV{"Layer 1<br/>KV Cache"}
    RL -->|"429"| Block["Rate Limited"]
    KV -->|"Hit"| Return["βœ… Cached Result<br/><10ms"]
    KV -->|"Miss"| Coal{"Layer 2<br/>Coalesce"}
    Coal -->|"Existing"| Wait["Await Shared Promise"]
    Coal -->|"New"| Batch{"Layer 3<br/>Batch API"}
    Batch -->|"50ms window"| Google["Google Safe Browsing<br/>1 call for N URLs"]
    Google --> WriteKV["Write to KV Cache"]
    WriteKV --> Return
    Wait --> Return
Loading

Changelog

v2.4 β€” Comprehensive Detection & UI Polish

  • Massive update to Privacy Blur detection engine (15+ new patterns)
  • Strict-by-default blurring policy (10+ digit numbers blur unless strongly identified as safe references)
  • Swipe navigation gestures between the 3 main tabs
  • QR Code Scanner hardware camera zoom slider via WebRTC

v2.3 β€” On-Device Privacy Learning

  • 4-priority learning pipeline in OCR (user rules β†’ app memory β†’ built-in patterns)
  • Learned rules settings UI + spatial memory

v2.2 β€” Worker Scaling Architecture

  • KV cache + in-memory coalescing + batch API calls + per-IP rate limiting

v2.1 β€” Trust Score Overhaul & Link Classification

  • Earn-based trust score + hybrid link classifier + warning modal

v2.0 β€” Three-Mode Navigation

  • Privacy Blur mode + manual blur editor
  • PDF/DOCX metadata clearing

v1.0 β€” Initial Release

  • Link Shield + Media Scrubber + QR code scanning

License

Proprietary / All Rights Reserved.

Copyright (c) ArkQube.

You may not copy, modify, distribute, or use this software without explicit permission from the author.

About

Privacy android application

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors