Methodology · the rubric, in full

How Folderly Lens
scores your estate.

Every signal we check, every weight, every verdict band — documented. The verdict your estate gets is reproducible: same DNS, same result. No black box, no proprietary cooperative average. You can verify any finding yourself with dig and a Spamhaus lookup.

Methodology v3 · external-only · last updated 2026-09-30

1. What we check

Folderly Lens queries only public, observable signals — the same records a mailbox provider's reputation engine reads when it decides whether to trust your mail. Zero access to your sending platform. No API keys, no inbox connection, no test sends.

The live collector runs these per domain or IP, in parallel, in real time:

SignalWhat it tells usStandard
SPF recordIs sending authorised, and is the policy enforced (-all) or soft (~all)? Detects multiple SPF records, null SPF values, duplicate includes, void include/redirect targets, and recursive lookup count vs the RFC cap of 10.RFC 7208
DKIM signatureIs a public key published on one of 16 common selectors? These optional probes cannot prove signing is absent: a sender's custom selector may remain unknown from public inventory alone.RFC 6376
DMARC policyPublished and enforced (p=reject/quarantine), or published-but-unenforced (p=none) — the latter reads as a deliberate opt-out.RFC 7489
MX recordsMail routing is present and provider hints are visible. MX context does not prove that outbound infrastructure is dedicated or isolated.RFC 5321
Domain blacklist scanDomain-oriented lookups across the live collector's DNSBL set: Spamhaus DBL, SURBL, URIBL, and Fresh15. Operator restrictions, unavailable controls, and resolver errors remain unknown rather than a clean response. Coverage identifies the zones actually checkable from this resolver.DNSBL standard
IP reputation scanDirect sending IP checks for PTR/rDNS, forward-confirmed rDNS, RDAP ownership context, and public IP RBL probes across Spamhaus ZEN, SpamCop, Barracuda, UCEPROTECT-1, PSBL, Hostkarma, Mailspike, SpamRATS, SpamRATS Dyna, Truncate, NordSpam, DroneBL, and Manitu.DNSBL + PTR/rDNS + RDAP
This page documents the live public collector. Lens reads externally observable DNS, RBL, PTR/rDNS, and RDAP evidence for the submitted assets; it does not access mailbox-provider telemetry or claim ongoing monitoring.

2. How the score works

Domain and IP scores use separate deterministic formulas. A numeric Lens score is published only when required evidence is complete. Domains require SPF, DMARC, MX, and at least one checkable domain RBL; IPs require PTR, forward-confirmed rDNS (FCrDNS), and at least one checkable IP RBL. A checkable missing record is a confirmed failure, while a failed lookup is unknown. Optional DKIM selector probes, RDAP, MTA-STS, and TLS-RPT do not block required coverage.

If any required check is unknown, the score is null, not 100. The result reports scoreStatus: partial when some required checks completed or unavailable when none completed or the domain itself does not resolve, and names missing checks in coverage. Verified absence remains checked evidence. Confirmed adverse findings retain their verdict even when the score is unavailable. Fresh15 age checks and informational-only replies do not satisfy the reputation blocklist requirement.

Domain check stateScore effect
warn on a scored check−8
fail on a scored check−18
unknown required checkNumeric score withheld
Optional unknown or informational check0
Domain base and floor100, minimum 20

For IPs with complete required coverage, risk is min(100, listed × 35 + soft signals × 8 + no PTR × 20 + PTR mismatch × 15), then the score is max(0, 100 − risk). A trusted Spamhaus listing or at least two independent listed RBLs produces KILL; one or more listed RBLs, missing PTR, PTR mismatch, or a score below 80 produces REHAB. These confirmed findings persist with incomplete evidence and a null score. Without an adverse finding, incomplete required coverage produces ERROR; complete coverage permits KEEP.

For domains, the precedence is KILL for a trusted Spamhaus listing or at least two listed domain RBLs; REHAB-URGENT for a checkable failed DMARC policy; REHAB for failed MX, one listing, a score below 80, a DMARC warning, or failed SPF; ERROR for otherwise incomplete required coverage; and KEEP otherwise.

For complete scores, KILL is at most 45 and REHAB-URGENT at most 69. REHAB has no 79-point cap: a confirmed issue may require remediation even when the configuration score is 80 or higher. The action verdict and evidence must be read alongside the score.

