{
  "slug": "safelink-decoder",
  "name": "gizza-ai/safelink-decoder",
  "version": "0.1.0",
  "title": "SafeLink Decoder — Unwrap Outlook/Proofpoint/Google Links — gizza.ai",
  "description": "Decode Outlook SafeLinks, Proofpoint URLDefense (v2/v3), Google redirects and ?url= wrappers to reveal the real destination. In-browser, no fetch, free.",
  "tags": [
    "safelinks decoder",
    "unwrap url",
    "proofpoint urldefense",
    "outlook safelinks",
    "google redirect",
    "url unwrapper"
  ],
  "category": "security",
  "urls": {
    "page": "https://gizza.ai/tools/safelink-decoder/",
    "markdown": "https://gizza.ai/tools/safelink-decoder/index.md",
    "descriptor": "https://gizza.ai/tools/safelink-decoder/tool.json",
    "deep_link_example": "https://gizza.ai/tools/safelink-decoder/?url=https%3A%2F%2Fnam12.safelinks.protection.outlook.com%2F%3Furl%3Dhttps%253A%252F%252Fexample.com%26data%3D...&per_line=true"
  },
  "cli": "gizza tool safelink-decoder \"https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fexample.com&data=...\"",
  "tool": {
    "description": "Reveal the original destination behind a URL-rewrite wrapper: Outlook SafeLinks, Proofpoint URLDefense (v2 and v3), Google redirects, and generic ?url=/?q=/?u= redirectors. Follows nested wrappers. Pure string decoding — it does NOT fetch the URL. Set per_line=true to unwrap a batch list of URLs.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "per_line": {
          "default": false,
          "description": "When true, unwrap each line of the input independently (rejoined with newlines). Default false.",
          "type": "boolean"
        },
        "url": {
          "description": "The wrapped/rewritten URL to unwrap (or a batch list, one per line with per_line=true).",
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    }
  }
}