{
  "$schema": "https://json.schemastore.org/web-manifest-combined.json",
  "id": "/app",
  "name": "Blotmarked: on-device document redaction",
  "short_name": "Blotmarked",
  "description": "Find and permanently remove personal data from PDFs and images - names, addresses, IDs, bank details - entirely on your own device. Nothing is uploaded, nothing is stored, and every redaction is yours to confirm.",
  "start_url": "/app",
  "scope": "/",
  "display": "standalone",
  "display_override": ["standalone", "minimal-ui", "browser"],
  "background_color": "#08080a",
  "theme_color": "#08080a",
  "orientation": "portrait",
  "lang": "en",
  "dir": "ltr",
  "categories": ["productivity", "utilities", "security"],
  "launch_handler": {
    "client_mode": "navigate-existing"
  },
  "handle_links": "preferred",
  "prefer_related_applications": false,
  "related_applications": [
    {
      "platform": "play",
      "id": "app.blotmarked.twa",
      "url": "https://play.google.com/store/apps/details?id=app.blotmarked.twa"
    }
  ],
  "scope_extensions": [{ "origin": "https://blotmarked.app" }],
  "protocol_handlers": [
    {
      "protocol": "web+blotmarked",
      "url": "/open?target=%s"
    }
  ],
  "edge_side_panel": {
    "preferred_width": 420
  },
  "icons": [
    { "src": "/icons/icon-48.png", "sizes": "48x48", "type": "image/png", "purpose": "any" },
    { "src": "/icons/icon-72.png", "sizes": "72x72", "type": "image/png", "purpose": "any" },
    { "src": "/icons/icon-96.png", "sizes": "96x96", "type": "image/png", "purpose": "any" },
    { "src": "/icons/icon-128.png", "sizes": "128x128", "type": "image/png", "purpose": "any" },
    { "src": "/icons/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" },
    { "src": "/icons/icon-256.png", "sizes": "256x256", "type": "image/png", "purpose": "any" },
    { "src": "/icons/icon-384.png", "sizes": "384x384", "type": "image/png", "purpose": "any" },
    { "src": "/icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" },
    { "src": "/icons/icon-1024.png", "sizes": "1024x1024", "type": "image/png", "purpose": "any" },
    { "src": "/icons/maskable-192.png", "sizes": "192x192", "type": "image/png", "purpose": "maskable" },
    { "src": "/icons/maskable-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" },
    { "src": "/icons/maskable-1024.png", "sizes": "1024x1024", "type": "image/png", "purpose": "maskable" }
  ],
  "screenshots": [
    {
      "src": "/screenshots/narrow-1-welcome.png",
      "sizes": "1080x2400",
      "type": "image/png",
      "form_factor": "narrow",
      "label": "Your file never leaves your hands: no vault, no account, no copy on a server."
    },
    {
      "src": "/screenshots/narrow-2-home.png",
      "sizes": "1080x2400",
      "type": "image/png",
      "form_factor": "narrow",
      "label": "Start from a photo of a paper document or from files already on your device."
    },
    {
      "src": "/screenshots/narrow-3-policy.png",
      "sizes": "1080x2400",
      "type": "image/png",
      "form_factor": "narrow",
      "label": "Choose the rules that apply - jurisdiction, who is receiving the file, and which categories to hide."
    },
    {
      "src": "/screenshots/narrow-4-review.png",
      "sizes": "1080x2400",
      "type": "image/png",
      "form_factor": "narrow",
      "label": "Every detected value is one row, however often it appears. Nothing is redacted until you say so."
    },
    {
      "src": "/screenshots/narrow-5-editor.png",
      "sizes": "1080x2400",
      "type": "image/png",
      "form_factor": "narrow",
      "label": "See the redactions on the page, and add or lift any of them by hand."
    },
    {
      "src": "/screenshots/wide-1-welcome.png",
      "sizes": "1280x800",
      "type": "image/png",
      "form_factor": "wide",
      "label": "Your file never leaves your hands: no vault, no account, no copy on a server."
    },
    {
      "src": "/screenshots/wide-2-home.png",
      "sizes": "1280x800",
      "type": "image/png",
      "form_factor": "wide",
      "label": "Start from a photo of a paper document or from files already on your device."
    },
    {
      "src": "/screenshots/wide-3-policy.png",
      "sizes": "1280x800",
      "type": "image/png",
      "form_factor": "wide",
      "label": "Choose the rules that apply - jurisdiction, who is receiving the file, and which categories to hide."
    },
    {
      "src": "/screenshots/wide-4-review.png",
      "sizes": "1280x800",
      "type": "image/png",
      "form_factor": "wide",
      "label": "Every detected value is one row, however often it appears. Nothing is redacted until you say so."
    },
    {
      "src": "/screenshots/wide-5-editor.png",
      "sizes": "1280x800",
      "type": "image/png",
      "form_factor": "wide",
      "label": "See the redactions on the page, and add or lift any of them by hand."
    }
  ],
  "shortcuts": [
    {
      "name": "Redact a document",
      "short_name": "Redact",
      "description": "Open a file and start finding personal data in it.",
      "url": "/app?screen=home",
      "icons": [{ "src": "/icons/icon-96.png", "sizes": "96x96", "type": "image/png" }]
    },
    {
      "name": "Credits",
      "short_name": "Credits",
      "description": "Check your balance, buy credits, or restore a balance from another device.",
      "url": "/app?screen=credits",
      "icons": [{ "src": "/icons/icon-96.png", "sizes": "96x96", "type": "image/png" }]
    },
    {
      "name": "Get free test credits",
      "short_name": "Test credits",
      "description": "Ask for free test credits to try Blotmarked on your own documents.",
      "url": "/app?screen=access",
      "icons": [{ "src": "/icons/icon-96.png", "sizes": "96x96", "type": "image/png" }]
    }
  ],
  "share_target": {
    "action": "/share-target",
    "method": "POST",
    "enctype": "multipart/form-data",
    "params": {
      "files": [
        {
          "name": "documents",
          "accept": ["application/pdf", "image/jpeg", "image/png", "image/webp"]
        }
      ]
    }
  },
  "file_handlers": [
    {
      "action": "/app",
      "accept": {
        "application/pdf": [".pdf"],
        "image/jpeg": [".jpg", ".jpeg"],
        "image/png": [".png"],
        "image/webp": [".webp"]
      },
      "icons": [{ "src": "/icons/icon-256.png", "sizes": "256x256", "type": "image/png" }],
      "launch_type": "single-client"
    }
  ]
}
