SolutionWright Universal

Transparency, one shared dashboard

What we measure, and only this.

This is the same live dashboard we look at ourselves, one shared surface across all four sites in the family: SolutionWright, Universal Natural Intelligence, IamHITL, and EducateWright. Same numbers, same queries. Window it by 24 hours, 30 days, 6 months, 12 months, or all time. Roll it up across the whole family or narrow it to one property. There is no second dashboard with names, emails, or IP addresses; the events table has no column to hold them. Every row below is a derived aggregate. Visitors who send DNT or Sec-GPC arrive unmeasured, by construction.

The one place we keep a name, an email, or the words you typed is when you deliberately submit a form: an application, a contact, a claim to falsify. Those land in a separate leads table on the same appliance, visible only to the operator behind a hardware-key login. That table is never shown here, never summarized here, and colors no number on this page. The split is structural: different table, different database role, different code path, different access control.

This family is a working hypothesis on an attainable path toward General Natural Intelligence, natural, not artificial. The evidence is growing, evidence-classed, and tested in the open. Do not take the claim on faith: test the build, inspect the gates, and help us find where it fails.

The whole schema, in plain English

Every aggregate above derives from exactly these columns in the analytics table. There is no other table.

  • id, an auto-increment row number
  • name, the allowlisted event name (page_view, gate_view, and so on)
  • path, the page path, canonical (experiment query params stripped)
  • source_bucket, a coarse arrival category (direct, referral, social, and so on)
  • salted_day_id, an HMAC of (coarse IP + UA family) keyed by the day, opaque, same-day only, cryptographically uncorrelatable across days
  • session_id, a tab-scoped random UUID, dies with the tab
  • variants, JSONB, baked-in experiment variant ids (no content)
  • exp_id, the experiment id, if any
  • deploy_id, the Vercel deploy id (build provenance)
  • props, JSONB, allowlisted derived numerics only (lengths, milestones, scroll percentages)
  • ts, server-assigned timestamp

What is NOT stored, by construction

  • your name
  • your email address
  • your phone number
  • your IP address
  • your User-Agent string
  • the text of anything you typed into a form
  • a durable cross-day visitor id
  • any tracking-cookie value

The two JSONB bags above (variants, props) accept only allowlisted, derived values from the ingest validator on the appliance, they cannot become text-bags for content. Free-text and identifiers are dropped at the boundary, not after.

First-party measurement on the UNI-Lab appliance. No third-party trackers, no cookies for opted-out visitors, DNT/GPC honored end-to-end. Behavioral signal paid SEO/GEO suites can't see, because it never leaves our iron.