Skip to main content

Security and Assurance

Material for the people who have to sign off on running Merlon: security reviewers, vendor-risk assessors, and internal audit.

Merlon is deployed by regulated institutions, which means the question is never only "is this software any good" but "can we evidence that we assessed it". These pages are written for the second question.

PageAnswers
Data EgressWhat leaves our network, and what triggers it
Supply ChainHow dependencies, images, and releases are controlled and evidenced
Accepted RisksWhat the project knows it does not do, and why
WhereWhat
SECURITY.mdHow to report a vulnerability, and the response commitments
AuthorizationRole model, segregation of duties, dual control
Regulatory ScopeWhat Merlon does and does not claim to cover
FSA Guideline MappingCoverage against the FSA AML/CFT guidelines
Data RetentionRetention policy enforcement
Container ImagesWhat is published, how to verify it
Release ChecklistWhat a release asserts, and what is not yet evidenced

The short version

If you are assessing Merlon and want the answers without reading further:

  • No outbound connections you did not configure. No telemetry, no analytics, no licence check, no update check. See Data Egress.
  • All data stays in your PostgreSQL database, in your infrastructure. Direct-PII customer attributes are encrypted at rest with keys held outside the database.
  • The container runs as a non-root user and needs no writable filesystem.
  • Published images are immutable, multi-architecture, and carry a build provenance attestation and a CycloneDX SBOM. There is no latest tag.
  • Audit records are append-only at the database privilege level, and the application refuses to start in production if that is not enforced.
  • One active maintainer, disclosed on the artifact. Independent approval cannot exist in a single-maintainer repository, so releases state that they do not assert it — in release-manifest.json, in the image labels, and above the release notes. Merges require a self-review record enforced by a status check rather than an approval nobody can give. See the release checklist and repository governance.

That last point is the one most vendor questionnaires do not have a field for, and it is the one most likely to matter to your assessment.