Patterns: one rule, four places

Track, Skip, Block and Mask all take a pattern and do four different things with it. One matching rule, and the differences that decide what you see.

Updated

Learn the one matching rule behind Track, Skip, Block and Mask, so you know what a pattern will catch before you add it.

Mask matches a field name, not a URL: the value is covered the moment the pattern is added.

The rule

A pattern is a case-insensitive substring: not a wildcard, not a regular expression. api matches https://api.example.com/v2/orders and https://shop.example.com/api/cart. The whole text is searched and nothing anchors, so to be more specific, type more of it: https://api.example.com/v2/.

A pattern is trimmed and lowercased when you add it, so API, api and api are the same pattern, and its chip shows api.

Track and Skip decide what is recorded, Block decides what is sent, and Mask decides what is shown.

Where you type it Matches against An empty list means Limit
Track the full URL record everything none
Skip the full URL skip nothing none
Block the full URL block nothing 1 000
Mask a field name: header, cookie, form or multipart field, JSON key; in exports also a query or fragment parameter only the built-in secret preset none
URL filter of a header rule the full URL every request none

Block and the URL filter of a header rule also refuse *, ^, | and non-ASCII text (below).

Add and remove a pattern

  1. Click Track, Skip, Block or Mask in the tracker's toolbar. Each button carries the number of patterns in force.
  2. Type the pattern and press Enter. The box clears and stays open, so you can add the next one.
  3. Remove a pattern with the × on its chip. A long chip is cut at the start; hover it for the whole pattern.
  4. Close the popover with Esc, by clicking outside it, or by opening another one.
The tracker toolbar with the Track, Skip, Block and Mask buttons side by side, and the Track popover open below showing its input, its note and one chip
Four buttons, four lists. Each one carries the number of patterns in force.
You type The tracker says
Nothing Type something to match
A pattern already in this list Already in this list
A pattern already in Settings Already applied from options
*, ^ or | in Block * ^ and | have a special meaning in a block rule, so this would match more than what you typed.
Non-ASCII text in Block A block pattern must be ASCII. The browser encodes a URL before matching it, so type the encoded form.
The 1 001st Block pattern Block holds up to 1000 patterns. Remove one to add another.

When a pattern takes effect

  • Track and Skip act on requests from now on. Rows already captured stay until you Clear them.
  • Block acts on requests sent from now on; a request already in the table is not touched.
  • Mask is applied as values are drawn, so it covers rows already captured at once, as well as the next ones.

When Track and Skip disagree

A request is recorded when the Track list is empty or matches it, and no Skip pattern matches. So a URL in both lists is not recorded, and it leaves no row, no counter, nothing to recover. When you are not sure yet, use the filter bar instead: it only hides. More in Track and Skip.

Mask matches a name

Mask never looks at a URL. It covers the value of a field whose name matches, as B•••e, with no way to reveal it. A mask pattern of /api/ covers nothing; authorization, token or the name you see in the detail panel is what it needs. The name is stable and on screen; the value is the secret nobody can type. Everything Mask covers, and the preset it starts with, is in Mask and the secret preset.

Block refuses three characters

A block pattern becomes a rule for the browser's own engine, where *, ^ and | are syntax, so a pattern containing them would match URLs you never described. Block refuses them, and the URL filter of a header rule does too. For a non-ASCII host, type its encoded form: bücher.de is xn--bcher-kva.de. More in Block a request.

The Block popover with star dot doubleclick dot net typed in, a red refusal message below the input, and the list still reading No patterns yet
Refused, and not added: the list below still says "No patterns yet."

This window or every window

Patterns typed in the tracker belong to it and are gone when it closes; moving the tracker between a window and a tab with the header switch keeps them. Patterns in Settings → Global patterns are stored and apply to every tracker:

Settings field Placeholder
Track URLs having e.g. /api/
Skip URLs having e.g. analytics
Block URLs having doubleclick.net
Mask fields named e.g. authorization

Type a pattern and press Enter. Settings marks a pattern it cannot take (empty, already listed, or a Block pattern with *, ^, | or non-ASCII) by turning the box red. A global pattern reaches an open tracker at once and shows there as From options:, without a remove button; the tracker's own patterns are then labelled This window:. Reset to defaults in Settings clears all four global lists.

The Skip popover listing two chips: From options analytics with no remove button, and This window beacon with one
Both lists in one panel. Only the one you typed here has a remove button.

Where patterns do not reach

  • The capture scope comes first. A tab outside Tabs → One tab and the tabs it opens is never recorded, whatever Track says.
  • An imported HAR is shown whole: Track, Skip and Block do not apply to it. Mask does.
  • The Bodies site list is not a pattern list. It takes a domain, such as example.com, which covers every subdomain.

Common mistakes

  • A URL typed into Mask. Mask matches field names; see above.
  • A Track pattern narrower than you meant. With one entry in Track, everything not matching it stops being recorded, including the redirect you were about to follow.
  • Expecting Skip to remove rows. It keeps new requests out. Rows already captured stay until you use Clear.

Not in this version

Regular expressions, wildcards and matching by HTTP method are planned. Pattern sets cannot be named, imported or exported yet; environment profiles, which switch a whole set at once, are planned.