Borehole · Project · free tier
mettle/sendportal
Free reading: not for reliance
f759dc8 · 142 commits · 182 files
Read 2026-10-23

mettle/sendportal: technical due diligence, read from its repository

What Borehole read in mettle/sendportal's code and history at f759dc8: its licence, security advisories, releases, review practice, tests, dependencies and operations. Every finding cites the file and line it rests on. The full report also covers the team and asks the questions the code cannot answer.

DimensionRating
Architecture & Codebase — including AI provenanceadequate
Engineering Process & SDLC Maturitystrong
Product & Engineering Maturitynot assessable
Security & Reliability Postureadequate
Observability & Operationsnot assessable
Fit with the Acquirernot assessable

Architecture & Codebase — including AI provenance

adequate
01.2

The repository begins with most of itself already written

adequate

The first commit carries 19,094 lines — 66% of every line ever added. Whatever happened before that commit happened somewhere this repository cannot show you, so the early history is not available as evidence of how the system was designed.

Evidence
2020-05-25T15:09:56+00:00; +19,094 across 82 files; subject: 'add laravel'

Engineering Process & SDLC Maturity

strong
02.6

Almost no process scaffolding exists in the repository

adequate

Of five ordinary markers — CI workflows, CODEOWNERS, a pull-request template, pre-commit hooks, contribution guidance — 1 is present: CI workflows. Branch protection itself is a GitHub setting rather than a file, so this is a reading of proxies and not of the rules themselves. What it does establish is that the process is not written down anywhere a new engineer would find it.

Evidence
1 of 5 markers present across 182 tracked files

Product & Engineering Maturity

not assessable

Not rated: only 7 of 19 checks could reach a conclusion here; the rest do not apply to this repository or could not read it.

Security & Reliability Posture

adequate
05.2

None of the standard security guard rails are configured

adequate

There is no disclosure policy, no automated dependency updates, no named code owners and no pre-commit configuration. None of these is load-bearing on its own. Their collective absence says that security posture here is whatever the current team happens to remember to do, which is not a posture that survives the team changing.

Evidence
checked 5 kinds of guard rail across 182 tracked files; 0 present
05.65

6 advisories against this project in the last 24 months

adequate

The newest was published on 2026-10-15. A project that publishes advisories is telling its users about its fixes, and the count and pace say how much security work it carries. Whether 6 of them are fixed in the code you ship could not be told from this history: its version is only known to be at least 4.0.0. Answer lives in: the release you run, set against each fixed version.

Evidence
2026-10-15: CVE-2026-111358 (moderate): SendPortal sendportal-core through 4.0.1 contains an authorization bypass vulnerability that allows authenticated workspace members to attach subscribers to oth
2026-07-20: CVE-2026-26483 (moderate): Mettle SendPortal 3.0.1 and earlier contains a stored cross-site scripting (XSS) vulnerability in the template management functionality. The application fails t
2026-07-09: CVE-2026-15191 (low): A flaw has been found in mettle sendportal up to 3.0.1. This vulnerability affects unknown code of the file vendor/mettle/sendportal-core/src/Http/Requests/Camp
2026-07-09: CVE-2026-15192 (moderate): A vulnerability has been found in mettle sendportal up to 3.0.1. This issue affects the function sendgrid/postmark/postal/mailjet of the component APIv1 Webhook
2026-06-01: CVE-2026-10234 (low): A vulnerability was detected in Mettle sendportal up to 3.0.1. This affects an unknown part of the file /webview/ of the component Campaign Handler. The manipul

Observability & Operations

not assessable

Not rated: only 5 of 16 checks could reach a conclusion here; the rest do not apply to this repository or could not read it.

Fit with the Acquirer

not assessable

Not rated: structurally not assessable from a repository.

Read more, or read your own

The full report on mettle/sendportal: every dimension, the questions for the room, and the audit log.

Survey a repository: free on public repositories. Private code is read on your own machine by a collector whose source you can read first.