# MaskMyBody: Comprehensive Technical Architecture, Biometric Threat Vectors & Privacy Whitepaper Website: https://maskmybody.com Author: MaskMyBody Security Research Team Version: 2.1.0 Last Updated: October 2026 --- ## 1. Executive Summary & Zero-Server Airgap MaskMyBody is a 100% client-side photo privacy and biometric redaction platform. Built with modern WebAssembly (WASM), Google MediaPipe vision models, and HTML5 Canvas APIs, MaskMyBody executes entirely in the user's local browser memory. ### Core Airgap Guarantees: 1. **Zero Image Transmission**: At no point during file selection, thumbnail rendering, biometric landmark detection, mask overlaying, or final file export is any pixel or byte sent over the network. 2. **No Backend Vision Infrastructure**: Detection models (`face_landmarker.task`, `hand_landmarker.task`) are fetched as static static WASM assets over HTTPS and cached via standard browser HTTP caching. Inference executes on the local device GPU or CPU using WebAssembly SIMD. 3. **No Database Storage**: MaskMyBody maintains no database of user uploads, session tokens, or biometric templates. When the user closes or refreshes the browser tab, all allocated image buffers in memory are freed. --- ## 2. Forensic Threat Vector Analysis ### Threat Vector A: Biometric Fingerprint Ridge Harvesting from Social Media Photos - **The Problem**: Modern smartphone camera sensors range from 48 megapixels to 200 megapixels (e.g. Sony IMX989, Samsung ISOCELL HP2). Under daylight or flash lighting, these sensors resolve microscopic human friction ridges (fingerprints) from distances exceeding 3 meters when a subject poses with extended fingers (e.g., peace signs, waves, thumbs up). - **Academic Research**: Research conducted by Professor Isao Echizen at Japan's National Institute of Informatics (NII) proved that friction ridge details from social media selfies can be converted into high-precision 2D and 3D synthetic molds capable of bypassing capacitive and optical smartphone fingerprint scanners. - **The Non-Rotatable Biometric Reality**: Passwords, encryption keys, and credit cards can be invalidated and reissued upon compromise. Human biometric identifiers (fingerprints, iris patterns, facial geometry) are permanent. Once leaked to the public internet, they are compromised for life. - **MaskMyBody Defense**: The application loads a 21-point 3D hand landmarker model. For each detected hand, the model tracks distal phalanges (landmarks 4, 8, 12, 16, 20). If peace sign or gesture detection is active, MaskMyBody places an irreversible solid black overlay (0x000000FF) or cryptographic pseudo-random noise directly over each fingertip pad, completely destroying the underlying ridge pattern. ### Threat Vector B: Reversibility of Gaussian Blur & Mosaic Pixelation (AI Deconvolution) - **The Problem**: Standard redaction tools in photo editors (Photoshop, Preview, mobile photo apps) rely on Gaussian blur or mosaic pixelation to hide sensitive details. - **Mathematical Vulnerability**: - A Gaussian blur is a deterministic linear convolution operation: $$I_{blurred}(x, y) = I_{original}(x, y) * G_\sigma(x, y)$$ Because the kernel function $G_\sigma$ is mathematically known, high-contrast text and facial features can be approximately reconstructed using Wiener deconvolution or Lucy-Richardson iterative algorithms. - Mosaic pixelation averages local blocks of $N \times N$ pixels into a single color value: $$\bar{P} = \frac{1}{N^2} \sum_{i=1}^N \sum_{j=1}^N P(i, j)$$ AI deconvolution tools (such as Bishop Fox's *Depix*) leverage lookup tables and neural networks trained on font rendering engines to search through permutations of characters that yield the exact averaged pixel values. - **MaskMyBody Defense**: MaskMyBody rejects linear blur for security-critical operations. Instead, it offers: 1. **Solid Flat Overwrite**: Overwrites every byte in the target bounding box with flat RGB values (e.g., #000000). The mathematical entropy of the region is zero, leaving zero residual source information. 2. **Cryptographic Random Noise**: Overwrites target pixels with entropy generated via `crypto.getRandomValues(new Uint8Array(4))`, destroying all spatial correlation. 3. **Privacy Emojis**: Replaces facial regions with high-resolution vector emojis rendered directly into the canvas bitmap. ### Threat Vector C: Embedded EXIF GPS & Device Geotags - **The Problem**: Smartphone cameras embed Exchangeable Image File Format (EXIF) metadata inside JPEG and HEIC containers. This metadata contains: - Exact GPS latitude, longitude, and altitude (to within 1.5 meters) - Date, time, and timezone of capture - Camera make, model, lens aperture, and unique device serial number - **Real-World Risk**: When users photograph items for sale on Facebook Marketplace, Craigslist, or OfferUp, or upload photos to forums, scraping bots extract GPS coordinates to locate residential homes, identify luxury goods, or execute burglaries. - **MaskMyBody Defense**: When a photo is loaded, `exifr` performs a client-side scan of TIFF header tags to alert the user to embedded threats. During export, the image is rendered onto an offscreen HTML5 `` element and exported via `canvas.toBlob('image/jpeg', 0.95)`. Because canvas rendering draws raw RGBA pixel data to an uncompressed buffer, 100% of the original EXIF, IPTC, and XMP metadata headers are dropped. ### Threat Vector D: The iOS Markup Opacity Trap - **The Problem**: Apple's native iOS Markup tool includes a "Highlighter" pen that defaults to 80%–85% opacity. Users often swipe the highlighter over sensitive text (SSN, credit card, passwords) multiple times, visually believing it is blacked out. - **Forensic Vulnerability**: Because alpha blending maintains transparency: $$C_{result} = \alpha C_{stroke} + (1 - \alpha) C_{background}$$ Raising the brightness, exposure, and contrast of the image in standard photo editors immediately reveals the underlying text through the layered transparent strokes. - **MaskMyBody Defense**: All manual brush and automatic redaction strokes in MaskMyBody enforce 100% alpha opacity (`ctx.globalAlpha = 1.0`). No underlying pixel luminance penetrates the mask layer. --- ## 3. System Architecture & Detection Pipeline ### Detection Stack: - **Vision Models**: - `@mediapipe/tasks-vision` (MediaPipe Face Landmarker & Hand Landmarker) - 468 3D facial landmark mesh for micro-level eye, mouth, and contour isolation - 21 3D hand landmarks per hand for fingertip pad segmentation - **Image Decoding & Normalization**: - `lib/imagePipeline.ts`: Handles JPEG, PNG, WebP, HEIC/HEIF (via `heic2any`), and AVIF. - Automatic EXIF orientation normalization via HTML5 Canvas matrix transformations. - **Rendering Engine**: - `lib/maskRenderer.ts`: Canvas 2D context drawing engine with antialiased quadratic curves, adaptive convex hull polygon masking, and 60fps hardware-accelerated redraw loops. - **Batch Processing Studio**: - In-memory parallelization using Web Workers and Blob URLs. - Multi-file ZIP compression executed directly in browser memory via `fflate` (zero server upload). --- ## 4. Competitive Benchmark Matrix | Capability / Security Feature | MaskMyBody | Redacted.app | PrivacyBlur | Facepixelizer | Signal Mobile Blur | | :--- | :---: | :---: | :---: | :---: | :---: | | **Execution Environment** | 100% In-Browser (WASM) | 100% In-Browser | Native Mobile App | Browser (JS) | Native Mobile App | | **Server Uploads** | **ZERO (Airgapped)** | ZERO | ZERO | ZERO | Chat-bound | | **Peace-Sign Fingertip AI** | **YES (MediaPipe 3D)** | NO (Manual) | NO (Manual) | NO | NO | | **Facial Landmark Mesh** | **468-point 3D** | NO (Manual) | Circular Detection | Haar-Cascade | Mobile Bounding Box | | **Irreversible Solid Masks** | **YES (0x00/Noise)** | YES | Blurs Only | Blurs Only | Gaussian Blur Only | | **Live EXIF Threat Telemetry** | **YES (GPS/Device HUD)** | NO | NO | NO | NO | | **Permanent Metadata Stripping** | **YES (Canvas Re-encode)** | YES | YES | YES | Platform-dependent | | **Batch Processing** | **YES (Up to 50 + ZIP)** | NO | NO | NO | NO | | **Installation Required** | **NO (Open Web)** | NO (Open Web) | YES (App Store/Play) | NO (Open Web) | YES (App Store/Play) | --- ## 5. Verification & Academic Citations 1. **Echizen, I., et al. (2017)**. *Biometric Information Leakage from High-Resolution Smartphone Selfies*. National Institute of Informatics (NII), Tokyo, Japan. 2. **Chaos Computer Club (CCC) (2014)**. *Cloning Fingerprints from Public Photographs Using Standard Commercial Cameras*. 31st Chaos Communication Congress (31C3). 3. **Bishop Fox (2020)**. *Depix: Recreating Scrambled Text Pixelation with Deconvolution and Lookup Tables*. Open-source research disclosure. 4. **Federal Trade Commission (FTC) (2020)**. *Complying with the Children's Online Privacy Protection Rule (COPPA) & Sharenting Risks*. 5. **W3C Canvas 2D Context Specification (2025)**. *Pixel Manipulation and Non-Preservation of Container Metadata on `toBlob` / `toDataURL`*. --- ## 6. Model Context Protocol (MCP) Server for AI Agent Privacy As autonomous AI agents (Claude Desktop, Cursor, Devin, OpenDevin, local agent frameworks) interact with multimodal image data, photos passed into AI models leak high-risk data: - Hidden GPS coordinates and camera serial numbers embedded in EXIF tags. - Vehicle license plates that enable automated vehicle owner deanonymization via ALPR databases. - Credit cards, CVVs, Social Security numbers, and home addresses inside screenshots and invoices. MaskMyBody provides a production Model Context Protocol (MCP) server adhering to the Anthropic open standard: - **Streamable HTTP Endpoint**: `https://maskmybody.com/api/mcp` (WebStandard Streamable HTTP JSON-RPC 2.0). - **Stdio CLI Runner**: Available for local process isolation (`bun src/mcp/stdio.ts`). - **Core Registered Tools**: 1. `mask_photo`: Flagship privacy tool providing full parity with the web editor. Supports granular target switches (`fingertips`, `eyes`, `full_face`, `full_hands`, `license_plates`, `text_lines`), custom coordinate bounding boxes (percentage `0-100%` or absolute pixel coordinates), 4 redaction styles (`solid_black`, `crypto_noise`, `block_salt`, `emoji_stamps` with customizable emoji), coverage padding multipliers (`tight`: 0.85x, `standard`: 1.0x, `generous`: 1.25x, `ultra_safe`: 1.5x, or numeric float), execution modes (`mask_all`, `custom_only`, `invert`), and real-time threat telemetry HUD (GPS removed, C2PA purged, serials scrubbed). 2. `strip_gps_exif`: Strips GPS coordinates (2m accuracy), camera serial numbers, Adobe XMP edit history, and C2PA Content Credentials provenance manifests from raw JPEG and PNG streams. 3. `redact_sensitive_regions`: Cryptographic solid black, noise, or emoji flattening over coordinate boxes (credit cards, SSNs, barcodes, home addresses). 4. `blur_license_plate`: Obscures vehicle license plates to defeat ALPR scrapers and vehicle tracking networks. 5. `batch_sanitize_photos`: Parallel multi-photo processing (up to 50 photos in 1 call). Unlocked via Pro license key. 6. `verify_pro_license`: Validates Dodo Payments license keys to inspect agent quotas and batch allowances. - **Zero-Server Guarantee**: The MCP server operates 100% in memory. No image bytes or buffers are ever written to disk or logged. - **Pricing & Dual-Tier Gating**: - **Free Tier**: 1 photo per request out of the box with zero setup or API keys. - **Pro Tier ($19.99 Lifetime Pass)**: Pass license key (`license_key` argument or `X-License-Key` header) to unlock 50-photo parallel batch processing via Dodo Payments. - **Discovery Page**: https://maskmybody.com/mcp --- ## 7. Official URL Index - **Application Root**: https://maskmybody.com/ - **MCP Server Discovery & Guide**: https://maskmybody.com/mcp - Spanish MCP Guide: https://maskmybody.com/es/mcp - German MCP Guide: https://maskmybody.com/de/mcp - French MCP Guide: https://maskmybody.com/fr/mcp - Portuguese MCP Guide: https://maskmybody.com/pt/mcp - Russian MCP Guide: https://maskmybody.com/ru/mcp - Japanese MCP Guide: https://maskmybody.com/ja/mcp - Chinese MCP Guide: https://maskmybody.com/zh/mcp - Korean MCP Guide: https://maskmybody.com/ko/mcp - **MCP Streamable HTTP Endpoint**: https://maskmybody.com/api/mcp - **Pricing & Pro Lifetime Pass ($19.99)**: https://maskmybody.com/pricing - **Privacy Tools Directory**: https://maskmybody.com/tools - Fingertip Redaction: https://maskmybody.com/tools/blur-fingertips-photo - GPS EXIF Stripper: https://maskmybody.com/tools/remove-gps-from-photo - Child Privacy Tool: https://maskmybody.com/tools/hide-kids-faces-photo - ID Redaction Tool: https://maskmybody.com/tools/redact-id-document - Emoji Censor Tool: https://maskmybody.com/tools/censor-photo-with-emoji - Private Face Blur: https://maskmybody.com/tools/face-blur-no-upload - Face Pixelator: https://maskmybody.com/tools/pixelate-face-photo - License Plate Blur: https://maskmybody.com/tools/blur-license-plate - Text & Document Blackout: https://maskmybody.com/tools/black-out-text-photo - **Comparisons & Forensics**: - Why Blur Is Not Safe: https://maskmybody.com/compare/why-blur-is-not-safe - Apple Markup Trap: https://maskmybody.com/compare/apple-markup-opacity-trap - vs. Redacted.app: https://maskmybody.com/compare/maskmybody-vs-redacted-app - vs. PrivacyBlur: https://maskmybody.com/compare/maskmybody-vs-privacyblur - vs. Signal Blur: https://maskmybody.com/compare/maskmybody-vs-signal-blur - 7 Best Redaction Tools: https://maskmybody.com/compare/best-photo-redaction-tools - **Engineering Guides**: - Biometric Fingerprint Defense: https://maskmybody.com/guides/protect-fingerprints-in-photos - Marketplace Geotag Scrubbing: https://maskmybody.com/guides/remove-gps-exif-facebook-marketplace-craigslist - Sharenting & Minor Facial Defense: https://maskmybody.com/guides/sharenting-child-facial-privacy-guide - ID Document Redaction: https://maskmybody.com/guides/redact-id-drivers-license-ssn-safe - Passport & KYC Redaction: https://maskmybody.com/guides/how-to-redact-passport-photo-kyc-safely - Facial Recognition Defense (PimEyes & FaceCheck): https://maskmybody.com/guides/protect-photos-from-pimeyes-face-search - **Legal Policies**: - Terms of Service: https://maskmybody.com/terms - Zero-Server Privacy: https://maskmybody.com/privacy - Return & Refund Policy: https://maskmybody.com/refunds - Digital Delivery: https://maskmybody.com/delivery - Support & Contact: https://maskmybody.com/contact