Security

Security at MantelMarketing — disclosure done right.

We treat security research as a partnership. This page is the public version of our disclosure policy — what to send, where to send it, what we promise back, and the safe harbor we extend to good-faith researchers. If anything is unclear, write to security@mantelmarketing.com and a real person will reply.

Effective

01

Reporting a vulnerability

Email security@mantelmarketing.com with the details of what you found. A complete report makes triage faster and cuts down on the back-and-forth — please include:

  • A description — what the vulnerability is and why it matters.
  • Steps to reproduce — the minimal recipe a developer can run to see the issue.
  • Impact assessment — what an attacker could do if they exploited this.
  • Optional: a proof of concept — please don’t run destructive PoCs against live customer data.

You can encrypt your report with our PGP key — fingerprint and key body live at /.well-known/security.txt and /.well-known/pgp-key.txt. If email isn’t an option, file a private security advisory through GitHub on our public repository.

02

What to expect from us

We commit to the following timeline on every report we receive under this policy:

  • Acknowledgement within 1 business day.
  • Triage within 3 business days, with a severity classification you can challenge.
  • Status updates at minimum every 7 days until the issue is resolved.
  • Public credit — opt-in. We’ll list you in our hall of fame below with whatever name and link you prefer.

Fix-time service levels

Critical

Patched within 24 hours

Remote code execution, authentication bypass, customer data exposure across tenants.

High

Patched within 7 days

Privilege escalation, single-tenant data leak, missing webhook signature verification.

Medium

Patched within 30 days

Stored XSS in admin-only surfaces, CSRF on a non-billing route, weak rate limit on a sensitive endpoint.

Low

Patched in the next sprint

Reflected self-XSS with friction, verbose error messages, missing security header without exploit.

03

Safe harbor

Good-faith research is welcome. We will not pursue legal action against researchers who:

  • Make a reasonable effort to avoid privacy violations and degradation of service.
  • Only access accounts they own or have explicit permission to test.
  • Do not intentionally exploit vulnerabilities beyond what’s needed to demonstrate the issue.
  • Give us a reasonable window to remediate before public disclosure — 90 days is the default.

We consider research conducted under this policy authorised under the US Computer Fraud and Abuse Act and equivalent statutes — and we’ll say so publicly if a third party suggests otherwise.

04

Out of scope

The categories below are excluded — either because they aren’t security issues, because they require attacking someone other than us, or because they’re already monitored:

  • Social engineering of MantelMarketing employees or contractors.
  • Physical attacks on our offices or our staff.
  • Denial of service — volumetric, NTP amplification, or anything that aims to take the site down rather than test a flaw.
  • Brute-force attacks on rate-limited endpoints.
  • Automated scanner output without manual verification.
  • Self-XSS that requires the victim to paste malicious code into their own browser.
  • Missing security headers without a demonstrated exploit path.
05

Coordinated disclosure

We follow a 90-day default disclosure window. Where a fix requires coordination with a vendor, customer, or upstream library, we may extend the window by mutual agreement. We’d rather extend a deadline than ship a half-cooked patch.

When the fix is live, we’ll publish a short post in the changelog describing what changed, credit the reporter (with permission), and reference any CVE we filed. If the issue affected customer data, we email affected customers directly per our breach-notification commitment in the privacy policy.

06

Bug bounty

We don’t currently run a paid bug bounty program. Notable reports receive public acknowledgement and a thank-you note. We will revisit this policy if report volume warrants the operational overhead of a formal program — and we’ll announce it here first.

07

Hall of fame

Researchers who’ve helped us improve will be listed here, with their permission. No reports have been credited publicly yet — you could be the first.

— awaiting first credited report —

08

How we keep your data safe

Disclosure policy is one half of security; the architecture is the other. A short summary of the controls behind the platform:

Encryption

TLS 1.3 in transit on every endpoint with HSTS preloaded; AES-256 at rest in Postgres, R2, and Stripe.

Access control

Row-level security on every customer table; admin actions gated by an allowlist; mandatory two-factor for every team member.

Audit trail

Append-only, hash-chained audit log of every privileged action — verified daily by an automated cron.

Monitoring

Sentry, structured request logs, and a public status page with double-opt-in subscriber alerts.

Live state of every dependency is on the status page. Full data-handling commitments are in the privacy policy.

09

Contact

For security reports, write to security@mantelmarketing.com. For privacy questions, use privacy@mantelmarketing.com. For everything else, our contact page has the rest.

The machine-readable companion to this page lives at /.well-known/security.txt and follows RFC 9116.

Last updated .