Skip to content
Capabilities

What ARIA OS does

A marketing operating system for companies running more than one brand. Everything below either ships today or is marked as coming.

Brand context

Many brands, strictly separated

Separation is enforced where it cannot be bypassed: in the database, by row-level policy, scoped to the teamspace that owns the brand.

Teamspaces

A teamspace owns brands and holds the people who work on them. One teamspace per user, enforced by schema trigger as well as in the application, so the two cannot drift.

Brand switching

Operators with more than one brand switch the active context explicitly. Nobody sees every brand at once: visibility is a decision, never a side effect of a role name.

Per-brand configuration

Analytics identifiers, domains, voice and publishing rules belong to the brand, stored against it. No per-brand value is read from an environment variable, because an environment variable is one global value and the second brand would render the first brand’s identity.

Custom domains

Attach a domain, verify it, and the platform resolves the hostname to the brand at the edge. SSL is provisioned and synced automatically.

Content pipeline

Compose, review, publish

A publishing path with a review state and an audit trail, rather than a text box that writes straight to production.

Canvas page builder

Pages are composed from a governed component catalogue. The React registry, the canvas catalogue and the Postgres definition are kept in step, so what an editor drags is what the site renders.

Media library

Uploads land in Supabase Storage with dimensions and duration measured from the file itself. A filename is a label; the file is the fact.

Navigation and structure

Menus are projected from published pages, so an unpublished page cannot leave a dead link in the navigation.

AI content generation

Coming soon

Operational events become channel-appropriate drafts, written against the brand’s own context. Drafts enter review; they do not publish themselves.

Scheduled multi-channel publishing

Coming soon

Approved content dispatched to LinkedIn, X, Meta Ads and Google Ads on a schedule, with per-channel formatting.

Search and measurement

Every number comes from a property you own. Competitor rank tracking and purchased authority scores are deliberately absent: they are vendor estimates, and this system does not present an estimate as a measurement.

SEO engine

Sitemaps, robots and structured data generated from the content model. Per-domain, per-brand, and regenerated when content changes rather than on a cron nobody checks.

Search Console

Average position, impressions and clicks for your own property, read from Google Search Console. Each brand grants access to its own property.

Analytics

GA4, PostHog and Vercel Web Analytics, each scoped to the brand that owns the property. Cookieless measurement where the provider offers it.

Indexing submission

URLs submitted to IndexNow and the Google Indexing API on publish. The response is recorded for what it establishes (that the credential worked) and never as proof a page was indexed.

Governance

Who did what, and when

Access control and audit built as platform features rather than added after the first incident.

Role-scoped permissions

Visibility spans the teamspace; destruction is narrower. Roles may only invite strictly below themselves, so nobody can mint a peer.

Multi-factor authentication

Passkeys, TOTP and single-use backup codes. Every login path writes an attributable event with a real actor and address.

Break-glass access

Emergency developer access needs an admin-issued consent code, expires on a hard maximum, and audits every read it performs.

Hash-chained audit log

Lifecycle and auth events appended to a chained log. Rows are never deleted; tampering breaks the chain rather than passing unnoticed.

Platform lockdown

A switch that refuses every non-superadmin request. It fails closed: if the lockdown state cannot be read, the platform refuses rather than carrying on.

Want a place in the beta?

Tell us what you run and how many brands you run it for.

Request beta access