📱
BlueArc Apps Documentation

Shield Snap Documentation

📅 May 23, 2026
🔄 Updated May 23, 2026
⏱️ 7 min read

ShieldSnap – Technical Documentation & Manual

1. Executive Summary

ShieldSnap is a privacy-focused Flutter application for anonymizing photos using on-device Artificial Intelligence (AI). The app’s core purpose is to automatically detect and obscure sensitive image content such as faces, license plates, and confidential text. A central component of the value proposition is the offline-first approach: All image processing and AI analysis steps are executed locally on the user’s device. There is no data transmission to cloud services, ensuring the highest security standards and App Store compliance regarding data privacy.

2. Architecture & Tech Stack

The app is based on the Flutter framework (Dart) and features a modular design to cleanly separate image processing, AI detection, and monetization.

2.1 State Management

ShieldSnap uses the Provider pattern (provider: ^6.1.5) for reactive state management. The business logic is divided into specialized providers:
  • SettingsProvider: Manages app settings (theme, language, AI thresholds) and in-app purchases (premium status). Uses shared_preferences for local persistence.
  • ImageStateProvider: Handles image loading, temporary storage, and the transition between gallery/camera and the editor.
  • DetectionProvider: Manages the detected bounding boxes (faces, texts) and their status (blurred/visible).
  • EnergyProvider: Controls the in-app currency system (“Energy”) for image exports and communicates with the AdManager.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

2.2 On-Device AI (Google ML Kit)

The app deliberately avoids cloud APIs and utilizes Google ML Kit’s native on-device models:
  • Face Detection (google_mlkit_face_detection): For localizing faces (without biometric identification).
  • Text Recognition (google_mlkit_text_recognition): For reading text. Combined with regex pattern matching, sensitive data (emails, phone numbers) as well as German and US license plates are detected.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

2.3 Image Processing & File System

  • The image library (^4.7.2) is used to perform pixel-level modifications (Gaussian blur, pixelation, mosaic, solid color fill). These computationally intensive processes are offloaded to background isolates (compute()) to prevent UI freezing.
  • Metadata manipulation is handled via native_exif. All GPS coordinates, camera models, and timestamps are deleted by default during export.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

3. Detailed Feature Guide

3.1 Home Screen

The home screen serves as an “upload zone”. Users can load a single image from the gallery or via the camera. Premium users also have the option of batch processing to select multiple images simultaneously.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

3.2 Editor & AI Detection

Once an image is loaded into the EditorScreen, the AIService takes over. It executes face and text detection in parallel: 1. Face Detection: Analyzes the image based on a user-configurable minimum face size (minFaceSize). 2. Pattern Matching: Text recognition matches extracted strings against regular expressions. The following are detected: * German license plates (e.g., regex ^[A-ZÄÖÜ]{1,3}[A-Z]{1,2}\d{1,4}[EH]?$) * US license plates * Email addresses and phone numbers 3. UI Overlay: Bounding boxes are drawn over the detected regions. By simply tapping, the user can decide whether a region should be obscured or not (isBlurred toggle in DetectionResult).

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

3.3 Anonymization Styles (Blur Styles)

Various styles of obfuscation can be configured in the editor:
  • Gaussian Blur: A classic blur effect.
  • Pixelate: Reduces the resolution of the selected area so that it consists of large square blocks (color is calculated from the block average).
  • Mosaic: Similar to Pixelate, but with modified color sampling points for an asymmetrical effect.
  • Solid Color: Fills the area with a solid color (default: black). This is the most secure method against AI-based de-anonymization attacks.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

3.4 Export & Metadata Stripping

During export, the image passes through the ImageProcessor. EXIF metadata (image.exif.clear()) is completely removed. The app saves the modified images in a dedicated folder (Pictures/ShieldSnap) on local storage. Via share_plus, the secured image can be directly shared to messengers or social networks.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

4. Data Privacy & Security (Privacy Policy Context)

To comply with the strict guidelines of the App Store and Google Play (especially for apps handling sensitive photos), ShieldSnap is designed as follows:

  • Zero Data Collection: Images never leave the user’s device at any time. There is no server infrastructure for image processing.
Temporary Files: Temporary files (clean_, shieldsnap_*) created in the cache directory during image editing are automatically cleaned up (cleanupTempFiles()) as soon as they are older than 5 minutes.
  • EXIF Stripping: Every exported photo is actively stripped of metadata to prevent location tracking or identifying the user’s recording device when sharing.

5. Monetization & “Energy” System

The app uses a hybrid monetization model via google_mobile_ads and in_app_purchase:

  • Energy System (Currency): Exporting an image costs 1 “Energy” point. Users start with 5 points by default (maximum: 20).
  • Rewarded Ads: If energy is depleted, users can recharge new energy points by watching a video ad (Rewarded Ad).
  • Premium Status: Users can upgrade to “Premium” via an in-app purchase. This grants unlimited exports (no energy consumption), hides banner ads, and unlocks batch processing.

6. User Manual (User Instructions)

1. Select Image: Open ShieldSnap and select the camera icon for a new photo or the gallery icon for an existing photo. Premium users can load multiple images simultaneously via the multi-image icon. 2. Wait for Automatic Detection: The app analyzes the image locally. Detected faces, license plates, and private texts are marked automatically. 3. Fine-tuning: Tap the marked boxes to toggle the obfuscation filter on or off. 4. Adjust Style: Use the options at the bottom of the screen to change the filter strength or style (blur, pixelate, solid bar). 5. Export Securely: Click Save or Share. During this process, ShieldSnap automatically removes all revealing background data (location, date, camera model) from the photo. (This action costs one energy point unless you are a Premium user). 6. Recharge Energy: Click the lightning bolt icon in the top right navigation to recharge new exports by watching a short video.