Skip to content

⚙️ Artifact-Shield: Configuration Reference

This document provides a comprehensive breakdown of every configuration key available in application.yml and the dynamic database-driven engine.


🛡️ Global Gateway Settings (shield.*)

KeyTypeDefaultDescription
shield.enabledBooleantrueGlobal switch to enable/disable the entire redaction and proxy pipeline.
shield.max-input-lengthInteger32000Maximum number of characters allowed in the content field of a request.
shield.block-critical-riskBooleanfalseIf true, any request with a riskScore of 100 will be blocked entirely. If false, it will be sanitized and forwarded.

🔍 Detector Configuration (shield.detectors.*)

Artifact-Shield uses a hierarchical configuration for its detectors (e.g., shield.detectors.pii.* or shield.detectors.financial.*).

KeyTypeDescription
enabledBooleanWhether this specific detector category (e.g., pii) is active.
weightPerMatchIntegerThe risk weight added to the total score for each match found by this detector.
placeholderTemplateStringThe string used for redaction. Supports {type} as a dynamic replacement for the pattern name.
patternsMapA set of key-value pairs where key is the Pattern Name and value is the Regex.

Example:

yaml
shield:
  detectors:
    credential:
      enabled: true
      weightPerMatch: 35
      placeholderTemplate: "[REDACTED_{type}]"
      patterns:
        AWS_KEY: "AKIA[0-9A-Z]{16}"

📊 Score Thresholds (shield.score-thresholds.*)

Defines how cumulative risk points translate into severity labels.

KeyDefaultLabel
low20LOW
medium50MEDIUM
high75HIGH
Max100CRITICAL

🔐 Enterprise Security (shield.security.*)

KeyDefaultDescription
enabledfalseActivates OAuth2/JWT Resource Server protection for all /v1/shield/* endpoints.
cors-enabledtrueEnables Cross-Origin Resource Sharing for integration with the Admin Dashboard.
jwt-issuer-urinullThe secure URI of your OIDC provider (e.g., Keycloak, Okta).
jwt-jwk-set-urinullThe URL used by the gateway to fetch public keys for JWT verification.

🗄️ Database Tables (Dynamic Config)

While application.yml handles static settings, the following tables in H2/PostgreSQL handle dynamic rules:

1. shield_patterns

ColumnDescription
detector_nameThe category (e.g., pii, financial).
pattern_nameThe label for the match (e.g., EMAIL, SSN).
regexThe raw regular expression string.
risk_weightOverrides the detector-level default weight.
enabledLive switch for this specific rule.

2. shield_downstream_configs

ColumnDescription
aliasA unique name used in the forwardTo API field.
api_urlThe destination LLM endpoint (e.g., https://api.openai.com/v1/...).
auth_tokenThe credential passed to the LLM (Bearer/API Key).
keystore_path(Optional) Local path to a .p12 client certificate for mTLS.
truststore_path(Optional) Local path to a .p12 server certificate for trust verification.

📈 Observability & Logging (shield.logging.*)

KeyDefaultDescription
splunk.enabledfalseEnables real-time HEC logging to Splunk Enterprise.
splunk.urlnullYour Splunk HEC collector endpoint.
splunk.tokennullThe secret token generated by your Splunk admin.

For more help, contact your security engineer or visit the [Artifact-Shield internal wiki].