The estate score is an equal arithmetic average only when every real submitted asset has a complete numeric score. Any partial, unavailable, unresolved, or pending asset beyond the free cap withholds the aggregate. Portfolio EXAMPLE rows are illustrative and do not count as live results. Confirmed adverse verdicts dominate the estate summary even while overall coverage remains incomplete.

3. Confidence is separate from risk

The public score answers "how risky does this asset look?" Confidence answers "how complete is the public evidence?" A dirty IP can be high-confidence when RDAP, PTR, FCrDNS, and RBL probes all completed. A clean-looking domain can be medium-confidence if Lens cannot confirm the actual sending IPs or all common DKIM selectors.

Confidence bandWhen Lens uses itHow to improve it
HighThe submitted asset returned complete public DNS/authentication/RDAP/RBL evidence for the check type.Keep the result as a baseline and re-run after any infrastructure change.
MediumMajor signals completed, but one or more context signals are missing, such as RDAP, common DKIM selector coverage, or confirmed sending IP mapping.Paste sending IPs, provide headers or ESP export, and re-run after the relevant public evidence changes.
LowLookups failed, RBL coverage is partial, or the asset cannot be safely tied to real outbound use from public data alone.Retry, submit the full estate, and do not treat unresolved or inferred assets as clean.

4. Audit register exports and saved snapshots

The in-page artifact is an external public-signal register. It exports the scanned evidence as CSV, a copyable client brief, a copyable fix plan, and a saved report link. The saved report stores only the public scan artifact in Folderly Lens report storage; it does not create an account, connect a mailbox, or claim private receiver data.

Row statusMeaningHow to treat it
scannedThe asset returned a public verdict, confidence band, drivers, and fix summary. A numeric score requires complete required coverage; confirmed adverse findings may instead have a null score.Read the verdict alongside score status and coverage.
unresolvedThe lookup did not return enough signal for a safe verdict.Retry or include it in the full manual audit; never call it clean.
pending_full_auditThe asset was submitted but sits beyond the 10-asset free public scan cap.It is not clean and not risky yet — it is unscanned inventory for the full register.

Each accepted server scan receives a random scanId and a private receipt retained for 30 days. Random per-tab session and per-attempt UUIDs provide optional correlation without deriving a visitor fingerprint from an IP or email. The ledger stores normalized checked targets, bounded inventory counts, source, timestamps and status, collector/model version, score status, coverage, check states, and bounded reason codes; it does not retain arbitrary raw input or visitor identity.

If receipt storage fails, the collected DNS result remains valid and the interface explicitly warns that its durable receipt is unavailable. The existing authenticated retention job cleans up expired scan receipts. Saved report snapshots have a separate 90-day default retention; an optional scanId links context but does not server-verify a client-submitted report's evidence or scores.

5. What the verdicts mean

KILL
Reputation is burned; not salvageable. For a domain, KILL requires a trusted Spamhaus listing or at least two independent listed domain RBLs. For an IP, the same listing threshold applies. Stop sending through the asset, verify the evidence with the operator, and retire or rebuild the source before resuming.
REHAB
Fixable, but not while scaling. Authentication, DNS, blacklist, or IP hygiene gaps are visible externally. Harden SPF to -all, enforce DMARC, clear any verified listing, or fix PTR/forward-confirmed rDNS — then resume sending. REHAB-URGENT is the same family with one blocking domain gap: no published DMARC policy, so DMARC must be fixed before any volume increase.
KEEP
Clean externally, salvageable. Enforced auth, no listings, and no structural IP or DNS risk is visible in this scan. Re-run after infrastructure or policy changes because public signals can drift.

6. The external-only guarantee

Every signal is something a reseller, a vendor, or a mailbox provider cannot hide from you. A reseller can claim "isolated infrastructure" — the MX record shows whether it's true. A vendor can claim "fully authenticated" — the DMARC record shows whether it's enforced. Public records don't negotiate.

Because we read only public state, the verdict is fully reproducible. Run the scan from a coffee shop's wifi with zero credentials and you get the same answer. Re-run after remediation and the diff objectively measures whether your fixes worked.

7. What we don't do

Honesty about the limits is the point. Folderly Lens is a risk score, not an inbox-placement score — it measures public structural conditions, not where your mail actually lands today. Lens does not measure inbox placement.

Run a live scan → Folderly managed deliverability ↗