Security

Last updated: 19 April 2026

This page documents Signal Quadrant's security posture, how to report vulnerabilities, and what we already know about — so you don't have to dig.

1. Reporting a Vulnerability

Please email hello@signalquadrant.com with details. We aim to acknowledge within 72 hours.

A useful report includes:

We follow RFC 9116 — see /.well-known/security.txt.

2. Security Posture

Two-system isolation

Signal Quadrant runs as two architecturally separate systems. The public MCP service (this site, the Worker, the public database) holds only data that is safe to publish: aggregate market benchmarks, pattern-library metadata, and pre-computed cohort statistics with a minimum sample size of n≥5 per bucket. Individual assessments, raw transactions, and proprietary scoring logic live on a separate, fully internal system that has no inbound network path from the public surface.

What the free tier returns

The free tier returns market context, not company-specific assessments. Aggregates only. Bucketed positioning, not exact rankings. Narrative pattern insights, not raw data-basis text. Cohort statistics, not individual records. A complete dump of the public database would yield only a small set of aggregate rows — useless without the underlying assessments and source data they were derived from.

Controls in production

3. Known Limitations

We ship known limitations rather than hide them. None of the items below permit access to private assessments or the proprietary corpus — they are honest disclosures about the public surface.

Rate limiting cannot distinguish Claude.ai users

All requests originating from claude.ai arrive from Anthropic's egress IPs, so the IP-hashed rate limit treats those users as one bucket. We accept this for the free tier; per-user limits will arrive with API-key authentication on the paid tier.

Client-side counter values are informational

Some response fields surface a remaining-quota number for the client's UI. These are informational only; the enforcement value lives server-side. Manipulating client-visible counters does not bypass enforcement.

Numeric context fields in tool responses

Some tool responses include structured numeric context alongside their primary output — for example, the funding-positioning tool surfaces sector-level context numbers next to its qualitative result. These are the same aggregates already exposed by the dedicated benchmark tools; extracting them via context fields yields nothing that a single direct call would not already return.

Funding positioning is qualitative, not numeric

The funding-positioning tool returns a qualitative position rather than a numeric percentile. This is intentional: a precise numeric percentile, repeatedly queried with varying inputs, would let a caller reconstruct the underlying distribution shape. A bucketed positioning prevents that. Per ADR-006, the public database stores aggregate bands rather than individual transactions, so the underlying data needed to compute an exact percentile is not present in the public surface at all.

4. Out of Scope

5. What Is Not Public

The following are part of Signal's internal pipeline and are not reachable from any public endpoint:

If you believe you have found a way to access any of the above through the public surface, that is a serious finding and we'd like to hear about it immediately at the contact above.

6. Contact

Security: hello@signalquadrant.com

RFC 9116 record: /.well-known/security.txt