This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Customization

Things for IT administrators and developers to customize Protegrity Browser Protector on end-user devices.

1 - Auto Suggestion

How the browser protector tries to auto select what data element an element is.

Browser Protector – Suggestions Feature

Overview

The Suggestions feature is a smart, learning component of the Browser Protector extension. Its purpose is to make the extension smarter over time by remembering how users interact with web pages so that protection can be applied automatically, without requiring the user to manually configure every field on every site.

What It Does

When a user interacts with a field on a webpage (such as a form input or data entry field), the extension observes that interaction and records it as a suggestion. The next time the user visits the same page, the extension can recognize that field and automatically apply the correct protection setting — no manual input required.

Think of it like a “learn once, protect always” system.

How It Works

When a user interacts with a field on a webpage, the extension runs through a three-stage matching process to determine whether it recognizes the page and the field, and what protection to apply.

Stage 1 — Custom Attribute Check (Fast Path)

Before doing any URL or field recognition, the extension first checks whether the field on the page has been explicitly tagged by a developer or administrator using a special custom HTML attribute (data-pty-dataelement) .

If this attribute is present on the field, the extension reads its value and immediately looks it up against the list of known, configured data elements configured in the esa policy. If a match is found, protection is applied right away — no further checks needed. This is the fastest and most authoritative path; it skips URL matching and field recognition entirely.

If the attribute is present but the value doesn’t match any configured data element, the extension logs a warning and falls through to the standard matching stages below.

Stage 2 — URL Matching (Page Recognition)

If no custom attribute was found, the extension checks whether it has seen the current page before by comparing the URL against its stored list of previously visited pages.

URL matching is done in levels, from most specific to least specific:

  • Hash-route pages (single-page apps that use #/ in the URL): The extension first tries to match the full URL including the hash path. If the page uses hash-based routing and no match is found at this level, matching stops — hash-route pages are treated as distinct locations and are not compared loosely.
  • Standard pages: The extension compares the protocol (e.g., https), domain, and URL path. Query parameters (e.g., ?search=foo) are intentionally ignored, since these often change between visits but don’t represent a different page.

If no URL match is found, the extension records the unrecognized URL so it can be learned from in the future.

Stage 3 — Field Matching (Element Recognition)

Once a page is recognized, the extension looks at the specific field the user is interacting with and tries to find it among the suggestions stored for that page.

Field matching works in two passes:

Pass 1 — Exact Match

The extension first checks for a definitive, unambiguous identifier:

  • Does the field belong to a table with a recognizable table ID?
  • Does the field have a recognizable column name or description (for table-based layouts)?
  • Does the field have custom HTML attributes that uniquely identify it?

If any of these high-confidence signals match, the field is considered an exact match and the corresponding suggestion is used immediately. When multiple exact matches exist (e.g., the same field was seen on multiple past visits), the one that has been matched most frequently is preferred.

Pass 2 — Confidence Scoring

If no exact match is found, the extension falls back to a weighted scoring system. Importantly, the extension never looks at the content of a field (i.e., what a user has typed or what value is displayed). Instead, it evaluates the context of the field — the structural and descriptive signals that describe where the field lives on the page and what it looks like — and scores each stored suggestion against those signals:

SignalDescription
CSS ClassesDoes the field share the same CSS classes?
HTML AttributesDo the field’s HTML attributes align?
Custom AttributesAre there matching custom attributes?
Surrounding ContextDoes the element before or after this field match?
Parent ContextDoes the containing/parent element match?
Table InformationDoes the table ID or column description match?

Each signal contributes a weighted portion to a total confidence score. Only suggestions that meet a minimum confidence threshold are considered as candidates. The highest-scoring suggestion is selected; if there is a tie, the one that has been successfully matched most often in the past wins.

If no suggestion scores above the threshold, no match is returned and the field is treated as unrecognized.

Storage

All suggestions are stored locally within the browser extension’s own storage. No suggestion data is sent externally. Each suggestion is tied to a specific page and field, and the extension maintains a versioned, structured record of all known suggestions along with how frequently each one has been matched.

Benefits

  • Reduces manual effort — Users don’t need to re-configure protection every time they visit a familiar page.
  • Gets smarter with use — The more the extension is used, the more pages and fields it learns to recognize automatically.
  • Handles complex apps — URL matching understands both traditional multi-page sites and modern single-page applications that use hash-based routing.
  • Supports developer tagging — Developers can pre-tag fields with a custom attribute to guarantee instant, reliable recognition without any learning required.
  • Works silently in the background — Matching and recognition happen automatically as the user browses, with no extra steps required.
  • Stays local — All learned suggestions remain in the user’s browser.