Skip to main content

Security Architecture

Security Architecture

Comprehensive security architecture for the Bluefly LLM Platform.

Overview

The platform implements defense-in-depth security with multiple layers:

  • Authentication: JWT + OAuth 2.0 with GitLab
  • Authorization: RBAC with granular permissions
  • Encryption: AES-256-GCM at rest, TLS 1.3 in transit
  • Compliance: FedRAMP Moderate, NIST 800-53, HIPAA, GDPR
  • Audit: Complete audit trails with tamper-proof logging
  • Network Security: Zero-trust architecture with mTLS

Security Layers

graph TB A[Edge Security] --> B[Network Security] B --> C[Authentication Layer] C --> D[Authorization Layer] D --> E[Application Security] E --> F[Data Security] F --> G[Audit & Monitoring]

1. Edge Security

Web Application Firewall (WAF)

Features:

  • SQL injection prevention
  • XSS attack mitigation
  • CSRF protection
  • Rate limiting
  • DDoS protection

Configuration:

waf: enabled: true rulesets: - OWASP_CRS_3.3 - custom-llm-rules blockMode: true logAll: true

Content Security Policy (CSP)

Headers:

Content-Security-Policy:
  default-src 'self';
  script-src 'self';
  style-src 'self' 'unsafe-inline';
  img-src 'self' data: https:;
  connect-src 'self';
  font-src 'self';
  object-src 'none';
  media-src 'self';
  frame-src 'none';

Security Headers

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: geolocation=(), microphone=(), camera=()

2. Network Security

Zero-Trust Architecture

Principles:

  • Never trust, always verify
  • Least privilege access
  • Assume breach mindset
  • Verify explicitly

Implementation:

graph LR A[Client] -->|mTLS| B[API Gateway] B -->|JWT Validation| C[Auth Service] C -->|RBAC Check| D[Service Mesh] D -->|Encrypted| E[Microservices]

mTLS (Mutual TLS)

All service-to-service communication uses mTLS:

Certificate Authority:

  • Internal CA for service certificates
  • 90-day certificate rotation
  • Automatic renewal via cert-manager

Example Configuration:

mtls: enabled: true mode: STRICT certificates: ca: /etc/certs/ca.crt cert: /etc/certs/service.crt key: /etc/certs/service.key rotation: autoRenew: true renewBefore: 720h # 30 days

Network Segmentation

Zones:

  1. DMZ: Edge services (gateway, WAF)
  2. Application: Services, APIs
  3. Data: Databases, storage
  4. Management: Admin tools, monitoring

Firewall Rules:

DMZ  Application: Port 443 (HTTPS), 50051 (gRPC)
Application  Data: Port 5432 (PostgreSQL), 6379 (Redis)
Management  All: Port 22 (SSH, admin only)

3. Authentication

See JWT Authentication and OAuth 2.0 for details.

Methods:

  • JWT: Service-to-service
  • OAuth 2.0: User authentication (GitLab)
  • API Keys: External integrations
  • mTLS: Microservice mesh

Token Security:

  • RS256 signing (RSA 2048-bit)
  • 1-hour access token lifetime
  • 30-day refresh token lifetime
  • Automatic key rotation (90 days)
  • Token revocation support

4. Authorization

See RBAC Configuration for complete details.

Role-Based Access Control (RBAC)

Roles:

  • Admin: Full system access
  • Developer: Agent execution, workflow creation
  • User: Read-only access
  • Service: Service account permissions

Permission Model:

permission = resource:action

Examples:
- agent:execute
- workflow:create
- mesh:communicate
- admin:configure

Policy Enforcement

Open Policy Agent (OPA):

package authz default allow = false allow { input.user.roles[_] == "admin" } allow { input.user.permissions[_] == concat(":", [input.resource, input.action]) }

Attribute-Based Access Control (ABAC)

Fine-grained access based on attributes:

{ "user": { "id": "user-123", "roles": ["developer"], "groups": ["llm-platform/ml-team"], "clearance": "confidential" }, "resource": { "type": "model", "classification": "confidential", "owner": "llm-platform/ml-team" }, "action": "deploy", "context": { "time": "2025-01-15T10:00:00Z", "location": "us-west-2" } }

5. Data Security

Encryption at Rest

See Encryption at Rest for details.

Algorithms:

  • Database: AES-256-GCM
  • Files: AES-256-GCM
  • Backups: AES-256-GCM with separate keys

Key Management:

  • Hardware Security Module (HSM) for key storage
  • Key rotation every 90 days
  • Key versioning for decryption of old data

Encryption in Transit

See Encryption in Transit for details.

Protocols:

  • TLS 1.3: All HTTP(S) traffic
  • gRPC with mTLS: Service mesh
  • SSH: Admin access only

Cipher Suites (TLS 1.3):

TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256

Secrets Management

See Secrets Management for details.

