Package report

Human, JSON, scale, and verbose renderers. Source: internal/report/report.go.


Data

type Data struct {
    Version       string
    Target        score.DomainData
    Suspect       score.DomainData
    Score         int
    Findings      []string
    Verdict       string
    Relationship  string
    AgeFlag       string
    TargetCert    *cert.Details
    SuspectCert   *cert.Details
    TargetRDAP    *rdap.Result
    SuspectRDAP   *rdap.Result
    TargetDomain  string
    SuspectDomain string
}

Everything a renderer needs: scored domain data plus the raw cert and RDAP results backing verbose output.


Scale

func Scale(version string) string

Static scoring-scale reference table (no lookups). Backs the --scale flag.


Human

func Human(d Data) string

Triage report with per-domain blocks (creation date, registrar, issuer, validation, SANs), the pair relationship line, the scored risk analysis, and the verdict. Empty findings render a clean bill of health.


JSON

func JSON(d Data) string

Machine-readable summary with tool, version, target, suspect (including suspect age_days), risk_score, findings, verdict, relationship, suspect_spf (checked, authorized, cover), target_dmarc, and per-path target_paths / suspect_paths objects. Ends with a newline for pipeline use.


Verbose

func Verbose(d Data) string

Raw policy OIDs with classes, per-domain TLS details (issuer, subject, validity, SANs), raw RDAP JSON for both domains, DNS consistency verdicts, and the Resolution paths section (per-path endpoints, per-path TLS agreement, origin-AS status, hosts-override state). Missing data renders an explicit unavailable notice per section.


Licensed under the GNU General Public License v3 - Mark Robillard Jr (MARKMENTAL)