Infrastructure and Security Standards
Disclaimer: The information contained herein reflects the infrastructure and security standards in effect at the time of publication. Such standards are subject to change without prior notice in order to comply with evolving legal, regulatory, and security requirements. Accordingly, this documentation may be modified or updated at any time.
Infrastructure
Cloud Architecture
The Forma Cloud service is delivered through a modern, resilient, and fully managed cloud infrastructure built on Amazon Web Services (AWS). The platform is deployed in AWS data centers located within the European Union (Ireland), with optional database mirroring available in Italy when required.
- Our application layer runs on a Kubernetes-based architecture designed for high availability and elastic scalability. Workloads are distributed across multiple nodes that automatically scale up or down in response to real-time demand, ensuring consistent performance even during peak usage. All traffic is routed through AWS Global Accelerator to optimize connectivity and reduce latency for users worldwide.
- The entire environment is secured within an isolated Virtual Private Cloud (VPC), complemented by an AWS Web Application Firewall (WAF) that provides protection from common web threats such as SQL injection, cross-site scripting, and denial-of-service attempts.
- Load balancing mechanisms ensure even distribution of application requests across all active nodes. Two static IPs are exposed.
- Persistent data is stored in an encrypted Aurora MySQL (RDS) cluster in Multi-AZ configuration that provides automatic failover, multi-node read scalability.
- Application files are maintained in a durable and automatically scalable Amazon EFS shared file system, while Redis/Valkey is used as an in-memory datastore for session management and caching.
- The entire infrastructure is provisioned and managed through Terraform, following Infrastructure-as-Code (IaC) principles. This ensures repeatable deployments, strict version control, and a consistent configuration across environments.
- Continuous monitoring, automated alerting, backup procedures, and business continuity measures support the reliability of the service and help maintain guaranteed availability levels.
Physical Security
The Forma Cloud Services relies on AWS who is responsible, in accordance with the AWS Shared Responsibility
Model (available at https://aws.amazon.com/compliance/shared-responsibility-model), for implementing controls for
the physical security of data center facilities, backup media, and other physical systems, providing comprehensive and
state-of-the-art security capabilities (available at https://aws.amazon.com/compliance/data-center/controls)).
Information Protection and Security Standards
Backup
Infrastructure
Backup Policies
- Daily Backup (DailyBackups)
- Automatically runs at 5:00 AM UTC
- Retention: 7 days (1 week)
- Managed by AWS Backup plan
- Automatically runs on Saturdays at 5:00 AM UTC
- Retention: 4 months (120 days)
- Managed by AWS Backup Long-term plan
- Automatically runs on the first Saturday of the month at 5:00 AM UTC
- Retention: 3 years (1095 days)
- Managed by AWS Backup Long-term plan
Backup Status
Access Control
- Backup access limited via specific IAM roles
- MFA required for critical operations
- Service Role: AWSBackupDefaultServiceRole with minimal permissions
- Full audit trail on AWS CloudTrail
Data storage and Localization
Geographic Location
- Primary Location: AWS eu-west-1 (Dublin, Ireland)
- All data and backups remain within the European Union (GDPR compliant)
- No data transfer outside the EU
Redundancy
- Multi-AZ Architecture (3 independent Availability Zones)
- Backups are automatically replicated across multiple AZs
- Storage: AWS EFS and Amazon Aurora with synchronous replication
Backup Vault
- Dedicated vault with automated lifecycle management
- AWS default vault for Aurora snapshots
- Access controlled via IAM roles with the least privilege principle
Data Encryption
Encryption at Rest
- Algorithm: AES-256 via AWS Key Management Service (KMS)
- Encryption enabled by default on all Aurora databases
- Snapshots automatically encrypted with the same key as the source database
Encryption in Transit
- TLS 1.2+ for all application connections
- Database connections forced over SSL/TLS
- Backup transfer managed internally by AWS over an encrypted private network
Monitoring
The infrastructure is equipped with the following service monitoring procedures and mechanisms:
- Server log: All accesses and errors are logged on individual server machines (frontend and database) and the load balancer (aggregated across all machines connected to the service).
- Email pre-alerts when peak thresholds are exceeded (CPU usage, number of DB connections).
- Uptime Robot: Domain monitoring. If the site is unresponsive, the team is notified via email and internal communication channels (Slack).
- Automatic application error notification: Any errors generated by application functionality on the server are notified to the support team.
- Monitoring and multi-channel alert system: The difference between available and utilized resources (CPU and RAM) is continuously monitored. When preset thresholds are exceeded, the system triggers autoscaling and communicates the event via various channels to technical staff.
Disaster Recovery
Data RPO (Recovery Point Objective): 5 minutes
- Database: Aurora maintains continuous incremental backups every 5 minutes for point-in-time recovery
- Maximum database data loss is limited to the last 5 minutes of operation
- Point-in-time restore available with second-level granularity
Filesystem RPO (Recovery Point Objective): 24 hours
- File System: 24 hours (automatic daily
backups)backups via AWS Backup) - Maximum filesystem data loss is limited to the last 24 hours of operation
Data RTO (Recovery Time Objective): 72 hours
- Contractually guaranteed time for complete recovery in a full disaster recovery scenario
- Includes: database restore, instance startup, application integrity check
Vulnerability Assessment and Penetration Testing (VAPT)
Forma Cloud is subject to periodic Vulnerability Assessment and Penetration Testing (VAPT) activities conducted by qualified third-party security firms. These assessments are carried out in accordance with industry-standard methodologies (e.g., OWASP Testing Guide, PTES) and cover both the application layer and the underlying infrastructure.
VAPT Management Process
- Periodic assessments: VAPT activities are performed on a regular basis and upon significant platform changes (major releases, architectural modifications, or new integrations).
- Scope: Assessments cover the full attack surface, including web application interfaces, APIs, authentication flows, session management, and infrastructure-level exposure.
- Findings management: All identified vulnerabilities are classified by severity (Critical, High, Medium, Low, Informational) and tracked through a structured remediation workflow. Critical and High severity findings are prioritized for immediate remediation; Medium and Low findings are scheduled within subsequent release cycles.
- Retesting: After remediation, affected areas are retested to verify that fixes effectively resolve the identified vulnerabilities without introducing regressions.
Application Security Controls
Multiple layers of security controls are implemented at both infrastructure and application level to proactively mitigate common web vulnerabilities and address findings from VAPT assessments.
Web Application Firewall (WAF)
All incoming traffic passes through an AWS Web Application Firewall (WAF) that provides protection against common attack vectors, including:
- SQL injection (SQLi)
- Cross-Site Scripting (XSS)
- Cross-Site Request Forgery (CSRF)
- Denial-of-Service (DoS) attempts
- Malicious bot traffic and request rate abuse
WAF rules are regularly reviewed and updated in response to newly identified threats and VAPT findings.
Content Security Policy (CSP)
A comprehensive Content Security Policy is enforced via HTTP response headers at the Nginx reverse proxy level. The CSP configuration is dynamically generated at container startup based on environment variables managed through the deployment infrastructure (factory), enabling per-tenant customization without code changes.
- Directives enforced:
default-src,script-src,style-src,img-src,font-src,frame-src, andframe-ancestorsare all explicitly configured to restrict resource loading to authorized origins. - Domain whitelisting: Allowed origins include the tenant's own domain (via wildcard), explicitly configured external domains (identity providers, CDN services, embedded content providers such as YouTube and Vimeo), and a curated set of common third-party service domains.
- Frame embedding control: The
frame-ancestorsdirective restricts which domains may embed the application in iframes, preventing clickjacking attacks. Additional domains can be allowed on a per-tenant basis through dedicated configuration variables. - Extensibility: Tenant-specific CSP requirements (e.g., additional trusted domains for SSO integrations or embedded content) are supported through environment-level configuration, applied without redeployment.
- Header size management: An automated optimization pipeline deduplicates, consolidates, and groups CSP domains to ensure compliance with the Nginx maximum header size limit (8 KB). When the combined policy exceeds the limit, directives are automatically split across multiple header entries.
HTTP Security Headers
In addition to CSP, the following security headers are enforced on all responses:
Server Fingerprint Mitigation
Server identification headers are actively suppressed to reduce the information available during reconnaissance:
- Nginx version disclosure is disabled (
server_tokens off) - The
ServerandX-Powered-Byresponse headers are removed - PHP version exposure is disabled (
expose_php = Off)
Sensitive File Protection
The web server is configured to deny access to files and paths that should never be publicly accessible, including:
These rules are enforced at the Nginx level, ensuring that even in case of misconfigurations or accidental file placement, sensitive content is not served to external clients.
Session Security
Session management is hardened through multiple mechanisms:
Brute-Force Protection
The platform includes application-level protection against brute-force login attacks:
- Configurable attempt threshold: Administrators can set the maximum number of allowed login failures before triggering a temporary account lockout.
- Timed lockout: After exceeding the threshold, further login attempts are temporarily blocked. The lockout duration is configurable and the remaining wait time is communicated to the user.
- Audit logging: Failed login attempts are logged with configurable granularity (all failures, only after threshold, or disabled), capturing username, timestamp, attempt count, and source IP address for forensic analysis and compliance reporting.