Skip to content

PoC: optional tag support#1071

Draft
philipp-classen wants to merge 1 commit intomainfrom
tag_support
Draft

PoC: optional tag support#1071
philipp-classen wants to merge 1 commit intomainfrom
tag_support

Conversation

@philipp-classen
Copy link
Member

@philipp-classen philipp-classen commented Feb 19, 2026

Experimental support for a tagging mechanism (new optional field tags with one or multiple, comma-separated entries):

name: Forter
category: utilities
tags: anti-fraud
website_url: https://www.forter.com/
organization: forter
...

Example (it shows the anti-fraud tag):

$ ./cli.js "https://53e1270541f5.cdn4.forter.com/sn/53e1270541f5/sha256-U6%2FIiZ9KZ6wyxNaAGd38U%2FV4vpc2e%2FVZEzF5uyTL03c%3D/script.js"
{
  "url": "https://53e1270541f5.cdn4.forter.com/sn/53e1270541f5/sha256-U6%2FIiZ9KZ6wyxNaAGd38U%2FV4vpc2e%2FVZEzF5uyTL03c%3D/script.js",
  "matches": [
    {
      "pattern": {
        "key": "forter",
        "name": "Forter",
        "category": "utilities",
        "organization": "forter",
        "alias": null,
        "website_url": "https://www.forter.com/",
        "ghostery_id": "3200",
        "domains": [
          "forter.com"
        ],
        "filters": [
          "||cdn4.forter.com/script.js"
        ],
        "tags": [
          "anti-fraud"           // <--------- HERE
        ]
      },
      "category": {
        "key": "utilities",
        "name": "Utilities",
        "color": "#fc9734",
        "description": "Site requests that may be critical to website functionality, such as tag managers and privacy notices."
      },
      "organization": {
        "key": "forter",
        "name": "Forter",
        "description": "Forter is a software as a service (SaaS) company that unifies identity protection, payments optimization and fraud prevention in a single consumer authentication platform. The company's technology applies artificial intelligence and machine learning to pinpoint the identity behind any digital commerce interaction. This ensures that good consumers can complete their transactions, while fraudsters and serial abusers are blocked.",
        "website_url": "https://www.forter.com/",
        "country": "IL",
        "privacy_policy_url": "https://www.forter.com/privacy-security-hub/",
        "privacy_contact": "privacy@forter.com",
        "ghostery_id": "5177"
      }
    }
  ]
}

refs #312

Regarding namespaces (e.g. x::y::z):

  • Since tags are not enforced and by design may be introduced for highly specific use cases, it is expected that specific tags are not useful for everyone. It should be straightforward to detect and filter them out.
  • While we should ideally establish conventions for certain tags (to share the maintenance), the proposal leaves it open to define specific namespaces. For instance, the engine of the Ghostery adblocker will not include them, but only official tags. That removes also burden for reviewing these tags - only the owners of the namespace are then responsible for getting them updated. At the same time, it gives the namespace owner more control over their own tags (avoiding unintended name clashes).
  • But again, we should use namespaces cautiously in that manner, as we want to share the maintenance work.

@@ -1,5 +1,6 @@
name: BioCatch
category: utilities
tags: anti-fraud
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this fully replace the "category" in the future? Assuming that it can be multiple "tag" entries?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically, yes. Though currently I do not see the category going away.

One feature of the tagging is that you can choose to ignore them. Once we mix them, it forces everyone to work with the tags.

But technically, this would have the same information:

name: BioCatch
tags: utilities, anti-fraud

or something like this

name: BioCatch
tags: category::utilities, anti-fraud

I am personally not in favor of dropping the category field. I would expect the tags to become more noisy over time if they are getting adoption; solving specific edge cases, which may be important for some, but are irrelevant for others. In other words, there may be tags listed where there is no shared understanding what they mean.

The category would be something that would stand out in the tag list and not be an equal citizen:

  • category field: enforced, limited, needs a shared understanding
  • tags: more freestyle, not enforced, shared understanding of all tags not needed (vendor specific tags could be allowed like this <namespace>::<tag>)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants