๐Ÿ”’ Encryption in transit

All traffic is served exclusively over HTTPS with TLS 1.2+. HSTS is enforced; HTTP requests are auto-redirected. Modern cipher suites only (no SSLv3 / TLS 1.0 / 1.1).

๐Ÿ—„๏ธ Encryption at rest

Tenant data is stored on Azure SQL with Transparent Data Encryption (AES-256). Backups and disks are encrypted. Secrets and keys are held in Azure Key Vault โ€” never in source code.

๐Ÿ”‘ Password protection

Passwords are never stored in plain text. We use PBKDF2-SHA256 with a 32-byte random salt and 100,000 iterations, verified in constant time to prevent timing attacks.

๐Ÿ‡ช๐Ÿ‡บ EU data residency

Production data is hosted exclusively in European Union Azure regions. No data leaves the EU. No US-only sub-processors are used for storage or processing.

๐Ÿ‘ฅ Tenant isolation

Every customer is a separate tenant. All queries are scoped by TenantId server-side. JWT tokens carry the tenant claim and are signed with a 256-bit secret.

๐Ÿ“‹ Audit & transparency

Subscription, user-role and privacy changes are written to an immutable audit trail. Administrators can export the full log in JSON at any time.

๐Ÿ›ก๏ธ Web hardening

Strict Content-Security-Policy, X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Referrer-Policy and Permissions-Policy are sent on every response.

๐Ÿšง Brute-force protection

Login is rate-limited to 6 attempts per minute per IP; the global API limit is 300 req/min per IP. Setup endpoints are even stricter (2 calls / 10 min).

๐Ÿ“ค Your data, your rights

Export, rectification, restriction or deletion of personal data โ€” fulfilled within GDPR deadlines via a one-click Data Subject Request.

GDPR compliance โ€” at a glance

APower Flex acts as a data processor on behalf of the customer (the controller). A Data Processing Agreement (DPA) under Art. 28 GDPR is available on request and forms part of the contractual terms.

Technical specifications

Transport encryptionTLS 1.2 and TLS 1.3, HSTS preload-ready, automatic HTTP โ†’ HTTPS redirect.
Storage encryptionAzure SQL Transparent Data Encryption (AES-256). Encrypted backups.
Password hashingPBKDF2 / HMAC-SHA256, 100,000 iterations, 32-byte random salt per user, fixed-time verification.
AuthenticationJWT Bearer with 256-bit symmetric key, validated issuer/audience/lifetime, 1-minute clock skew.
Secret managementAzure Key Vault via DefaultAzureCredential. No secrets in source or config files.
Security headersCSP (default-src 'self'), X-Frame-Options DENY, X-Content-Type-Options nosniff, Referrer-Policy strict-origin-when-cross-origin, Permissions-Policy.
Rate limitingLogin: 6/min/IP ยท Setup-init: 2/10min/IP ยท API: 300/min/IP ยท 429 response with JSON error.
Tenant isolationTenantId enforced server-side in every query. Cross-tenant access denied at the data layer.
Hosting regionEuropean Union Azure regions only (e.g., West Europe / North Europe).
BackupsAutomated, encrypted, geo-redundant within the EU. Tested restore procedures.
Logging & auditApplication audit trail for admin / privacy / DSR actions, exportable as JSON.

Sub-processors

We use a minimal set of carefully selected sub-processors. All process data exclusively in the EU or under approved transfer mechanisms.

A full, up-to-date sub-processor list is provided as an annex to the DPA on request.

View the full sub-processor list โ†’  ยท  Read the Data Processing Agreement (DPA) โ†’

Report a security issue

Found a vulnerability? Please contact us privately at security@apowerflex.com. We respond within 2 business days and will keep you informed about remediation. Responsible disclosure is appreciated โ€” please do not publicly disclose before a fix is available.

PGP A PGP key for encrypted reports is available on request.

Try APower Flex with built-in EU compliance

14-day free trial ยท no credit card required ยท cancel anytime.

Start free trial โ†’