Skip to content

Plugin Sequencing

When you have multiple plugins — both built-in and custom — the order in which they execute matters. A logging plugin should capture the final request, an auth plugin should validate before anything else runs, and a response transformer should run after the provider returns data.

Plugin sequencing lets you control where your custom plugins execute relative to DeepIntShield’s built-in plugins (telemetry, logging, governance, etc.) and in what order they execute relative to each other.


DeepIntShield organizes plugins into three placement groups that execute in a fixed order:

graph LR
A["Pre-builtin plugins"] --> B["Built-in plugins"]
B --> C["Post-builtin plugins"]
Placement GroupPre-hooks (request)Post-hooks (response)
pre_builtinRuns firstRuns last
builtinRuns secondRuns second
post_builtinRuns thirdRuns first

Within each placement group, plugins are sorted by their order value (lower executes earlier). Plugins with the same order preserve their registration order.

Example: Three custom plugins configured as:

PluginPlacementOrderPre-hook runsPost-hook runs
auth-validatorpre_builtin01st5th (last)
request-enricherpre_builtin12nd4th
Built-in plugins3rd3rd
response-loggerpost_builtin04th2nd
analyticspost_builtin15th (last)1st

  1. Navigate to the Plugins page in the sidebar
  2. Click the Edit Plugin Sequence button (appears when you have at least one custom plugin installed)

Plugin Sequence Editor

  1. Drag custom plugins above or below the Built-in Plugins block:
    • Plugins above the block get pre_builtin placement
    • Plugins below the block get post_builtin placement
  2. The order within each group is determined by position (top = lowest order value)
  3. Click Save Sequence to apply the changes

pre_builtin — run before built-in plugins

Section titled “pre_builtin — run before built-in plugins”

Use this when your plugin needs to:

  • Validate or authenticate requests before any built-in processing
  • Enrich requests with data that built-in plugins should see (e.g., injecting headers or metadata)
  • Short-circuit requests before they reach governance checks or telemetry

post_builtin (default) — run after built-in plugins

Section titled “post_builtin (default) — run after built-in plugins”

Use this when your plugin needs to:

  • Transform responses after all built-in processing is complete
  • Log or analyze the final request/response (after governance, telemetry, etc.)
  • Add custom headers or modify the response before it reaches the client