Two ways to protect a part of the page
Use hide completely for regions with nothing the expert needs: account
details, balances, a profile card. Use keep layout, hide text for a form or
panel where knowing that the controls exist helps the expert understand the
screen, but their labels or contents would identify someone (for example, a
contact list whose buttons are named after people).
class but not arbitrary attributes. Either one protects the element and
everything inside it.
You can also mark just a part of something. In <h2>Welcome, <span class="boom-pii">Maria</span></h2>, the expert reads the heading as “Welcome,
[redacted]”; the same goes for buttons, links and form labels. With
boom-private the part is left out entirely.
Selectors, when you can’t change the markup
If you can’t edit the HTML (a third-party component, a template you don’t own), add CSS selectors in Boom instead: in the widget’s settings, open the In-app expert tab and use the Protected content card. Each selector is either Hide completely or Keep layout, hide text, exactly like the attribute.- Up to 50 selectors, each up to 200 characters.
- Any selector the browser understands:
.account-balance,#profile-card,[data-testid="user-name"],table.users td:nth-child(2). - Boom refuses a selector that would cover the whole page (
body,html,:root,*). To stop the expert on a site, switch it off instead. - If a visitor’s browser can’t parse one of your selectors, that one selector is ignored and the rest still apply.
What is protected automatically
You don’t need to mark these:- Anything typed into a field. Only whether a field is empty or filled is read, and not even that for passwords.
-
Fields for personal data. An input of type
password,emailortel, and any field whoseautocompletenames personal data (name,given-name,family-name,email,tel,street-address,address-line1,postal-code,cc-numberand the othercc-values,bday,one-time-code,current-password,new-password,username,sex), are treated as keep layout, hide text: their labels read[redacted]and the expert never points at them. Fields for a company name or a country are not included. -
Lists and tables. Nothing inside list items, table rows and cells, or
cards marked as
articleis read, except navigation menus and tab lists. -
Hidden content. Anything under
aria-hidden="true". -
Patterns in any text it does read, masked before anything is sent:
123.456.789-09, an SSN
as 123-45-6789). A number written some other way may only be masked as
[number], or not at all if it is short. Patterns are a safety net, not a
substitute for marking a region that shows personal data.