Engagement infrastructure · v1

Send less.
Mean more.

uRemove is a lifecycle-aware engagement engine that normalizes user state, enforces send policy, and turns delivery events into decisions.

Policy-enforced sends
Multi-tenant from day one
Idempotent event stream

What it is

A lifecycle engine,
not a newsletter tool.

uRemove normalizes user state, enforces send policy, and closes the feedback loop between delivery and engagement — so every message sent has a reason to exist.

State-aware

Every recipient is a normalized record — tier, engagement history, suppression state, momentum. Sends follow the state, not a schedule.

Policy-first

Classification, consent, fatigue, cooldown, and tenant rules are enforced before any render. If a send would be noise, it is refused.

Closed-loop

Delivery and engagement events flow back into user state in real time. The next message is shaped by the last one.

Architecture

Four layers.
Clean boundaries.

The engine is generic. Client-specific logic lives in configuration. Templates reference normalized fields — never raw source data.

Core Engine

Lifecycle, classification, policy, delivery, webhook ingestion. Fully client-agnostic.

L1
Metrics Adapter

Normalizes external sources into internal fields. One lightweight adapter per client.

L2
Client Logic

Per-client rules, tiers, categories, and CTA behavior — stored as data, not code.

L3
Template Authoring

Slot-based composition, versioned JSON schema, live preview with sample state.

L4

Principles

Discipline by design.

A short list of non-negotiable rules the platform enforces at build, deploy, and runtime.

One message, one action

Every email has exactly one primary CTA. No stacking, no ambiguity.

Engagement gates sending

Send eligibility depends on engagement history and consent — not on metric changes alone.

Normalized fields only

Templates reference internal fields. Raw upstream field names never appear in content.

Idempotent events

Every webhook carries a unique event id. Duplicate delivery cannot distort state.

Tenant isolation from day one

Every record is scoped by tenant. No query is allowed to cross boundaries.

Config, not code

If a rule can vary per client, it lives in configuration. The core stays generic.

uRemove is invite-only.

There is no public signup. Operators are provisioned directly. If you believe you should have access, contact the administrator.