Tools:

  • HashiCorp Vault: Centralized secrets storage
  • Kubernetes Secrets: Encrypted at rest
  • Environment Variables: Injected at runtime

Secret Types:

  • API keys
  • Database credentials
  • Encryption keys
  • OAuth client secrets
  • Service account tokens

6. Application Security

Input Validation

Zod Schemas:

import { z } from 'zod'; const ChatCompletionSchema = z.object({ model: z.string().min(1).max(100), messages: z.array(z.object({ role: z.enum(['system', 'user', 'assistant']), content: z.string().min(1).max(10000) })).min(1).max(50), temperature: z.number().min(0).max(2).optional(), max_tokens: z.number().min(1).max(4096).optional() });

Output Encoding

HTML Encoding:

import DOMPurify from 'isomorphic-dompurify'; function sanitizeHTML(dirty: string): string { return DOMPurify.sanitize(dirty, { ALLOWED_TAGS: ['p', 'b', 'i', 'em', 'strong', 'a'], ALLOWED_ATTR: ['href'] }); }

SQL Injection Prevention

Parameterized Queries:

// Safe const result = await db.query( 'SELECT * FROM users WHERE email = $1', [email] ); // Unsafe const result = await db.query( `SELECT * FROM users WHERE email = '${email}'` );

Dependency Security

Automated Scanning:

  • npm audit (daily)
  • Snyk vulnerability scanning
  • Dependabot security updates

Policy:

  • High/Critical vulnerabilities: Fix within 7 days
  • Medium vulnerabilities: Fix within 30 days
  • Low vulnerabilities: Fix in next release

7. Audit & Monitoring

Audit Logging

Events Logged:

  • Authentication attempts (success/failure)
  • Authorization decisions
  • Data access (PII/PHI)
  • Configuration changes
  • Admin operations
  • Security events

Log Format (JSON):

{ "timestamp": "2025-01-15T10:00:00.000Z", "eventType": "authentication", "action": "login_success", "userId": "user-123", "username": "developer@bluefly.io", "sourceIP": "192.168.1.100", "userAgent": "Mozilla/5.0...", "metadata": { "mfa": false, "provider": "gitlab" } }

Tamper-Proof Logging:

  • Hash chain for log integrity
  • Append-only storage
  • Encrypted at rest
  • Retention: 90 days (configurable)

Security Monitoring

Tools:

  • SIEM: Splunk / ELK Stack
  • IDS/IPS: Snort
  • File Integrity: AIDE
  • Vulnerability Scanning: Nessus

Alerts:

  • Failed login attempts (5+ in 5 min)
  • Privilege escalation attempts
  • Unusual API usage patterns
  • Data exfiltration indicators
  • Certificate expiration (30 days)

8. Incident Response

Incident Response Plan

Phases:

  1. Detection: Automated alerts + manual reporting
  2. Analysis: Determine scope and impact
  3. Containment: Isolate affected systems
  4. Eradication: Remove threat
  5. Recovery: Restore services
  6. Post-Incident: Review and improve

Incident Severity:

  • P0 (Critical): Data breach, system down
  • P1 (High): Security vulnerability, degraded service
  • P2 (Medium): Minor security issue
  • P3 (Low): Security improvement

Disaster Recovery

RPO/RTO:

  • RPO (Recovery Point Objective): 1 hour
  • RTO (Recovery Time Objective): 4 hours

Backups:

  • Database: Every 6 hours
  • Files: Daily
  • Configuration: On change
  • Retention: 30 days

9. Compliance

FedRAMP Moderate

See FedRAMP Compliance for details.

Controls: 325 controls from NIST 800-53 Certification: FedRAMP Moderate baseline Audit: Annual assessment

NIST 800-53

See NIST 800-53 Controls for details.

Families Implemented:

  • AC (Access Control)
  • AU (Audit and Accountability)
  • SC (System and Communications Protection)
  • IA (Identification and Authentication)
  • IR (Incident Response)

HIPAA

Applicable Controls:

  • PHI encryption at rest and in transit
  • Access controls (RBAC)
  • Audit logging
  • Data retention policies
  • Breach notification procedures

GDPR

Compliance Features:

  • Data subject rights (access, deletion, portability)
  • Consent management
  • Data processing agreements
  • Privacy by design
  • Breach notification (72 hours)

Security Testing

Penetration Testing

Frequency: Quarterly Scope: Full platform Methods:

  • Automated scanning (OWASP ZAP)
  • Manual testing
  • Social engineering
  • Physical security

Vulnerability Management

Process:

  1. Scan (weekly)
  2. Triage (1 business day)
  3. Remediate (7-30 days based on severity)
  4. Verify fix
  5. Document

Security Metrics

Key Metrics:

  • Mean Time to Detect (MTTD): < 5 minutes
  • Mean Time to Respond (MTTR): < 30 minutes
  • Vulnerability patch time: < 7 days (high/critical)
  • Failed login rate: < 0.1%
  • Audit log retention: 90 days

Next Steps