{
  "version": "1.0.0",
  "lagrum": "2 kap. 10 a § lagen (2005:59) om distansavtal och avtal utanför affärslokaler, i lydelsen enligt Lag (2026:246)",
  "kommentar": "Reglerna är data, inte prosa och inte kod. Varje matchare är ett objekt med selektor/monster/lankgraf. Reglerna prövas per egenskap i stigande prioritet och den första som utlöses avgör omdömet; den avgörande regelns regel_id förs in i postens regler-karta. Ingen regel känner till någon enskild fixtur och ingen regel läser facit.json.",
  "regler": [
    {
      "regel_id": "R-NAR-01",
      "egenskap": "narvaro",
      "utfall": "uppfylld",
      "prioritet": 10,
      "lagrum": "10 a § första stycket första meningen",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "form",
        "monster": "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))"
      }
    },
    {
      "regel_id": "R-NAR-02",
      "egenskap": "narvaro",
      "utfall": "uppfylld",
      "prioritet": 20,
      "lagrum": "10 a § första stycket första meningen",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "a[href]",
        "monster": "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))"
      }
    },
    {
      "regel_id": "R-NAR-90",
      "egenskap": "narvaro",
      "utfall": "brist",
      "prioritet": 90,
      "lagrum": "10 a § första stycket första meningen",
      "matchare": {
        "lankgraf": ["start"],
        "selektor": "html"
      }
    },

    {
      "regel_id": "R-ATK-01",
      "egenskap": "atkomst_utan_login",
      "utfall": "brist",
      "prioritet": 10,
      "lagrum": "10 a § första stycket andra meningen (lättillgänglig i onlinegränssnittet)",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "a[href]",
        "monster": [
          "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))",
          "(logga\\s+in|inloggning|inloggad|kräver\\s+konto|mina\\s+sidor|kundportal)"
        ]
      }
    },
    {
      "regel_id": "R-ATK-02",
      "egenskap": "atkomst_utan_login",
      "utfall": "brist",
      "prioritet": 11,
      "lagrum": "10 a § första stycket andra meningen (lättillgänglig i onlinegränssnittet)",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "a[href]",
        "monster": "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))",
        "attribut": {
          "href": "(mina-sidor|logga-in|inloggning|kundportal)"
        }
      }
    },
    {
      "regel_id": "R-ATK-50",
      "egenskap": "atkomst_utan_login",
      "utfall": "uppfylld",
      "prioritet": 50,
      "lagrum": "10 a § första stycket andra meningen (lättillgänglig i onlinegränssnittet)",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "form",
        "monster": "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))"
      }
    },
    {
      "regel_id": "R-ATK-90",
      "egenskap": "atkomst_utan_login",
      "utfall": "ej_tillamplig",
      "prioritet": 90,
      "lagrum": "10 a § första stycket andra meningen (lättillgänglig i onlinegränssnittet)",
      "matchare": {
        "lankgraf": ["start"],
        "selektor": "html"
      }
    },

    {
      "regel_id": "R-MRK-01",
      "egenskap": "markning",
      "utfall": "brist",
      "prioritet": 10,
      "lagrum": "10 a § första stycket andra meningen (märkt på ett tydligt och lättläst sätt)",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "h1, h2, h3, h4, h5, h6, legend, label, summary, a, button, strong, span, dt",
        "monster": "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))",
        "attribut": {
          "style": "font-size:\\s*(?:[0-9]|1[01])(?:\\.[0-9]+)?px"
        }
      }
    },
    {
      "regel_id": "R-MRK-02",
      "egenskap": "markning",
      "utfall": "brist",
      "prioritet": 11,
      "lagrum": "10 a § första stycket andra meningen (märkt på ett tydligt och lättläst sätt)",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "h1, h2, h3, h4, h5, h6, legend, label, summary, a, button, strong, span, dt",
        "monster": "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))",
        "attribut": {
          "style": "color:\\s*#(?:[c-fC-F][0-9a-fA-F][c-fC-F][0-9a-fA-F][c-fC-F][0-9a-fA-F]|[c-fC-F][c-fC-F][c-fC-F])(?![0-9a-fA-F])"
        }
      }
    },
    {
      "regel_id": "R-MRK-50",
      "egenskap": "markning",
      "utfall": "uppfylld",
      "prioritet": 50,
      "lagrum": "10 a § första stycket andra meningen (märkt på ett tydligt och lättläst sätt)",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "h1, h2, h3, h4, h5, h6, legend, label, summary, a, button, strong, span, dt",
        "monster": "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))"
      }
    },
    {
      "regel_id": "R-MRK-90",
      "egenskap": "markning",
      "utfall": "ej_tillamplig",
      "prioritet": 90,
      "lagrum": "10 a § första stycket andra meningen (märkt på ett tydligt och lättläst sätt)",
      "matchare": {
        "lankgraf": ["start"],
        "selektor": "html"
      }
    },

    {
      "regel_id": "R-FAL-50",
      "egenskap": "faltkrav",
      "utfall": "uppfylld",
      "prioritet": 50,
      "lagrum": "10 a § andra stycket första strecksatsen",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "inom": {
          "selektor": "form",
          "monster": "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))"
        },
        "alla": [
          {
            "selektor": "label, input, textarea, select",
            "monster": "namn"
          },
          {
            "selektor": "label, input, textarea, select",
            "monster": "(order|avtal|beställning|kundnummer|avtalsnummer|prenumeration|abonnemang)"
          },
          {
            "selektor": "label, input, textarea, select, option",
            "monster": "(mottagningsbevis|bekräftelse|e-?post|sms|varaktig)"
          }
        ]
      }
    },
    {
      "regel_id": "R-FAL-60",
      "egenskap": "faltkrav",
      "utfall": "brist",
      "prioritet": 60,
      "lagrum": "10 a § andra stycket första strecksatsen",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "form",
        "monster": "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))"
      }
    },
    {
      "regel_id": "R-FAL-70",
      "egenskap": "faltkrav",
      "utfall": "oavgjord",
      "prioritet": 70,
      "lagrum": "10 a § andra stycket första strecksatsen",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "h1, h2, h3, h4, h5, h6, legend, label, summary, a, button, strong, span, dt",
        "monster": "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))"
      }
    },
    {
      "regel_id": "R-FAL-90",
      "egenskap": "faltkrav",
      "utfall": "ej_tillamplig",
      "prioritet": 90,
      "lagrum": "10 a § andra stycket första strecksatsen",
      "matchare": {
        "lankgraf": ["start"],
        "selektor": "html"
      }
    },

    {
      "regel_id": "R-BEK-01",
      "egenskap": "bekraftelse",
      "utfall": "brist",
      "prioritet": 10,
      "lagrum": "10 a § tredje stycket",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "p, li, small, td, dd, span, strong",
        "monster": "(inget\\s+mottagningsbevis|ingen\\s+bekräftelse\\s+på\\s+mottagandet|mottagningsbevis\\s+skickas\\s+inte|skickar\\s+inte\\s+(?:något|ut\\s+något)\\s+mottagningsbevis)"
      }
    },
    {
      "regel_id": "R-BEK-50",
      "egenskap": "bekraftelse",
      "utfall": "uppfylld",
      "prioritet": 50,
      "lagrum": "10 a § tredje stycket",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "p, li, small, td, dd",
        "monster": ["mottagningsbevis", "(tidpunkt|klockslag|tid\\s+för\\s+mottagandet)"]
      }
    },
    {
      "regel_id": "R-BEK-70",
      "egenskap": "bekraftelse",
      "utfall": "oavgjord",
      "prioritet": 70,
      "lagrum": "10 a § tredje stycket",
      "matchare": {
        "lankgraf": ["start", "villkor", "kassa"],
        "selektor": "h1, h2, h3, h4, h5, h6, legend, label, summary, a, button, strong, span, dt, form",
        "monster": "(ångra\\s+(?:ditt|ert|mitt|din|min)?\\s*(?:köp|avtal|order|beställning|prenumeration|abonnemang)|ångerblankett|ångerformulär|ångerfunktion|utöva\\s+ångerrätten|ånger(?:anmälan|meddelande))"
      }
    },
    {
      "regel_id": "R-BEK-90",
      "egenskap": "bekraftelse",
      "utfall": "ej_tillamplig",
      "prioritet": 90,
      "lagrum": "10 a § tredje stycket",
      "matchare": {
        "lankgraf": ["start"],
        "selektor": "html"
      }
    }
  ]
}
