Vendor signature databases download on the appliance update schedule. See startup.ini UPDATE settings, Cloud / categorisation feeds, and Subscription (expired subscription skips all signature processing).
Core mechanics
Processing order
- If
SUBSCRIPTION_EXPIREDis set, processing is skipped entirely for that connection. - Prior application-signature and request-type tags are cleared.
- Built-in tags may be added:
IPV4 Host,IPV6 Host,Cross Site Request. - Application Signatures List is walked top to bottom. Every enabled rule whose tests pass may add or remove tags — there is no first-match stop.
- Tags from earlier rules in the same pass are visible to later rules via the Application signatures prerequisite field.
- Final tags are copied to
request_typesand logged as application signatures.
Global Enabled quirk
The section global Enabled switch is stored in configuration but request-time matching checks only each rule’s own Enabled flag. Per-rule Enabled off skips that row; global off does not stop the signature loop by itself.Inner filter order (per row)
For each enabled row, filters run in fixed order; any failure skips to the next row:- Application signatures — prerequisite tags (exact /
!match, same engine as Access Profiles). - Method, Protocol — exact; missing header when field set → skip row.
- Mime type — regex on request
Content-Type. - Port range list, post data size gates, File, host/referer regex fields, User Agent, X-Forwarded-For, Request header pattern.
- On match: add Added application signatures and category tags; remove listed Removed application signatures.
Application Categories List
Category definition rows are saved to the local dev XML for UI autocomplete. Runtime category tags come from the category field on Application Signatures List rules, not from the Categories list alone.Application Categories List Enabled off means the category definition is not loaded into the in-memory category list on the next configuration reload. Neither On nor Off applies a category to live traffic by itself — that still requires an Application Signatures List entry whose category field references the same name.
Schema fields
Each Application Signatures List entry field, its internal name, and what it actually tests:
Removals are applied after additions on the same matching entry — an entry that both adds and removes the same signature name ends with it removed.
Where a tested value is absent from the request (for example, no Referer header when a Referer-based field is set), the entry is skipped.
Examples
How to verify
- Check Reports → Modules Status for application signature load/download state.
- Reproduce a request; read Detailed logs column
application_signatures. - Enable Trace Entry on a rule where available; confirm tags in Native PROFILE logs.
- Debug header
X-SafeSquid-Application-Signatureswhen Send Debugging Headers To includes CLIENT — see Debug response headers.

