CalcuLegal's architecture is built around a single principle: no one, including the platform manager, must be able to access identifying user data except the legal professional explicitly designated by the user themselves.
This is not an objective stated in policies — it's a technical property of the system. Asymmetric encryption with keys exclusively owned by partner lawyers makes unauthorized access structurally impossible, not just forbidden by rules.
During the completion of the calculator and until the viewing of the estimate report, no identifying data is requested, collected, or stored. The data entered by the user (type of injury, degree of disability, expenses, impact on work) is treated as anonymous input for a mathematical calculation.
The calculation engine operates server-side: proprietary algorithms — including the Balthazar Formula and tabular parameters (Milan Tables, TUN, Art. 139 Insurance Code) — are never exposed to the client browser. The user sends anonymous parameters and receives a structured estimate in response, without any calculation logic being transferable or replicable client-side.
When the user decides to request contact with a partner lawyer and gives explicit consent, identifying data is immediately encrypted using a dual-layer scheme before any writing to the database.
Every partner lawyer generates or receives during onboarding a unique RSA-OAEP 4096-bit asymmetric key pair. The system is designed according to Public Key Infrastructure (PKI) principles:
The lawyer's RSA private key is stored in an encrypted vault accessible exclusively via multi-factor authentication (MFA). The vault is protected by an additional layer of symmetric encryption derived from the lawyer's MFA credentials.
All client-server communications occur exclusively over HTTPS with TLS 1.3. Obsolete protocols (TLS 1.0, TLS 1.1, SSL) are disabled at the server configuration level.
CalcuLegal collects and processes a minimum number of non-identifying metadata exclusively to ensure the proper functioning of the orientation service and compliance with SLAs (Service Level Agreements) with partner firms.
| Metadata | Purpose | Duration |
|---|---|---|
| File ID (anonymous UUID) | Internal tracking of the file flow | Until file closure |
| Assignment timestamp | 24h SLA calculation — automatic reassignment trigger | 90 days |
| File status (assigned/replied/closed) | Operational monitoring and reporting for partner firms | 90 days |
| Recipient firm identifier | Routing the file to the correct vault | Until file closure |
A data breach is the unauthorized compromise of the database or platform servers. CalcuLegal's architecture is designed so that a data breach does not produce significant harm to users, regardless of the extent of the compromise.
| Attack scenario | What the attacker gets | User impact |
|---|---|---|
| Database access | Encrypted AES-GCM blobs + encrypted RSA blobs + anonymous metadata | Null — data is unusable without the RSA private key |
| Application server access | Source code, RSA public keys, system logs | Null — public keys do not allow decryption |
| Credential compromise (no MFA) | Panel access, but not to the vault | Null — the vault remains locked without the second factor |
| Full compromise (credentials + MFA) of a lawyer | Access to the files of THAT single lawyer | Limited to the files of the compromised professional |
| Physical access to servers | Encrypted blobs on disk — private keys never persisted | Null — private keys are never written to disk |
Art. 25 of EU Regulation 2016/679 requires the data controller to implement appropriate technical and organizational measures to implement data protection principles by design and by default.
| Component | Adopted Standard | Status |
|---|---|---|
| Data at rest encryption | AES-GCM 256 bit | ✓ Active |
| Symmetric key encryption | RSA-OAEP 4096 bit | ✓ Active |
| Lawyer authentication | Credentials + mandatory MFA (TOTP) | ✓ Active |
| Private key persistence | In-memory only — zero disk persistence | ✓ Active |
| Transport protocol | HTTPS + TLS 1.3 — HSTS 12 months | ✓ Active |
| Manager access to data | Structurally impossible — zero-knowledge | ✓ Structural |
| Simulation data collection | Zero identifying data | ✓ Structural |
| Transmission without consent | Impossible — consent is technical trigger | ✓ Structural |
| Third-party profiling cookies | Absent — zero external tracking | ✓ Compliant |
| External fonts and resources | Self-hosted — no calls to external CDNs | ✓ Compliant |
For information: info@calculegal.it — Privacy Policy — Deontological compliance