Technical Documentation
Architecture reference for IncogSay's scanning infrastructure: how each tool works, where computation runs, what data touches external systems, and what the privacy guarantees are — specified at the implementation level, not the marketing level.
Edge Compute Architecture
All active scanning tools (URL Scanner, SSL Checker, Redirect Checker, SPF/DKIM/DMARC checkers, Domain Age Checker, Safe Link Checker, QR URL Scanner, Email Security Score) run on Cloudflare Workers — V8 isolates deployed to Cloudflare's global edge network, currently spanning 300+ locations in 100+ countries.
A Cloudflare Workers isolate is not a container and not a virtual machine. It is a V8 JavaScript context that executes in the same process as other isolates (separated by V8's own memory isolation) with a cold-start time of under 5 milliseconds. Each request is handled by a new isolate instance — there is no shared state between requests, no persistent heap, and no file system access. The isolate is destroyed at the end of request processing.
Request Lifecycle for a URL Scan
1. User submits URL in browser
→ HTTPS POST to https://api.incogsay.com/scan/url
→ Cloudflare routes to nearest edge PoP
2. Worker isolate spawns (no cold start overhead after warm cache)
→ Validates input format and length (max 2048 chars)
→ Extracts hostname, path, query parameters, fragment
3. Parallel analysis phase (all of these run concurrently):
├── DNS resolution: A, AAAA records via Cloudflare's 1.1.1.1 DoH
├── WHOIS/registration age: queried via edge-local RDAP endpoints
├── SSL certificate: TLS handshake to port 443 of resolved IP
├── HTTP redirect chain: HEAD requests following 301/302/307/308
├── Shannon entropy: calculated in-memory on hostname label
├── Levenshtein distance: compared against brand database (in-memory)
├── Homograph detection: Punycode decode + script family check
└── Threat intelligence: queried against feed aggregator
4. Score assembly: weighted signals combined into 0–100 threat score
5. Response serialized as JSON → streamed back to browser
6. Worker isolate destroyed → no state persists
Total wall-clock time: typically 300–800ms (network-bound by slowest parallel query)DNS Resolution Pipeline
DNS queries issued by scanning workers use Cloudflare's 1.1.1.1 DNS over HTTPS (DoH) resolver. DoH encrypts the DNS query inside HTTPS, preventing network-level interception by ISPs or malicious intermediaries at the edge PoP. The resolver supports DNSSEC validation — queries for signed zones are validated against their RRSIG records before the response is used.
For email authentication checks (SPF, DKIM, DMARC, BIMI, MTA-STS), the DNS resolution order is:
- TXT record query at the appropriate subdomain (
_dmarc.domain.com,[selector]._domainkey.domain.com,default._bimi.domain.com, etc.) - Record parsing — the returned TXT strings are concatenated per RFC rules and parsed for the protocol-specific tag-value pairs
- Syntax validation — each tag is validated against the RFC-defined grammar (e.g., SPF mechanism syntax per RFC 7208 §5)
- Semantic evaluation — lookup limits are counted, include chains are followed, policy values are evaluated against valid enumerations
SPF Lookup Counting
Each include:, a:, mx:, ptr:, and redirect= mechanism in an SPF record requires a DNS lookup. RFC 7208 §4.6.4 limits total lookups to 10. The checker counts each lookup recursively through nested includes and reports the exact count, flagging permerror when exceeded.
DKIM Selector Resolution
DKIM public keys are queried at [selector]._domainkey.[domain]. The checker validates the key type (k=rsa or k=ed25519), key length (RSA: minimum 1024 bits recommended 2048+), and flags revoked keys where p= is empty.
Privacy Architecture — What Is and Is Not Retained
| Data Item | Transmitted to Edge? | Logged / Stored? | Retention Period |
|---|---|---|---|
| Submitted URL or domain | Yes — required for scanning | No | Zero — discarded after response |
| Client IP address | Reaches Cloudflare edge | No | Zero — never written to Worker context |
| Scan result / threat score | Returned to browser | No | Zero — no result cache |
| Date of birth (calculators) | No — computed client-side only | No | Never leaves browser |
| Cloudflare request logs | Standard Cloudflare infra logging | Cloudflare policy applies | Cloudflare data processing agreement |
| Google Analytics events | Page views and events (no PII) | Yes — anonymized | Google's standard 26-month retention |
The privacy model for scanning tools is stateless by architecture: Worker isolates have no access to a database, no KV store writes are made for user-submitted data, and no request payload is forwarded to a logging endpoint. There is no mechanism by which a submitted URL or scan result could be retrieved after the HTTP response is sent — it does not exist anywhere on IncogSay infrastructure after the isolate terminates.
Calculator tools (age, date, time) perform all computation client-side in the browser. No data is transmitted to any server during calculator use. The only network request on a calculator page is the initial page load.
Threat Intelligence Integration
URL and link scanning tools query multiple threat intelligence sources during each scan. The selection criteria for feed inclusion are: (1) sub-200ms API response time from edge PoPs, (2) demonstrable false-positive rate below 0.5% on known-clean URLs, and (3) feed coverage of phishing domains within a 2-hour window of first detection.
Threat Score Signal Composition
| Signal | Maximum Weight | Method |
|---|---|---|
| Threat intelligence feed match | +60 | Domain/IP lookup against feed |
| Domain registration age <30 days | +25 | RDAP creation date lookup |
| Shannon entropy > 4.2 bits | +20 | In-memory calculation on hostname label |
| Typosquatting distance ≤ 1 | +25 | Levenshtein vs. brand database |
| Homograph character detected | +30 | Unicode confusables + Punycode decode |
| Redirect chain length > 3 hops | +15 | HEAD request chain following |
| SSL certificate invalid or expired | +20 | TLS handshake + certificate parse |
Scores are capped at 100. Multiple signals are combined with diminishing returns at high score ranges to prevent single-signal false positives from overwhelming the final score.
SSL/TLS Checker — Scan Methodology
The SSL Certificate Checker initiates a live TLS handshake from the Cloudflare edge to port 443 of the target hostname. The handshake uses TLS 1.3 by default with TLS 1.2 fallback. The worker parses the ServerCertificate message of the TLS handshake to extract:
- Certificate subject (CN= and O= fields from the Distinguished Name)
- Subject Alternative Names (OID 2.5.29.17) — the full SAN list including wildcard entries
- Issuer Distinguished Name (Certificate Authority identity)
- Validity window:
notBeforeandnotAfterfields, parsed as ASN.1 UTCTime / GeneralizedTime - Days remaining until expiry, calculated against server clock at scan time
- Certificate chain: intermediate and root CA certificates presented in the ServerCertificate record
- Negotiated TLS protocol version (TLS 1.2 / TLS 1.3)
- Negotiated cipher suite identifier
The worker does not perform a browser-equivalent certificate validation — it does not check Certificate Transparency SCTs, OCSP stapling, or the browser's CA trust store. It evaluates the raw certificate data as presented by the server.
Knowledge Base & Technical Guides
Comprehensive, peer-reviewed engineering guides written by the IncogSay security and infrastructure research team to support system administrators, webmasters, and DevOps engineers in deploying and troubleshooting internet standards.
A Beginner's Guide to Setting Up DMARC
End-to-end implementation roadmap: from initial mail flow auditing to generating p=none, analyzing aggregate XML reports, and safely enforcing p=reject.
Understanding SSL Handshake Failures
Diagnostic guide to TLS connection aborts: cipher suite negotiation mismatches, missing intermediate CA certificates, mobile AIA chasing failures, and OpenSSL CLI reproduction.
Compliance • DeliverabilityGoogle & Yahoo Bulk Sender Requirements (2024+)
Comprehensive breakdown of mandatory sender standards: SPF/DKIM alignment, DMARC publishing, spam rate ceilings under 0.3%, and RFC 8058 one-click unsubscribe headers.
DNS Infrastructure • OperationsHow DNS Propagation Works & Troubleshooting
Authoritative vs recursive resolution mechanics, Time to Live (TTL) caching behavior, SOA negative caching timers, and multi-resolver verification techniques.
RFC Protocol Implementation Index
| Standard | Title & Scope | IncogSay Tool Implementation |
|---|---|---|
| RFC 7208 | Sender Policy Framework (SPF) for Authorizing Email | SPF Checker, SPF Generator |
| RFC 6376 | DomainKeys Identified Mail (DKIM) Signatures | DKIM Checker, DKIM Generator |
| RFC 7489 | Domain-based Message Authentication (DMARC) | DMARC Checker, DMARC Generator |
| RFC 8461 | SMTP Mail Transfer Agent Strict Transport Security (MTA-STS) | MTA-STS Generator |
| RFC 8446 | The Transport Layer Security (TLS) Protocol Version 1.3 | SSL Certificate Checker |
| RFC 9224 | Registration Data Access Protocol (RDAP) Bootstrap | Domain Age Checker |
Responsible Disclosure & Security Reporting
If you identify a vulnerability in IncogSay's scanning infrastructure, API endpoints, or web application, please report it via the contact form at /contact with the subject line "Security Report." Include a description of the issue, steps to reproduce, and the potential impact. We commit to acknowledging reports within 48 hours and providing a remediation timeline within 5 business days.
Please do not submit live malware samples, perform denial-of-service testing, or access data belonging to other users. Responsible disclosure reports are reviewed on a case-by-case basis for recognition in our security changelog.