When are custom thresholds worth it for Type matches your brand?
When are custom thresholds warranted?
Setting `approvedFontStacks` is what switches this check on, and it should be a transcription of your brand's real declarations rather than a list of family names. Adjust `webSafeFonts` when your judgement of what is safe differs from the consensus list — a sender whose audience skews to one platform may reasonably widen or narrow it. Raise `minFontSizePx` when your accessibility or design standard sets a higher floor than the auto-upscale trigger, which is common for brands with older audiences.
When should you stay on Standard?
There is no useful unconfigured state for the stacks, so the question is whether to run the check at all rather than whether to override it. Keep `webSafeFonts` at the consensus list unless you have specific evidence to change it, because that list exists precisely to be defensible without knowing your audience. Keep `minFontSizePx` at 13 if your only concern is the auto-upscale behaviour rather than a broader readability policy.
What do you trade away?
An approved-stack list is only as useful as it is narrow: listing every family anyone has used makes the check unable to detect drift, which is its main purpose. Widening `webSafeFonts` weakens the Outlook-defence finding, since a font you have declared safe will no longer be flagged as needing a fallback — and vendor lists drift, so a list widened once tends to stay widened. Raising the size floor generates findings on legitimate small print such as disclaimers and footers, so decide in advance whether those are in scope.
Community Standard vs org Custom
The stacks are entirely yours; the web-safe list is a transcription of vendor-tested consensus, and the size floor is a transcription of observed client behaviour. That split matters for ownership: brand owns the first, and the other two should only be edited with a reason you can point to, because they represent the outside world rather than your preferences. Review the stacks whenever brand typography changes, since a check enforcing last year's typeface fails correct sends and looks like a tooling fault.
Worked override examples
A brand whose email typography is a webfont with an Arial fallback sets `approvedFontStacks` to the exact declaration used in its templates, so an imported block using Helvetica alone fails immediately. A company with an older customer base raises `minFontSizePx` to `16`, treating readability as a brand commitment rather than a client-behaviour workaround. A team gating AI-generated sends keeps both other defaults and relies on the stack list alone, because the failure it is guarding against is a plausible font stack that was never theirs.
How does an agent call it with parameters?
{
"type": "email",
"validations": [
{
"id": "email-typography",
"parameters": {
"approvedFontStacks": [],
"webSafeFonts": [
"Arial",
"Verdana",
"Georgia",
"Times New Roman",
"Courier New",
"Courier",
"Trebuchet MS",
"Tahoma",
"Helvetica"
],
"minFontSizePx": 13
}
}
]
}