← Back to almxpp.com

Security & Compliance

Last updated: 16 August 2026 · Written for security reviewers and procurement teams

This page states what is actually implemented and what is not. Where a control is missing, it says so. A vendor questionnaire answered optimistically costs both of us more time than one answered accurately.

1. Architecture

  • Single-tenant application hosted on Azure Container Apps, West Europe, fronted by a managed TLS endpoint.
  • Persistent state on Azure Storage (file share and blob) in the same region.
  • The knowledge base is derived from the standard Microsoft D365 F&O platform source. Customer content enters only through explicit, opt-in upload.
  • Customer-uploaded models are indexed in separate namespaces and are not returned to other accounts.

2. Data protection

ControlStatus
TLS 1.2 minimum, enforced at the storage account and the ingressImplemented
HSTS, Content Security Policy with per-request nonce, COOP, CORP, frame-ancestors noneImplemented
Encryption at rest (platform)Implemented
Account store additionally encrypted with AES-GCMImplemented
Passwords stored as salted hashes; API tokens stored as hashes onlyImplemented
Customer-managed encryption keysNot available

3. Access control

  • Role-based access control with deny by default: an unauthenticated or unknown token is refused, never granted read access.
  • Access to another organisation's indexed repository requires an explicit grant. Ownership is recorded at creation; it is not inferred from whoever calls first.
  • Client administrators can administer their own organisation only. They cannot read other tenants' data and cannot make a repository public.
  • Stale grants — deleted accounts, rotated tokens — can be pruned, supporting periodic access review.
  • Administrative and security-relevant actions are written to an append-only audit log, retained 90 days.

4. Resilience

  • Backups of persistent state, with a written restore runbook.
  • The restore procedure has been executed, not merely documented. Last exercise: full recovery in 548 seconds, with integrity of the account and client-profile stores verified against their expected sizes.
  • Known limitation: the service runs at a maximum of one instance. There is no high-availability pair, and deployments therefore cause a short interruption. Storage is locally redundant, not zone- or geo-redundant. We do not offer a contractual SLA by default.
  • Outside published operating hours the service enters a reduced-power standby; the first request afterwards may take a few minutes.

5. Secure development

  • Automated test suite (1 100+ tests) executed on every change.
  • Dependency vulnerability scanning in the build pipeline; a known vulnerable transitive package fails the build.
  • Software Bill of Materials (CycloneDX) produced at build time and available on request.
  • Secrets are supplied as platform secrets and environment variables, not committed in source.
  • Not in place: independent penetration testing. Automated baseline scanning is performed; no third-party pentest report exists.

6. Vulnerability disclosure

We welcome reports from security researchers. Machine-readable contact details are published at /.well-known/security.txt.

  • Report privately to alim.ben.helal@gmail.com. Please allow 90 days before public disclosure.
  • We acknowledge within 5 business days and give a remediation estimate within 15.
  • Testing must not degrade the service or access other users' data. Do not run volumetric denial of service, do not attempt social engineering, and do not pivot beyond proving impact.
  • Research conducted within these rules will not be pursued legally. We do not currently pay bounties.

7. Certifications — stated plainly

FrameworkPosition
ISO/IEC 27001Not certified. Controls are aligned with the standard; no accredited audit has taken place.
SOC 2No report. No Type I or Type II attestation exists.
GDPRErasure and portability implemented as self-service; processor terms published at /dpa.
Underlying infrastructureMicrosoft Azure holds ISO 27001, SOC 2 and other certifications. These cover the platform, not this application.

If your procurement process requires a certified processor, we are not currently one, and we would rather you learn that here than at the end of an evaluation.

8. Requesting documentation

The following are available on request to prospective and existing customers: the sub-processor list, the SBOM, the backup and restore runbook, the incident response procedure, and a completed security questionnaire. Write to alim@almxpp.com.

ALM XPP MCP · Privacy Policy · Terms of Service · Data Processing Agreement · Service status