What’s new

Changelog.

Every release that lands on the dashboard, the ad-server, or the marketing site. Reverse chronological. Date stamped to the day, not the sprint.

  1. Brand

    Brutalism theme + new palette.

    • Visual identity reset: off-white field (#FAF9F6) + near-black ink (#1A1A1A), with coral (#FF7B6B) as the 'here, now' spotlight and sage (#7DBF6C) on focus rings. Lufga everywhere.
    • Zero radius site-wide, 2px ink borders on cards, hard offset shadows (no blur), uppercase h1, inverse-fill table heads. Primary buttons get a 'physical key' press effect — shadow retracts on hover, translates 2px.
    • Homepage rebuilt: split-grid hero with dashboard mockup + perspective tilt, tag-snippet card under the publisher earnings figure, SiteScan audit card under the advertiser invoice, marketplace preview replaces the old 'why we win' comparison rows.
  2. Infrastructure

    Transactional email pipeline live.

    • Resend (eu-west-1, GDPR-aligned) wired for signup verification (and the 'resend' button) plus creative-review approve/reject notifications.
    • All sends from [email protected] — subdomain kept clean to isolate sender reputation from inbound Proton mail on the apex.
    • React Email templates for password reset and payout disbursement also shipped; their trigger routes land in the next release.
  3. Feature

    Blog launched + marketplace fully gated.

    • /blog is live with three launch posts: 'Why we built Nyhilism', 'Inside SiteScan', and 'The honest comparison'.
    • Marketplace inventory is now sign-in-only: the public /sites directory and /p/[domain] per-site reports redirect to /login.
    • Marketing top nav gains a Blog link; footer updated to surface /blog instead of /sites.
  4. Feature

    Underwriter policy pack + cookie consent.

    • Dedicated /refunds, /chargebacks, /acceptable-use, and /merchant-info pages — designed for processor underwriting review.
    • First-party cookie consent banner with DNT/GPC auto-decline and a 'Cookie preferences' link in the footer.
    • PostHog (EU region) analytics provider scaffolded — gated on explicit accept, no third-party network ad trackers.
  5. Feature

    Public transparency layer.

    • /stats now shows live network impressions, revenue, and active org counts to anyone — no login.
    • /sites is the public publisher directory; /p/[domain] is the per-site SiteScan report, also no login.
    • Status page now exposes lifetime + last-24h impression totals on the same surface.
  6. Feature

    Dashboard buildout complete.

    • Earnings, Spend, Reports, Bookings, Settings, Help, Command center, Payouts, Fraud — all live, role-aware, and reading from real data.
    • Sidebar gained an identity block (org + user name) and Earnings/Spend nav entries.
    • Balance pill in the top nav routes to the right destination per org type.
  7. Infrastructure

    SiteScan fingerprints seeded.

    • 42 patterns across adult networks (JuicyAds, ExoClick, TrafficJunky, etc.), mainstream networks (AdSense, Taboola, Outbrain), and red-flag scripts (cryptojacking).
    • Idempotent seed script at packages/db/scripts/seed-fingerprints.ts.
  8. Feature

    Legal pages.

    • /dmca with takedown form (signed 17 U.S.C. § 512(c)(3) affirmations), /2257 statement, /privacy, /terms, /status.
    • Shared sticky-TOC layout with IntersectionObserver scroll-spy.
  9. Feature

    Ad-server hot path.

    • /api/serve runs the v1 first-price auction (booking > auction > house).
    • HMAC-signed event tokens for impression + click endpoints.
    • tag.js enforces viewability + tab-focus before firing the impression pixel.
  10. Feature

    Onboarding flow.

    • Signup captures name, organization, country, date of birth (18+).
    • Three-step onboarding: account → site → zone (last two skippable).
    • First scan kicks off automatically when a site is registered.
  11. Brand

    Brand identity locked.

    • Brushy ring mark + Lufga lowercase wordmark.
    • Charcoal #2B2727 on cream #F8F5F0 — no orange.
    • Single mark across every size; recoloring via CSS mask.

Want a heads-up on releases? Email [email protected] and we’ll add you to the release-notes mailing list.