{"id":4774,"date":"2025-11-30T13:05:02","date_gmt":"2025-11-30T02:05:02","guid":{"rendered":"https:\/\/gabey.com.au\/gabeyinfo\/?page_id=4774"},"modified":"2025-12-02T17:39:14","modified_gmt":"2025-12-02T06:39:14","slug":"dotshield","status":"publish","type":"page","link":"https:\/\/gabey.com.au\/gabeyinfo\/index.php\/dotshield\/","title":{"rendered":"DotShield\u2122"},"content":{"rendered":"\n    \n    <section class=\"u-align-left u-clearfix u-image u-shading u-section-2\" id=\"block-2\" data-image-width=\"1280\" data-image-height=\"853\" style=\"background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(&quot;https:\/\/gabey.com.au\/gabeyinfo\/wp-content\/uploads\/2025\/11\/photo-1591981813204-f5a433700b7b-1.jpeg&quot;);\">\n      <div class=\"u-clearfix u-sheet u-valign-middle-lg u-valign-middle-md u-valign-middle-sm u-valign-middle-xs u-sheet-1\">\n        <h2 class=\"u-align-center u-text u-text-default u-text-1\">Embrace your freedom<\/h2>\n        <img decoding=\"async\" class=\"u-align-center u-image u-image-contain u-image-default u-preserve-proportions u-image-1\" src=\"https:\/\/gabey.com.au\/gabeyinfo\/wp-content\/uploads\/2025\/12\/DotShield_Logo-3A_0.1.png\" alt=\"\" data-image-width=\"250\" data-image-height=\"142\">\n      <\/div>\n    <\/section>\n    <section class=\"u-align-center u-clearfix u-container-align-center u-image u-shading u-section-3\" id=\"block-3\" data-image-width=\"1280\" data-image-height=\"852\" style=\"background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url(&quot;https:\/\/gabey.com.au\/gabeyinfo\/wp-content\/uploads\/2025\/11\/7c1564cf41107ae2bfc7c27532e8e9f17021a32641c8e3ef9e5e3e2f315abc3d7bd91b3af390a8672c1f43e4a18a9e51a7bdec79d0c356f87c67e5_1280.jpg&quot;);\">\n      <div class=\"u-clearfix u-sheet u-valign-middle-lg u-valign-middle-md u-valign-middle-sm u-valign-middle-xs u-sheet-1\">\n        <div class=\"u-clearfix u-custom-html u-expanded-width u-custom-html-1\"><!-- ============================\n     DotShield&#x2122; Interactive Page\n     ============================ -->\n          <style> \/* Layout & typography tweaks *\/\n  .dotshield-page {\n    font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n    color: #f5f5f5;\n    background: #050712;\n    padding: 2.5rem 1.5rem 4rem;\n  }\n  .dotshield-page h1,\n  .dotshield-page h2,\n  .dotshield-page h3,\n  .dotshield-page h4 {\n    color: #ffffff;\n    font-weight: 600;\n  }\n  .dotshield-page p {\n    line-height: 1.6;\n    margin-bottom: 0.9rem;\n  }\n  .dotshield-page a {\n    color: #7dd3fc;\n  }\n  .dotshield-tag {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.4rem;\n    font-size: 0.78rem;\n    text-transform: uppercase;\n    letter-spacing: 0.08em;\n    color: #a5b4fc;\n    background: rgba(129, 140, 248, 0.08);\n    border-radius: 999px;\n    padding: 0.25rem 0.75rem;\n    margin-bottom: 0.6rem;\n  }\n  .dotshield-tag span {\n    width: 6px;\n    height: 6px;\n    border-radius: 999px;\n    background: #4ade80;\n  }\n  \/* Hero section *\/\n  .dotshield-hero {\n    max-width: 960px;\n    margin: 0 auto 2.5rem;\n    display: grid;\n    grid-template-columns: minmax(0, 3fr) minmax(0, 2.4fr);\n    gap: 1.75rem;\n  }\n  .dotshield-hero-main h1 {\n    font-size: clamp(2.2rem, 3vw, 2.9rem);\n    margin-bottom: 0.75rem;\n  }\n  .dotshield-hero-main h1 span {\n    background: linear-gradient(135deg, #a855f7, #38bdf8);\n    -webkit-background-clip: text;\n    color: transparent;\n  }\n  .dotshield-hero-main .sub {\n    color: #cbd5f5;\n    font-size: 0.95rem;\n    max-width: 32rem;\n  }\n  .dotshield-hero-pills {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.45rem;\n    margin: 1rem 0 1.25rem;\n  }\n  .dotshield-hero-pill {\n    font-size: 0.78rem;\n    border-radius: 999px;\n    padding: 0.25rem 0.7rem;\n    border: 1px solid rgba(148, 163, 184, 0.35);\n    color: #cbd5f5;\n  }\n  .dotshield-hero-actions {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.75rem;\n    margin-top: 1.2rem;\n  }\n  .dotshield-btn-primary,\n  .dotshield-btn-ghost {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 0.45rem;\n    border-radius: 999px;\n    padding: 0.6rem 1.2rem;\n    font-size: 0.88rem;\n    border: none;\n    cursor: pointer;\n    transition: all 0.15s ease-out;\n    text-decoration: none;\n  }\n  .dotshield-btn-primary {\n    background: linear-gradient(135deg, #6366f1, #22c55e);\n    color: #f9fafb;\n    box-shadow: 0 12px 35px rgba(37, 99, 235, 0.35);\n  }\n  .dotshield-btn-primary:hover {\n    filter: brightness(1.05);\n    transform: translateY(-1px);\n  }\n  .dotshield-btn-ghost {\n    background: rgba(15, 23, 42, 0.9);\n    color: #e5e7eb;\n    border: 1px solid rgba(148, 163, 184, 0.5);\n  }\n  .dotshield-btn-ghost:hover {\n    background: rgba(15, 23, 42, 1);\n  }\n  .dotshield-hero-meta {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.75rem;\n    margin-top: 0.75rem;\n    font-size: 0.78rem;\n    color: #9ca3af;\n  }\n  .dotshield-hero-meta span {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.35rem;\n  }\n  .dotshield-hero-meta span::before {\n    content: \"\u25cf\";\n    font-size: 0.6rem;\n    color: #4ade80;\n  }\n  \/* Right hero panel: interactive cards *\/\n  .dotshield-hero-panel {\n    background: radial-gradient(circle at top, rgba(56, 189, 248, 0.15), transparent 55%),\n                radial-gradient(circle at bottom, rgba(244, 114, 182, 0.08), transparent 60%),\n                #020617;\n    border-radius: 1.25rem;\n    border: 1px solid rgba(148, 163, 184, 0.5);\n    padding: 1.1rem 1.15rem 1.3rem;\n    display: flex;\n    flex-direction: column;\n    gap: 0.9rem;\n  }\n  .dotshield-hero-panel h3 {\n    font-size: 0.95rem;\n    margin-bottom: 0.2rem;\n  }\n  .dotshield-toggle-row {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.4rem;\n    margin-bottom: 0.4rem;\n  }\n  .dotshield-toggle-pill {\n    flex: 1 1 28%;\n    min-width: 90px;\n    font-size: 0.75rem;\n    border-radius: 999px;\n    padding: 0.3rem 0.55rem;\n    text-align: center;\n    border: 1px solid rgba(148, 163, 184, 0.6);\n    color: #cbd5f5;\n    cursor: pointer;\n    background: rgba(15, 23, 42, 0.85);\n    transition: all 0.15s ease-out;\n  }\n  .dotshield-toggle-pill.dotshield-active {\n    background: linear-gradient(135deg, #a855f7, #38bdf8);\n    color: #f9fafb;\n    border-color: transparent;\n  }\n  .dotshield-toggle-content {\n    font-size: 0.8rem;\n    color: #e5e7eb;\n    min-height: 4.1rem;\n  }\n  .dotshield-mini-metric {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 0.4rem;\n    margin-top: 0.35rem;\n    font-size: 0.72rem;\n  }\n  .dotshield-mini-metric div {\n    border-radius: 0.75rem;\n    background: rgba(15, 23, 42, 0.9);\n    border: 1px solid rgba(55, 65, 81, 0.9);\n    padding: 0.32rem 0.45rem;\n  }\n  .dotshield-mini-metric b {\n    display: block;\n    font-size: 0.8rem;\n    margin-bottom: 0.08rem;\n    color: #e5e7eb;\n  }\n  \/* Interactive forensic modules *\/\n  .dotshield-section {\n    max-width: 980px;\n    margin: 0 auto 2.5rem;\n  }\n  .dotshield-section-header {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: space-between;\n    gap: 0.75rem;\n    align-items: center;\n    margin-bottom: 1rem;\n  }\n  .dotshield-section-header p {\n    max-width: 34rem;\n    color: #d1d5db;\n    font-size: 0.92rem;\n  }\n  .dotshield-pill-bar {\n    display: inline-flex;\n    gap: 0.4rem;\n    flex-wrap: wrap;\n  }\n  .dotshield-pill-bar span {\n    font-size: 0.78rem;\n    border-radius: 999px;\n    padding: 0.18rem 0.7rem;\n    border: 1px solid rgba(148, 163, 184, 0.55);\n    color: #9ca3af;\n  }\n  .dotshield-modules {\n    border-radius: 1.1rem;\n    border: 1px solid rgba(75, 85, 99, 0.95);\n    background: radial-gradient(circle at top left, rgba(96, 165, 250, 0.12), transparent 60%),\n                rgba(15, 23, 42, 0.98);\n    padding: 1.1rem 1.15rem;\n  }\n  .dotshield-module {\n    border-top: 1px solid rgba(55, 65, 81, 0.9);\n    padding: 0.7rem 0;\n  }\n  .dotshield-module:first-child {\n    border-top: none;\n  }\n  .dotshield-module-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 0.75rem;\n    cursor: pointer;\n  }\n  .dotshield-module-title {\n    display: flex;\n    align-items: center;\n    gap: 0.4rem;\n  }\n  .dotshield-module-title span {\n    width: 18px;\n    height: 18px;\n    border-radius: 999px;\n    background: radial-gradient(circle at 30% 20%, #a855f7, #38bdf8);\n  }\n  .dotshield-module-header h3 {\n    font-size: 0.9rem;\n    margin: 0;\n  }\n  .dotshield-module-header .score {\n    font-size: 0.78rem;\n    color: #a5b4fc;\n  }\n  .dotshield-chevron {\n    font-size: 0.9rem;\n    color: #9ca3af;\n    transition: transform 0.15s;\n  }\n  .dotshield-module.open .dotshield-chevron {\n    transform: rotate(90deg);\n  }\n  .dotshield-module-body {\n    margin-top: 0.45rem;\n    font-size: 0.82rem;\n    color: #e5e7eb;\n    display: none;\n  }\n  .dotshield-module.open .dotshield-module-body {\n    display: block;\n  }\n  .dotshield-module-body ul {\n    margin: 0.2rem 0 0.2rem 1.05rem;\n    padding: 0;\n  }\n  .dotshield-module-body li {\n    margin-bottom: 0.18rem;\n  }\n  \/* Scenario sandbox *\/\n  .dotshield-sandbox {\n    border-radius: 1.1rem;\n    border: 1px solid rgba(55, 65, 81, 0.9);\n    background: rgba(15, 23, 42, 0.95);\n    padding: 1rem 1.15rem;\n    display: grid;\n    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.4fr);\n    gap: 1rem;\n  }\n  .dotshield-sandbox h3 {\n    font-size: 0.9rem;\n    margin-bottom: 0.45rem;\n  }\n  .dotshield-sandbox label {\n    display: block;\n    font-size: 0.8rem;\n    margin-bottom: 0.25rem;\n    color: #e5e7eb;\n    cursor: pointer;\n  }\n  .dotshield-sandbox input[type=\"radio\"] {\n    margin-right: 0.25rem;\n  }\n  .dotshield-sandbox-output {\n    background: radial-gradient(circle at top, rgba(34, 197, 94, 0.12), transparent 60%);\n    border-radius: 0.9rem;\n    border: 1px solid rgba(55, 65, 81, 0.9);\n    padding: 0.7rem 0.8rem;\n    font-size: 0.8rem;\n    color: #e5e7eb;\n  }\n  .dotshield-sandbox-output p {\n    margin-bottom: 0.45rem;\n  }\n  .dotshield-sandbox-output code {\n    display: block;\n    margin-top: 0.3rem;\n    font-size: 0.78rem;\n    background: rgba(15, 23, 42, 0.9);\n    padding: 0.45rem 0.5rem;\n    border-radius: 0.4rem;\n    border: 1px solid rgba(75, 85, 99, 0.8);\n    overflow-x: auto;\n  }\n  \/* CTA band *\/\n  .dotshield-cta-band {\n    max-width: 980px;\n    margin: 0 auto;\n    margin-top: 2.25rem;\n    padding: 1.1rem 1.15rem 1.3rem;\n    border-radius: 1.25rem;\n    background: radial-gradient(circle at center, rgba(129, 140, 248, 0.3), transparent 65%),\n                linear-gradient(120deg, #0f172a, #020617);\n    border: 1px solid rgba(129, 140, 248, 0.9);\n    display: grid;\n    grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.4fr);\n    gap: 1.1rem;\n    align-items: center;\n  }\n  .dotshield-cta-band p {\n    color: #e5e7eb;\n    font-size: 0.9rem;\n    margin-bottom: 0.3rem;\n  }\n  .dotshield-cta-band small {\n    display: block;\n    color: #c7d2fe;\n    font-size: 0.8rem;\n  }\n  .dotshield-cta-band-actions {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.7rem;\n    justify-content: flex-end;\n  }\n  \/* Modal styles for Formidable form (ID 5) *\/\n  .dotshield-modal-backdrop {\n    position: fixed;\n    inset: 0;\n    background: rgba(15, 23, 42, 0.9);\n    backdrop-filter: blur(4px);\n    display: none;\n    align-items: center;\n    justify-content: center;\n    z-index: 9999;\n  }\n  .dotshield-modal-backdrop.active {\n    display: flex;\n  }\n  .dotshield-modal-panel {\n    background: #020617;\n    border-radius: 0.9rem;\n    border: 1px solid rgba(148, 163, 184, 0.85);\n    width: min(640px, 94vw);\n    max-height: 78vh;\n    display: flex;\n    flex-direction: column;\n    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.75);\n    overflow: hidden;\n  }\n  .dotshield-modal-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 0.7rem 1rem 0.55rem;\n    border-bottom: 1px solid rgba(51, 65, 85, 0.95);\n  }\n  .dotshield-modal-header h3 {\n    font-size: 0.95rem;\n    margin: 0;\n  }\n  .dotshield-modal-header button {\n    border: none;\n    background: none;\n    color: #e5e7eb;\n    font-size: 1.1rem;\n    cursor: pointer;\n  }\n  .dotshield-modal-body {\n    flex: 1 1 auto;\n    overflow-y: auto;\n    padding: 0.8rem 1rem 0.6rem;\n  }\n  .dotshield-modal-footer {\n    border-top: 1px solid rgba(51, 65, 85, 0.95);\n    padding: 0.5rem 0.75rem;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    background: #020617;\n  }\n  .dotshield-scroll-buttons {\n    display: inline-flex;\n    gap: 0.35rem;\n  }\n  .dotshield-scroll-buttons button {\n    border-radius: 999px;\n    border: 1px solid rgba(148, 163, 184, 0.85);\n    background: rgba(15, 23, 42, 0.95);\n    color: #e5e7eb;\n    padding: 0.25rem 0.75rem;\n    font-size: 0.78rem;\n    cursor: pointer;\n  }\n  .dotshield-scroll-buttons button:hover {\n    background: rgba(15, 23, 42, 1);\n  }\n  .dotshield-modal-footer small {\n    color: #9ca3af;\n    font-size: 0.78rem;\n  }\n  \/* Responsive adjustments *\/\n  @media (max-width: 860px) {\n    .dotshield-hero {\n      grid-template-columns: minmax(0, 1fr);\n    }\n    .dotshield-hero-panel {\n      order: -1;\n    }\n    .dotshield-sandbox {\n      grid-template-columns: minmax(0, 1fr);\n    }\n    .dotshield-cta-band {\n      grid-template-columns: minmax(0, 1fr);\n      text-align: left;\n    }\n    .dotshield-cta-band-actions {\n      justify-content: flex-start;\n    }\n  }\n  @media (max-width: 600px) {\n    .dotshield-page {\n      padding-inline: 1rem;\n    }\n    .dotshield-hero-main h1 {\n      font-size: 1.9rem;\n    }\n  } <\/style>\n          <div class=\"dotshield-page\"><!-- HERO -->\n            <section class=\"dotshield-hero\">\n              <div class=\"dotshield-hero-main\">\n                <div class=\"dotshield-tag\"><span><\/span> DotShield&#x2122; \u00b7 Video Privacy &amp; Deepfake Forensics \n                <\/div>\n                <h1> Protect every frame with <span>DotShield&#x2122;<\/span> \u2014 from real-time calls to deepfake investigations. \n                <\/h1>\n                <p class=\"sub\"> DotShield&#x2122; by NOMATEQ starts as a corporate video privacy layer and extends into a forensic engine that can\n        detect AI-generated images, reconstruct prompts, and verify camera signatures \u2014 without breaking your\n        existing workflows. <\/p>\n                <div class=\"dotshield-hero-pills\"><span class=\"dotshield-hero-pill\">AI-adaptive privacy filters<\/span><span class=\"dotshield-hero-pill\">Liveness &amp; depth detection<\/span><span class=\"dotshield-hero-pill\">Deepfake \/ prompt forensics<\/span><span class=\"dotshield-hero-pill\">Teams \u00b7 Zoom \u00b7 Webex compatible<\/span>\n                <\/div>\n                <div class=\"dotshield-hero-actions\">\n                  <button class=\"dotshield-btn-primary\" onclick=\"dotshieldOpenForm()\"> Request a DotShield demo <span>&#x2197;<\/span>\n                  <\/button>\n                  <button class=\"dotshield-btn-ghost\" onclick=\"dotshieldScrollTo('dotshield-forensics')\"> Explore forensics engine <\/button>\n                <\/div>\n                <div class=\"dotshield-hero-meta\"><span>ISM \u00b7 CPS 234 \u00b7 Essential Eight \u00b7 GDPR aligned<\/span><span>Designed for banking, telehealth, utilities &amp; critical infrastructure<\/span>\n                <\/div>\n              <\/div><!-- Right Panel: interactive perspective switcher -->\n              <aside class=\"dotshield-hero-panel\">\n                <h3>What do you want DotShield&#x2122; to protect?<\/h3>\n                <div class=\"dotshield-toggle-row\">\n                  <button class=\"dotshield-active dotshield-toggle-pill\" data-role=\"user\"> My identity &amp; video calls <\/button>\n                  <button class=\"dotshield-toggle-pill\" data-role=\"enterprise\"> My organisation <\/button>\n                  <button class=\"dotshield-toggle-pill\" data-role=\"regulator\"> My jurisdiction <\/button>\n                <\/div>\n                <div class=\"dotshield-toggle-content\" id=\"dotshield-perspective-text\"> DotShield&#x2122; hides biometric and background signals during calls while keeping you fully visible\n        to the humans on the other side. It quietly disrupts face recognition, emotion mining, and\n        covert model training \u2014 without forcing you to switch platforms. <\/div>\n                <div class=\"dotshield-mini-metric\">\n                  <div><b>Video Privacy<\/b> Real-time filters, watermarking and policy-aware overlays for Teams, Zoom and Webex sessions. \n                  <\/div>\n                  <div><b>Liveness &amp; Depth<\/b> Camera-side depth and motion analysis to spot replayed videos, masks and static images. \n                  <\/div>\n                  <div><b>Deepfake Forensics<\/b> Offline analysis of disputed images with AI\/fake probability scores and prompt reconstruction. \n                  <\/div>\n                <\/div>\n              <\/aside>\n            <\/section><!-- FORENSICS MODULES -->\n            <section id=\"dotshield-forensics\" class=\"dotshield-section\">\n              <div class=\"dotshield-section-header\">\n                <div>\n                  <h2>Inside DotShield&#x2122; Forensics<\/h2>\n                  <p> DotShield Forensics&#x2122; combines physics, signal analysis and AI to determine whether an image or frame is\n          real, manipulated or synthetic \u2014 and explains <strong>why<\/strong>, in plain language, percentages and\n          module-level evidence. \n                  <\/p>\n                <\/div>\n                <div class=\"dotshield-pill-bar\"><span>AI \/ deepfake detection<\/span><span>Camera signature &amp; PRNU<\/span><span>Prompt reconstruction<\/span>\n                <\/div>\n              <\/div>\n              <div class=\"dotshield-modules\"><!-- Module 1 -->\n                <article class=\"dotshield-module open\">\n                  <div class=\"dotshield-module-header\">\n                    <div class=\"dotshield-module-title\"><span><\/span>\n                      <h3>1. Camera &amp; Metadata Verification<\/h3>\n                    <\/div>\n                    <div class=\"score\">Weight: 10\u201320%<\/div>\n                    <div class=\"dotshield-chevron\">&#x25b6;<\/div>\n                  <\/div>\n                  <div class=\"dotshield-module-body\">\n                    <p> DotShield inspects EXIF metadata, camera models, lens hints and DotShield-registered session hashes.\n            Missing or inconsistent camera information is a strong signal that an image has been exported from a\n            generator or heavily processed before use. <\/p>\n                    <ul>\n                      <li>Identifies stripped or spoofed EXIF metadata.<\/li>\n                      <li>Confirms whether a frame originated from a DotShield-protected session.<\/li>\n                      <li>Flags discrepancies between claimed and observed camera behaviour.<\/li>\n                    <\/ul>\n                  <\/div>\n                <\/article><!-- Module 2 -->\n                <article class=\"dotshield-module\">\n                  <div class=\"dotshield-module-header\">\n                    <div class=\"dotshield-module-title\"><span><\/span>\n                      <h3>2. Sensor Signature (PRNU) &amp; Noise Field<\/h3>\n                    <\/div>\n                    <div class=\"score\">Weight: 25\u201335%<\/div>\n                    <div class=\"dotshield-chevron\">&#x25b6;<\/div>\n                  <\/div>\n                  <div class=\"dotshield-module-body\">\n                    <p> Every physical camera has a unique sensor fingerprint known as PRNU. DotShield compares the image\u2019s\n            noise residual to known camera signatures and to synthetic noise patterns produced by modern diffusion\n            models. <\/p>\n                    <ul>\n                      <li>Matches frames to enrolled cameras using PRNU fingerprints.<\/li>\n                      <li>Detects <em>uniform synthetic noise<\/em> typical of AI-generated images.\n                      <\/li>\n                      <li>Evaluates shadow vs highlight noise \u2014 real sensors and AI behave very differently.<\/li>\n                    <\/ul>\n                  <\/div>\n                <\/article><!-- Module 3 -->\n                <article class=\"dotshield-module\">\n                  <div class=\"dotshield-module-header\">\n                    <div class=\"dotshield-module-title\"><span><\/span>\n                      <h3>3. Pixel, Compression &amp; Optical Reality Checks<\/h3>\n                    <\/div>\n                    <div class=\"score\">Weight: 15\u201320%<\/div>\n                    <div class=\"dotshield-chevron\">&#x25b6;<\/div>\n                  <\/div>\n                  <div class=\"dotshield-module-body\">\n                    <p> DotShield inspects pixel-level structure for JPEG artefacts, chromatic aberration, resampling and\n            AI upscaling traces. Clean, \u201ctoo perfect\u201d pixels across the whole frame are often a bigger red flag\n            than obvious glitches. <\/p>\n                    <ul>\n                      <li>Analyses JPEG\/DCT block patterns and recompression signatures.<\/li>\n                      <li>Checks for realistic lens behaviour, colour fringing and edge softness.<\/li>\n                      <li>Spots AI super-resolution artefacts and beautification filters.<\/li>\n                    <\/ul>\n                  <\/div>\n                <\/article><!-- Module 4 -->\n                <article class=\"dotshield-module\">\n                  <div class=\"dotshield-module-header\">\n                    <div class=\"dotshield-module-title\"><span><\/span>\n                      <h3>4. Scene Geometry &amp; Mirror Physics<\/h3>\n                    <\/div>\n                    <div class=\"score\">Weight: 10\u201315%<\/div>\n                    <div class=\"dotshield-chevron\">&#x25b6;<\/div>\n                  <\/div>\n                  <div class=\"dotshield-module-body\">\n                    <p> DotShield checks whether the world inside the image obeys physical rules: mirror behaviour, depth,\n            shadows, perspective lines, text distortion and object repetition. A mirror selfie with forward-facing\n            logos, for example, is an instant AI indicator. <\/p>\n                    <ul>\n                      <li>Validates shadow direction and softness against light sources.<\/li>\n                      <li>Tests mirror text and logo orientation for physical realism.<\/li>\n                      <li>Detects repeated textures or \u201ctoo regular\u201d object layouts.<\/li>\n                    <\/ul>\n                  <\/div>\n                <\/article><!-- Module 5 -->\n                <article class=\"dotshield-module\">\n                  <div class=\"dotshield-module-header\">\n                    <div class=\"dotshield-module-title\"><span><\/span>\n                      <h3>5. Biometric &amp; Liveness Plausibility<\/h3>\n                    <\/div>\n                    <div class=\"score\">Weight: 10\u201315%<\/div>\n                    <div class=\"dotshield-chevron\">&#x25b6;<\/div>\n                  <\/div>\n                  <div class=\"dotshield-module-body\">\n                    <p> Using the same depth and motion logic that powers DotShield\u2019s liveness engine, the forensic pipeline\n            checks faces, hands and posture for signs of replay, static masks or anatomical anomalies that arise\n            in synthetic portraits. <\/p>\n                    <ul>\n                      <li>Analyses micro-motion, depth cues and parallax around the subject.<\/li>\n                      <li>Evaluates hand and finger geometry, jewellery behaviour and fabric stretch.<\/li>\n                      <li>Optionally correlates with prior trusted DotShield sessions for identity continuity.<\/li>\n                    <\/ul>\n                  <\/div>\n                <\/article><!-- Module 6 -->\n                <article class=\"dotshield-module\">\n                  <div class=\"dotshield-module-header\">\n                    <div class=\"dotshield-module-title\"><span><\/span>\n                      <h3>6. Prompt Reconstruction Engine (PRE)<\/h3>\n                    <\/div>\n                    <div class=\"score\">Weight: 15\u201320%<\/div>\n                    <div class=\"dotshield-chevron\">&#x25b6;<\/div>\n                  <\/div>\n                  <div class=\"dotshield-module-body\">\n                    <p> DotShield\u2019s Prompt Reconstruction Engine is a new class of forensic tool. It reverse-engineers\n            \u201cPrompt DNA\u201d \u2014 the latent blueprint used by a generator to create a synthetic scene \u2014 without needing\n            the original text. <\/p>\n                    <ul>\n                      <li>Extracts semantic tokens (objects, clothing, room layout, style).<\/li>\n                      <li>Detects structured generator schemas (e.g. \u201cmirror_rules\u201d, \u201cpreserve_face\u201d).<\/li>\n                      <li>Links multiple fake images to the same operator or template through Prompt DNA similarity.<\/li>\n                    <\/ul>\n                    <p> Instead of just saying \u201cthis looks fake\u201d, DotShield can say: <em>\u201cThis image matches a lifestyle selfie template with preserved face, iced drink, bedroom aesthetic,\n            and overridden mirror physics.\u201d<\/em>\n                    <\/p>\n                  <\/div>\n                <\/article>\n              <\/div>\n            <\/section><!-- INTERACTIVE SCENARIO SANDBOX -->\n            <section class=\"dotshield-section\">\n              <div class=\"dotshield-section-header\">\n                <div>\n                  <h2>Try a DotShield&#x2122; Forensic Scenario<\/h2>\n                  <p> Choose a scenario below to see how DotShield would respond. This is a simplified view of the scoring\n          and explanation your analysts would receive for each contested image. <\/p>\n                <\/div>\n              <\/div>\n              <div class=\"dotshield-sandbox\">\n                <div>\n                  <h3>1. Select a scenario<\/h3>\n                  <label>\n                    <input type=\"radio\" name=\"dotshield-scenario\" value=\"kyc\" checked=\"\" __gchrome_uniqueid=\"23\"> KYC selfie for remote account opening \n                  <\/label>\n                  <label>\n                    <input type=\"radio\" name=\"dotshield-scenario\" value=\"romance\" __gchrome_uniqueid=\"24\"> Image used in romance \/ social-engineering scam \n                  <\/label>\n                  <label>\n                    <input type=\"radio\" name=\"dotshield-scenario\" value=\"telehealth\" __gchrome_uniqueid=\"25\"> Telehealth session screenshot attached to a claim \n                  <\/label>\n                  <label>\n                    <input type=\"radio\" name=\"dotshield-scenario\" value=\"internal\" __gchrome_uniqueid=\"26\"> Internal corporate investigation into image manipulation \n                  <\/label>\n                  <p style=\"margin-top:0.6rem;font-size:0.78rem;color:#9ca3af;\"> These examples are synthetic and anonymised, but the workflow mirrors the real DotShield pipeline. <\/p>\n                <\/div>\n                <div class=\"dotshield-sandbox-output\" id=\"dotshield-sandbox-output\"><!-- Filled by JS --><\/div>\n              <\/div>\n            <\/section><!-- CTA BAND -->\n            <section class=\"dotshield-cta-band\">\n              <div>\n                <h2 style=\"margin-bottom:0.3rem;\">Bring DotShield&#x2122; to your organisation<\/h2>\n                <p> Run a private pilot, evaluate the depth &amp; liveness engine, or use DotShield Forensics to triage disputed\n        images for your security, fraud or clinical teams. <\/p>\n                <small> DotShield is designed for regulated environments: banking, telehealth, utilities, government and\n        critical infrastructure. <\/small>\n              <\/div>\n              <div class=\"dotshield-cta-band-actions\">\n                <button class=\"dotshield-btn-primary\" onclick=\"dotshieldOpenForm()\"> Request pilot \/ partner access <\/button>\n                <button class=\"dotshield-btn-ghost\" onclick=\"dotshieldScrollTo('dotshield-forensics')\"> Review forensic modules again <\/button>\n              <\/div>\n            <\/section>\n          <\/div><!-- ==============================\n     Modal: Formidable form (ID 5)\n     ============================== -->\n          <div class=\"dotshield-modal-backdrop\" id=\"dotshield-modal\">\n            <div class=\"dotshield-modal-panel\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dotshield-modal-title\">\n              <div class=\"dotshield-modal-header\">\n                <h3 id=\"dotshield-modal-title\">Request DotShield&#x2122; access<\/h3>\n                <button type=\"button\" aria-label=\"Close form\" onclick=\"dotshieldCloseForm()\">\u2715<\/button>\n              <\/div>\n              <div class=\"dotshield-modal-body\" id=\"dotshield-modal-scroll\"><!-- Your Formidable form. WordPress will render this shortcode. --> <div class=\"frm_forms  with_frm_style frm_style_formidable-style\" id=\"frm_form_5_container\" data-token=\"4c60274f62e92dba282ac2935d81c86f\">\n<form enctype=\"multipart\/form-data\" method=\"post\" class=\"frm-show-form \" id=\"form_support-ticket\" data-token=\"4c60274f62e92dba282ac2935d81c86f\">\n<div class=\"frm_form_fields \">\n<fieldset>\n<legend class=\"frm_screen_reader\">Support\/Info. Request<\/legend>\r\n<h3 class=\"frm_form_title\">Support\/Info. Request<\/h3>\r\n<div class=\"frm_fields_container\">\n<input type=\"hidden\" name=\"frm_action\" value=\"create\" \/>\n<input type=\"hidden\" name=\"form_id\" value=\"5\" \/>\n<input type=\"hidden\" name=\"frm_hide_fields_5\" id=\"frm_hide_fields_5\" value=\"\" \/>\n<input type=\"hidden\" name=\"form_key\" value=\"support-ticket\" \/>\n<input type=\"hidden\" name=\"item_meta[0]\" value=\"\" \/>\n<input type=\"hidden\" id=\"frm_submit_entry_5\" name=\"frm_submit_entry_5\" value=\"09061d7f0f\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/gabeyinfo\/index.php\/wp-json\/wp\/v2\/pages\/4774\" \/><div id=\"frm_field_39_container\" class=\"frm_form_field form-field  frm_required_field frm_top_container frm_first frm_half\">\r\n    <label for=\"field_22vy3\" id=\"field_22vy3_label\" class=\"frm_primary_label\">Name\r\n        <span class=\"frm_required\">*<\/span>\r\n    <\/label>\r\n    <input type=\"text\" id=\"field_22vy3\" name=\"item_meta[39]\" value=\"\"  data-reqmsg=\"Name cannot be blank.\" aria-required=\"true\" data-invmsg=\"Text is invalid\" aria-invalid=\"false\"   aria-describedby=\"frm_desc_field_22vy3\"\/>\r\n    <div class=\"frm_description\" id=\"frm_desc_field_22vy3\">First<\/div>\r\n    \r\n<\/div>\n<div id=\"frm_field_40_container\" class=\"frm_form_field form-field  frm_required_field frm_hidden_container frm_half\">\r\n    <label for=\"field_qpk64\" id=\"field_qpk64_label\" class=\"frm_primary_label\">Last Name\r\n        <span class=\"frm_required\">*<\/span>\r\n    <\/label>\r\n    <input type=\"text\" id=\"field_qpk64\" name=\"item_meta[40]\" value=\"\"  data-reqmsg=\"Last Name cannot be blank.\" aria-required=\"true\" data-invmsg=\"Text is invalid\" aria-invalid=\"false\"   aria-describedby=\"frm_desc_field_qpk64\"\/>\r\n    <div class=\"frm_description\" id=\"frm_desc_field_qpk64\">Last<\/div>\r\n    \r\n<\/div>\n<div id=\"frm_field_47_container\" class=\"frm_form_field form-field  frm_required_field frm_top_container\">\r\n\t<label for=\"field_yujwt\" id=\"field_yujwt_label\" class=\"frm_primary_label\">Business Name:\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\">*<\/span>\r\n\t<\/label>\r\n\t<input type=\"text\" id=\"field_yujwt\" name=\"item_meta[47]\" value=\"\"  data-reqmsg=\"Business Name: cannot be blank.\" aria-required=\"true\" data-invmsg=\"Business Name: is invalid\" aria-invalid=\"false\"  \/>\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_41_container\" class=\"frm_form_field form-field  frm_required_field frm_top_container\">\r\n    <label for=\"field_c9twz\" id=\"field_c9twz_label\" class=\"frm_primary_label\">Email\r\n        <span class=\"frm_required\">*<\/span>\r\n    <\/label>\r\n    <input type=\"email\" id=\"field_c9twz\" name=\"item_meta[41]\" value=\"\"  placeholder=\"Please provide the business email address.\" data-reqmsg=\"Email cannot be blank.\" aria-required=\"true\" data-invmsg=\"Email is invalid\" aria-invalid=\"false\"  \/>\r\n    \r\n    \r\n<\/div>\n<div id=\"frm_field_42_container\" class=\"frm_form_field form-field  frm_top_container vertical_radio\">\r\n    <div id=\"field_h8p0z_label\" class=\"frm_primary_label\">What can we help you with today?\r\n        <span class=\"frm_required\"><\/span>\r\n    <\/div>\r\n    <div class=\"frm_opt_container\" role=\"radiogroup\">\t\t<div class=\"frm_radio\" id=\"frm_radio_42-0\">\t\t\t<label  for=\"field_h8p0z-0\">\n\t\t\t\t\t<input type=\"radio\" name=\"item_meta[42]\" id=\"field_h8p0z-0\" value=\"General question\"\n\t\t data-invmsg=\"What can we help you with today? is invalid\"   \/> General question<\/label><\/div>\n\t\t<div class=\"frm_radio\" id=\"frm_radio_42-5\">\t\t\t<label  for=\"field_h8p0z-5\">\n\t\t\t\t\t<input type=\"radio\" name=\"item_meta[42]\" id=\"field_h8p0z-5\" value=\"The DotShield\u2122 Series of products\"\n\t\t data-invmsg=\"What can we help you with today? is invalid\"   \/> The DotShield\u2122 Series of products<\/label><\/div>\n\t\t<div class=\"frm_radio\" id=\"frm_radio_42-7\">\t\t\t<label  for=\"field_h8p0z-7\">\n\t\t\t\t\t<input type=\"radio\" name=\"item_meta[42]\" id=\"field_h8p0z-7\" value=\"CCMM\"\n\t\t data-invmsg=\"What can we help you with today? is invalid\"   \/> CCMM<\/label><\/div>\n\t\t<div class=\"frm_radio\" id=\"frm_radio_42-1\">\t\t\t<label  for=\"field_h8p0z-1\">\n\t\t\t\t\t<input type=\"radio\" name=\"item_meta[42]\" id=\"field_h8p0z-1\" value=\"Feature request\"\n\t\t data-invmsg=\"What can we help you with today? is invalid\"   \/> Feature request<\/label><\/div>\n\t\t<div class=\"frm_radio\" id=\"frm_radio_42-2\">\t\t\t<label  for=\"field_h8p0z-2\">\n\t\t\t\t\t<input type=\"radio\" name=\"item_meta[42]\" id=\"field_h8p0z-2\" value=\"Bug report\"\n\t\t data-invmsg=\"What can we help you with today? is invalid\"   \/> Bug report<\/label><\/div>\n\t\t<div class=\"frm_radio\" id=\"frm_radio_42-3\">\t\t\t<label  for=\"field_h8p0z-3\">\n\t\t\t\t\t<input type=\"radio\" name=\"item_meta[42]\" id=\"field_h8p0z-3\" value=\"My account\"\n\t\t data-invmsg=\"What can we help you with today? is invalid\"   \/> My account<\/label><\/div>\n\t\t<div class=\"frm_radio\" id=\"frm_radio_42-4\">\t\t\t<label  for=\"field_h8p0z-4\">\n\t\t\t\t\t<input type=\"radio\" name=\"item_meta[42]\" id=\"field_h8p0z-4\" value=\"Other\"\n\t\t data-invmsg=\"What can we help you with today? is invalid\"   \/> Other<\/label><\/div>\n<\/div>\r\n    \r\n    \r\n<\/div>\n<div id=\"frm_field_91_container\" class=\"frm_form_field  frm_html_container form-field\">\n<style>\n  .nmq-vertical-panel {\n    width: 180px;              \/* change to 160px, 180px, 200px if needed *\/\n    max-width: 100%;\n    height: 360px;             \/* visible panel height *\/\n    overflow-y: auto;\n    overflow-x: hidden;\n    box-sizing: border-box;\n    padding: 8px;\n    border: 1px solid rgba(103, 247, 255, 0.18);\n    border-radius: 10px;\n    background:\n      radial-gradient(circle at top left, rgba(103,247,255,0.06), transparent 30%),\n      radial-gradient(circle at bottom right, rgba(179,136,255,0.05), transparent 30%),\n      linear-gradient(180deg, #06101f 0%, #09152b 100%);\n    box-shadow: 0 0 14px rgba(103,247,255,0.08);\n    font-family: Arial, Helvetica, sans-serif;\n  }<\/p>\n<p>  .nmq-vertical-panel * {\n    box-sizing: border-box;\n  }<\/p>\n<p>  .nmq-link-card {\n    display: block;\n    text-decoration: none;\n    padding: 8px 8px 10px 8px;\n    margin-bottom: 8px;\n    border-radius: 8px;\n    border: 1px solid rgba(103, 247, 255, 0.10);\n    background: rgba(8, 18, 36, 0.72);\n    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;\n  }<\/p>\n<p>  .nmq-link-card:hover {\n    border-color: rgba(103, 247, 255, 0.28);\n    box-shadow: 0 0 12px rgba(103,247,255,0.10);\n    transform: translateY(-1px);\n  }<\/p>\n<p>  .nmq-label {\n    display: block;\n    margin-bottom: 4px;\n    font-size: 10px;\n    line-height: 1.2;\n    font-weight: 700;\n    letter-spacing: 0.8px;\n    text-transform: uppercase;\n    color: #89ffb7;\n  }<\/p>\n<p>  .nmq-title {\n    display: block;\n    margin-bottom: 6px;\n    font-size: 12px;\n    line-height: 1.25;\n    font-weight: 700;\n    color: #7cf3ff;\n  }<\/p>\n<p>  .nmq-desc {\n    display: block;\n    margin-bottom: 6px;\n    font-size: 10px;\n    line-height: 1.35;\n    color: #c7d9e6;\n  }<\/p>\n<p>  .nmq-url {\n    display: block;\n    font-size: 10px;\n    line-height: 1.25;\n    color: #b79cff;\n    word-break: break-word;\n  }<\/p>\n<p>  \/* slim neon scrollbar *\/\n  .nmq-vertical-panel::-webkit-scrollbar {\n    width: 8px;\n  }<\/p>\n<p>  .nmq-vertical-panel::-webkit-scrollbar-track {\n    background: rgba(255,255,255,0.04);\n    border-radius: 8px;\n  }<\/p>\n<p>  .nmq-vertical-panel::-webkit-scrollbar-thumb {\n    background: linear-gradient(180deg, #67f7ff, #8f7dff);\n    border-radius: 8px;\n  }<\/p>\n<p>  .nmq-vertical-panel {\n    scrollbar-width: thin;\n    scrollbar-color: #67f7ff rgba(255,255,255,0.05);\n  }\n<\/style>\n<div class=\"nmq-vertical-panel\">\n<p>  <a class=\"nmq-link-card\" href=\"https:\/\/nomateq.com.au\/\" target=\"_blank\" rel=\"noopener\"><br \/>\n    <span class=\"nmq-label\">NOMATEQ<\/span><br \/>\n    <span class=\"nmq-title\">NOMATEQ Platform<\/span><br \/>\n    <span class=\"nmq-desc\"><br \/>\n      Compliance, policy intelligence, digital trust, and data-protection solutions.<br \/>\n    <\/span><br \/>\n    <span class=\"nmq-url\">nomateq.com.au<\/span><br \/>\n  <\/a><\/p>\n<p>  <a class=\"nmq-link-card\" href=\"https:\/\/www.gabey.com.au\/\" target=\"_blank\" rel=\"noopener\"><br \/>\n    <span class=\"nmq-label\">GABEY<\/span><br \/>\n    <span class=\"nmq-title\">GABEY Consulting<\/span><br \/>\n    <span class=\"nmq-desc\"><br \/>\n      Cybersecurity advisory, managed security, technical services, and enterprise protection.<br \/>\n    <\/span><br \/>\n    <span class=\"nmq-url\">www.gabey.com.au<\/span><br \/>\n  <\/a><\/p>\n<p>  <a class=\"nmq-link-card\" href=\"https:\/\/gabey.com.au\/gabeyinfo\/\" target=\"_blank\" rel=\"noopener\"><br \/>\n    <span class=\"nmq-label\">GABEY INFO<\/span><br \/>\n    <span class=\"nmq-title\">Insights & Articles<\/span><br \/>\n    <span class=\"nmq-desc\"><br \/>\n      Product updates, articles, security insights, and GABEY technology commentary.<br \/>\n    <\/span><br \/>\n    <span class=\"nmq-url\">gabey.com.au\/gabeyinfo<\/span><br \/>\n  <\/a><\/p>\n<\/div>\n<\/div>\n<div id=\"frm_field_43_container\" class=\"frm_form_field form-field  frm_top_container\">\r\n\t<label for=\"field_yjp5\" id=\"field_yjp5_label\" class=\"frm_primary_label\">If other\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\"><\/span>\r\n\t<\/label>\r\n\t<input type=\"text\" id=\"field_yjp5\" name=\"item_meta[43]\" value=\"\"  data-invmsg=\"If other is invalid\" aria-invalid=\"false\"  \/>\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_45_container\" class=\"frm_form_field form-field  frm_top_container\">\r\n    <label for=\"field_69c30\" id=\"field_69c30_label\" class=\"frm_primary_label\">Issues \/ Message\r\n        <span class=\"frm_required\"><\/span>\r\n    <\/label>\r\n    <textarea name=\"item_meta[45]\" id=\"field_69c30\" rows=\"5\"  data-invmsg=\"Issues \/ Message is invalid\" aria-invalid=\"false\"  ><\/textarea>\r\n    \r\n    \r\n<\/div>\n<div id=\"frm_field_90_container\" class=\"frm_form_field form-field  frm_top_container\">\n\t<label for=\"field_2gigo\" id=\"field_2gigo_label\" class=\"frm_primary_label\">Website\/URL\n\t\t<span class=\"frm_required\" aria-hidden=\"true\"><\/span>\n\t<\/label>\n\t<input type=\"url\" id=\"field_2gigo\" name=\"item_meta[90]\" value=\"\"  data-invmsg=\"Website\/URL is invalid\" aria-invalid=\"false\"  \/>\n\t\n\t\n<\/div>\n<div id=\"frm_field_46_container\" class=\"frm_form_field form-field \">\r\n\t<div class=\"frm_submit\">\r\n\r\n<button class=\"frm_button_submit\" type=\"submit\"  >Submit<\/button>\r\n\r\n<\/div>\r\n<\/div>\n\t<input type=\"hidden\" name=\"item_key\" value=\"\" \/>\n\t\t\t<div id=\"frm_field_99_container\">\n\t\t\t<label for=\"field_lhqfl\" >\n\t\t\t\tIf you are human, leave this field blank.\t\t\t<\/label>\n\t\t\t<input  id=\"field_lhqfl\" type=\"text\" class=\"frm_form_field form-field frm_verify\" name=\"item_meta[99]\" value=\"\"  \/>\n\t\t<\/div>\n\t\t<input name=\"frm_state\" type=\"hidden\" value=\"zwn6nsq8sXU63y4WgFd4DysEp1kLB0FNDXlguuyItx8=\" \/><\/div>\n<\/fieldset>\n<\/div>\n\n<\/form>\n<\/div>\n <\/div>\n              <div class=\"dotshield-modal-footer\">\n                <div class=\"dotshield-scroll-buttons\">\n                  <button type=\"button\" onclick=\"dotshieldScroll(-180)\">\u25b2 Scroll up<\/button>\n                  <button type=\"button\" onclick=\"dotshieldScroll(180)\">\u25bc Scroll down<\/button>\n                <\/div>\n                <small>Use the scroll buttons or swipe to move down to the submit button.<\/small>\n              <\/div>\n            <\/div>\n          <\/div>\n          <script> \/\/ Perspective switcher\n  (function() {\n    const buttons = document.querySelectorAll('.dotshield-toggle-pill');\n    const textEl = document.getElementById('dotshield-perspective-text');\n    const copy = {\n      user: \"DotShield&#x2122; hides biometric and background signals during calls while keeping you fully visible to the humans on the other side. It quietly disrupts face recognition, emotion mining, and covert model training \u2014 without forcing you to switch platforms.\",\n      enterprise: \"For security and fraud teams, DotShield&#x2122; acts as a safety layer around collaboration tools. It enforces policy-aware video privacy, adds live watermarks, and provides a forensic workbench for analysing suspicious images, KYC selfies and session screenshots.\",\n      regulator: \"For regulators and auditors, DotShield&#x2122; provides explainable forensics, not just scores. Each assessment includes module-level evidence, camera signature checks and Prompt DNA analysis \u2014 supporting investigations, expert testimony and compliance review.\"\n    };\n    buttons.forEach(btn => {\n      btn.addEventListener('click', () => {\n        buttons.forEach(b => b.classList.remove('dotshield-active'));\n        btn.classList.add('dotshield-active');\n        const role = btn.getAttribute('data-role') || 'user';\n        textEl.textContent = copy[role];\n      });\n    });\n  })();\n  \/\/ Accordion modules\n  (function() {\n    const modules = document.querySelectorAll('.dotshield-module');\n    modules.forEach(mod => {\n      const header = mod.querySelector('.dotshield-module-header');\n      header.addEventListener('click', () => {\n        mod.classList.toggle('open');\n      });\n    });\n  })();\n  \/\/ Scenario sandbox logic\n  (function() {\n    const out = document.getElementById('dotshield-sandbox-output');\n    const radios = document.querySelectorAll('input[name=\"dotshield-scenario\"]');\n    const scenarios = {\n      kyc: {\n        title: \"Remote KYC selfie with potential face-swap\",\n        text: \"DotShield assigns an 82% AI\/manipulation probability. PRNU and EXIF do not match any registered device, the mirror physics are inconsistent, and Prompt DNA indicates a template-based selfie generator with preserved face and synthetic background.\",\n        json: {\n          final_ai_probability: 0.82,\n          risk_level: \"HIGH\",\n          top_indicators: [\n            \"Missing camera PRNU \/ spoofed EXIF\",\n            \"Synthetic noise field and upscaled details\",\n            \"Prompt DNA match: selfie template with preserved face + lifestyle room\"\n          ]\n        }\n      },\n      romance: {\n        title: \"Image used in romance \/ social-engineering scam\",\n        text: \"DotShield flags this as a 91% likely synthetic persona. Multiple images share the same Prompt DNA fingerprint (iced drink, cap, headphones, minimal bedroom), suggesting a generator-driven profile rather than a real user.\",\n        json: {\n          final_ai_probability: 0.91,\n          risk_level: \"CRITICAL\",\n          top_indicators: [\n            \"Prompt DNA reused across many profiles\",\n            \"Over-regular background and uniform textures\",\n            \"Non-mirrored logos in mirror-style selfies\"\n          ]\n        }\n      },\n      telehealth: {\n        title: \"Telehealth screenshot attached to a claim\",\n        text: \"DotShield reports a 64% likelihood of manipulation and recommends manual review. The camera signature is valid, but selected regions show AI inpainting around the subject, and overlay text does not align with known telehealth tooling.\",\n        json: {\n          final_ai_probability: 0.64,\n          risk_level: \"MEDIUM\",\n          top_indicators: [\n            \"Partial synthetic inpainting around subject\",\n            \"Inconsistent overlay fonts and UI elements\",\n            \"Timing mismatch with registered DotShield session hash\"\n          ]\n        }\n      },\n      internal: {\n        title: \"Internal investigation into an edited image\",\n        text: \"DotShield confirms that the base frame is real (camera and PRNU match), but specific regions have been altered with AI. The engine outputs a regional heatmap, highlighting where content was generated or removed.\",\n        json: {\n          final_ai_probability: 0.37,\n          risk_level: \"LOW (localised edits)\",\n          top_indicators: [\n            \"Base PRNU alignment with corporate device\",\n            \"Localised artefacts in two small regions\",\n            \"Prompt DNA suggests targeted object removal, not full-scene generation\"\n          ]\n        }\n      }\n    };\n    function renderScenario(key) {\n      const s = scenarios[key] || scenarios.kyc;\n      out.innerHTML = `\n        <h3 style=\"margin-top:0;\">${s.title}<\/h3>\n        <p>${s.text}<\/p>\n        <p style=\"margin-top:0.35rem;margin-bottom:0.15rem;font-weight:600;\">DotShield forensic JSON (simplified):<\/p>\n        <code>${JSON.stringify(s.json, null, 2)}<\/code>\n      `;\n    }\n    radios.forEach(r => {\n      r.addEventListener('change', () => {\n        if (r.checked) renderScenario(r.value);\n      });\n    });\n    renderScenario('kyc');\n  })();\n  \/\/ Smooth scroll helper\n  function dotshieldScrollTo(id) {\n    const el = document.getElementById(id);\n    if (!el) return;\n    window.scrollTo({\n      top: el.getBoundingClientRect().top + window.scrollY - 80,\n      behavior: 'smooth'\n    });\n  }\n  \/\/ Modal control for Formidable ID 5\n  function dotshieldOpenForm() {\n    const modal = document.getElementById('dotshield-modal');\n    if (modal) {\n      modal.classList.add('active');\n      document.documentElement.style.overflow = 'hidden';\n    }\n  }\n  function dotshieldCloseForm() {\n    const modal = document.getElementById('dotshield-modal');\n    if (modal) {\n      modal.classList.remove('active');\n      document.documentElement.style.overflow = '';\n    }\n  }\n  function dotshieldScroll(delta) {\n    const container = document.getElementById('dotshield-modal-scroll');\n    if (!container) return;\n    container.scrollBy({ top: delta, behavior: 'smooth' });\n  }\n  \/\/ Close modal when clicking backdrop\n  (function() {\n    const modal = document.getElementById('dotshield-modal');\n    if (!modal) return;\n    modal.addEventListener('click', function(e) {\n      if (e.target === modal) {\n        dotshieldCloseForm();\n      }\n    });\n  })(); <\/script>\n        <\/div>\n      <\/div>\n    <\/section>\n    <section class=\"u-clearfix u-container-align-center-xs u-image u-shading u-section-8\" id=\"sec-0fb2\" data-image-width=\"1280\" data-image-height=\"852\" style=\"background-image: linear-gradient(rgba(76, 94, 94, 0.45), rgba(76, 94, 94, 0.45)), url(&quot;https:\/\/gabey.com.au\/gabeyinfo\/wp-content\/uploads\/2025\/11\/7c1564cf41107ae2bfc7c27532e8e9f17021a32641c8e3ef9e5e3e2f315abc3d7bd91b3af390a8672c1f43e4a18a9e51a7bdec79d0c356f87c67e5_1280-1.jpg&quot;);\">\n      <div class=\"u-clearfix u-sheet u-valign-middle-lg u-sheet-1\">\n        <h1 class=\"u-align-center-xs u-custom-font u-font-montserrat u-text u-text-1\">DotShield Forensics&nbsp;<\/h1>\n        <div class=\"fr-view u-clearfix u-rich-text u-text u-text-2\">\n          <h1>The Future of Truth Verification..<\/h1>\n          <p>As generative AI becomes indistinguishable from reality, organisations must defend against synthetic identity threats.<\/p>\n          <p>DotShield Forensics is built for this era \u2014 not as a passive detector, but as an active intelligence system that combines physics, biometrics, signal processing, and semantic AI analysis.<\/p>\n          <p>DotShield does not just detect fakes.<\/p>\n          <p>It explains them.<\/p>\n          <p>It classifies them.<\/p>\n          <p>It traces them.<\/p>\n          <p>It brings truth, integrity, and provability back to the digital world.<\/p>\n        <\/div>\n      <\/div>\n    <\/section>\n    \n    \n    \n  \n","protected":false},"excerpt":{"rendered":"<p>Embrace your freedom DotShield&#x2122; \u00b7 Video Privacy &amp; Deepfake Forensics Protect every frame with DotShield&#x2122; \u2014 from real-time calls to deepfake investigations. DotShield&#x2122; by NOMATEQ starts as a corporate video privacy layer and extends into a forensic engine that can detect AI-generated images, reconstruct prompts, and verify camera signatures \u2014 without breaking your existing workflows. &hellip; <a href=\"https:\/\/gabey.com.au\/gabeyinfo\/index.php\/dotshield\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;DotShield\u2122&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4774","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gabey.com.au\/gabeyinfo\/index.php\/wp-json\/wp\/v2\/pages\/4774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gabey.com.au\/gabeyinfo\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gabey.com.au\/gabeyinfo\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gabey.com.au\/gabeyinfo\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gabey.com.au\/gabeyinfo\/index.php\/wp-json\/wp\/v2\/comments?post=4774"}],"version-history":[{"count":0,"href":"https:\/\/gabey.com.au\/gabeyinfo\/index.php\/wp-json\/wp\/v2\/pages\/4774\/revisions"}],"wp:attachment":[{"href":"https:\/\/gabey.com.au\/gabeyinfo\/index.php\/wp-json\/wp\/v2\/media?parent=4774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}