Skip to main content

EU Fintech Pack

The eu-fintech pack provides a production-ready set of constraints for financial services operating under EU regulation. It covers MiFID II order handling requirements, PSD2 strong customer authentication, GDPR data minimization, and EU AI Act Article 9 obligations.

Apply the pack​

vyb init --pack eu-fintech

Regulatory coverage​

RegulationCoverage
MiFID IIOrder handling, best execution records, audit trail requirements
PSD2Strong customer authentication (SCA), open banking API security
GDPRData minimization, PII logging prohibition, retention annotations
EU AI ActArticle 9 (risk management), Article 10 (data quality), Annex III
SOC 2CC6.1, CC6.7, CC7.1, CC7.2 trust service criteria

What the pack enforces​

Security rules (all at block severity)​

Rule IDNameWhat it catches
sec-001no-evaleval() and Function() constructor
sec-002no-hardcoded-secretsInline API keys, JWT secrets, passwords
sec-003no-md5-sha1Use of MD5 or SHA-1 for cryptography
sec-004no-http-externalHTTP (non-TLS) calls to external services
sec-005require-content-security-policyMissing CSP header in server responses
sec-006no-prototype-pollution__proto__, constructor.prototype assignments

Data rules (block severity)​

Rule IDNameWhat it catches
dat-001no-pii-loggingEmail, phone, IBAN, SSN in console.log
dat-002no-raw-pii-storeStoring PII without encryption annotation
dat-003require-retention-annotationData models without @retention JSDoc tag
dat-004no-client-side-pii-cacheStoring PII in localStorage or sessionStorage

LLM rules (EU AI Act compliance)​

Rule IDNameSeverityWhat it catches
llm-001require-ai-output-schemawarnAI calls without structured output schema
llm-002no-raw-ai-dom-outputblockUnsanitized AI output written to DOM
llm-003require-ai-audit-logblockAI-generated decisions without audit log
llm-004no-autonomous-financial-actionblockAI code paths that execute financial actions without human approval

Dependency rules​

Rule IDNameSeverityWhat it catches
pkg-001no-gpl-packagesblockGPL-licensed dependencies
pkg-002pin-major-versionswarnDependencies with ^ or ~ on major version
pkg-003no-outdated-cryptoblocknode-forge < 1.3.0, elliptic < 6.5.4

Compliance mappings​

The EU Fintech pack maps all block rules to specific regulatory controls. These mappings appear in the Evidence Pack PDF and JSON:

# Example of a pack rule with EU AI Act mapping
- id: llm-003
name: require-ai-audit-log
severity: block
pattern: "(openai|anthropic|claude|gpt).*\\.(create|invoke|run)"
maps-to:
- framework: eu-ai-act
control: Art.9.2 # Risk management system
- framework: eu-ai-act
control: Art.12.1 # Record-keeping obligations
- framework: soc2
control: CC7.2 # System monitoring

Customizing the pack​

After applying the pack, open .vyb/spec.yaml and adjust for your stack:

.vyb/spec.yaml (after vyb init --pack eu-fintech)
# These rules come from the pack. You can override any of them:

categories:
data:
rules:
# Pack default: warn. We upgrade to block for our regulated context:
- id: dat-003
severity: block

# Add our own rule on top of the pack:
- id: dat-010
name: require-iban-mask
description: IBANs displayed in UI must be masked
severity: block
pattern: "IBAN[0-9]{15,34}"
remediation: Mask IBANs to show only the last 4 digits in UI.

Key date reminder​

EU AI Act enforcement begins August 2, 2026. The llm-* rules in this pack address the core Article 9 and Article 12 obligations. Every passing vyb check produces a signed Evidence Pack that can be presented to regulators as proof of technical risk management compliance.


Next: US Healthtech PHI Pack