Pulse Architecture and Data Use Policy
Charter Hall Document — Circlworld Platform Version: 1.0 Effective: [Phase 1 launch date] Next scheduled review: [Phase 1 launch + 12 months] Owner: Circlworld Platform Team
Plain-language summary
The Pulse is the platform's heartbeat — it captures every meaningful event that happens on Circlworld and streams it to relevant members in real time. Someone joins a circle, you might see it. Someone in your tradition celebrates a milestone, you might see it. Someone in your circle records a contribution, you definitely see it.
But: not every event reaches every member. The Pulse respects privacy boundaries strictly. Your DMs are never in the Pulse. Your Care Concierge conversations are never in the Pulse. Your private profile activity is never in the Pulse.
What is in the Pulse: events you and your fellow members choose to share, organised so the right people see them at the right time.
This document explains exactly what events the Pulse captures, who sees them, and what data is retained.
1. What the Pulse is
The Pulse is a real-time event bus that:
- Captures domain events from every module of the Circlworld platform
- Classifies events by visibility scope and priority
- Personalises which events each member sees
- Streams events to four delivery surfaces: live ticker, district pulses, email digests, push notifications
2. The event taxonomy (Phase 1)
The Pulse captures approximately 40 event types organised into 13 categories:
Circle events
CircleFormedCircleCycleStartedContributionRecordedCycleCompletedCircleDisputeFiledCircleArchived
Credibility events
StandingTierAdvancedEndorsementGivenEndorsementReceivedTrustPassportSharedCredibilitySummaryGenerated
Goal events
GoalCreatedGoalContributionMadeGoalReachedGoalAdjusted
TEP events (Phase 2)
TreasurerQualifiedTEPTEPSettlementIssuedTreasurerTierAdvanced
MRR events (Phase 2)
ReferralQualifiedMRRCreditAppliedMRRReferrerMilestone
Storefront events
StorefrontPurchaseCompletedEntitlementGranted
University events
CourseEnrolledLessonCompletedCourseCompletedCertificationIssued
Outlet events
OutletOpenedOutletOfferPublishedAvenueApplicationSubmittedAvenueApplicationApprovedAvenueApplicationRejected
Plaza events
PlazaPostPublishedCoffeeHousePodOpenedCoffeeHousePodArchivedWaveSentCulturalMomentSurfaced
Town Hall events
PetitionFiledPetitionThresholdReachedDisputeResolvedTransparencyReportPublishedCharterDocumentUpdated
Wellbeing events (strict privacy)
WellnessCheckCompleted— visibility PRIVATE (only the member's own Pulse)CareConciergeOpened— visibility PRIVATE (never surfaces in others' Pulses)ResilienceStoryPublished— visibility PUBLIC only if member consents
Platform events
MemberJoinedMemberKYCAdvancedAggregateThresholdCrossed
3. Visibility scopes — who sees what
Every event has one of five visibility scopes:
| Scope | Meaning | Examples |
|---|---|---|
| PUBLIC | Visible to anyone on the platform with the relevant lens | PlazaPostPublished (Everyone visibility), AggregateThresholdCrossed |
| MEMBER_OPTIN | Visible to others only if the originating member has opted to make their activity public | StandingTierAdvanced, CertificationIssued, GoalReached |
| CIRCLE_ONLY | Visible only to members of the originating circle | ContributionRecorded, CycleCompleted |
| PARTICIPANTS_ONLY | Visible only to direct participants | EndorsementGiven (visible to giver and recipient), WaveSent |
| PRIVATE | Visible only to the originating member's own Pulse view | WellnessCheckCompleted, CareConciergeOpened |
These scopes are enforced centrally by the Pulse subscriber service. They are not overridable per member; they are properties of the event type.
4. What is NEVER in the Pulse
The following data is technically isolated from the Pulse infrastructure:
- Direct Message content — DMs are encrypted at rest and never written to the event bus
- Care Concierge messages — separate key management; technically inaccessible to the Pulse subscriber
- Dispute mediation thread content — mediation messages are scoped to dispute parties + mediator
- Wellness Check responses — the event (
WellnessCheckCompleted) is in the Pulse with PRIVATE visibility, but the responses themselves never enter the Pulse payload
CI gates verify this isolation. Any code path attempting to emit DM, Care Concierge, or dispute content as a Pulse event will fail static analysis.
5. Personalisation — how the Pulse decides what you see
Your personalised Pulse stream is weighted by multiple signals:
| Signal | Default weight | |---|---| | Events from your own circles | Highest (always shown) | | Events from your own goals | High | | Events in your corridor and traditions | Medium-high | | Events from members you follow | High | | Events tagged with traditions, channels, or topics you follow | Medium-high | | Your recent engagement patterns | Medium | | Geographic relevance to your location | Medium | | Event recency (newer surfaces higher) | Decay weighting | | Event priority (HIGH > MEDIUM > LOW) | Modifier |
You can adjust these weights in Settings → Pulse Preferences. The defaults are reasonable for most members; the controls exist for fine-tuning.
6. Delivery surfaces
The Pulse delivers events through four surfaces:
-
Live ticker — Always-on stream on CirclCentral landing (right rail on desktop, swipeable strip on mobile). Shows the last 30 days of relevant events. Updates in real time as new events occur.
-
District-specific pulses — Each district shows a Pulse rail scoped to events from that district.
-
Email digest — Daily summary email of the most relevant events from the last 24 hours. Opt-out available in Notification Settings.
-
Push notifications (Phase 2) — For high-priority events affecting you directly (your circle's cycle completes, your Avenue application is approved, your tier advances). Opt-out granular.
7. Persistence and data retention
- Live ticker: Last 30 days of events visible to you, in chronological order
- Personal archive: Indefinite — your own activity history is always accessible to you and exportable
- Full event store: Indefinite — the event log is the platform's truth record (subject to data minimisation principles for sensitive events)
- Pulse delivery log: 90 days — records of what events were delivered to you via what surface
8. External integrations (Phase 1 and beyond)
The Pulse has three external integration surfaces:
Outlet API (Phase 1 — partners → Circlworld)
Outlets push events into the Circlworld event bus through authenticated API calls. Examples:
- "Member X opened a CU account through Avenue Y" →
AvenueApplicationApproved - "Member Z made a pre-qualification request" →
AvenueApplicationSubmitted
All Outlet API calls are:
- Authenticated via Outlet API keys
- Rate limited per partnership tier
- Audit logged
Outbound Webhooks (Phase 3 — Circlworld → partners)
With your explicit consent, partners can subscribe to specific event categories about you. Examples:
- A partner credit union subscribes to your
StandingTierAdvancedevents to update your file - An employer partner subscribes to your
CertificationIssuedevents for verification
You control which partners can subscribe to which event categories about you. You can revoke at any time.
Public Statistics API (Phase 1)
Aggregate statistics exposed without authentication. Total members, total circles, total capital coordinated, regional distribution. Used by:
- Circlworld marketing site
- Transparency reports
- Third-party analysts and researchers
- Regulators
- Journalists
Individual members are never identifiable in the Public Statistics API.
9. Data minimisation
The Pulse follows data minimisation principles:
- Events store the minimum data needed for surface rendering
- Payloads do not include personal information beyond what is required for the visibility scope
- Sensitive events (Wellbeing, dispute) have minimal payloads (no body content, only the fact of the event)
- Event payloads are not used for cross-event correlation beyond personalisation
10. Your controls
In Settings → Pulse Preferences, you can:
- Adjust personalisation weights
- Manage your follows (members, traditions, channels)
- Opt out of the email digest
- Opt out of specific event categories from your own Pulse
- Make your activity more or less visible to others (via the related Standing Visibility settings)
- Export your personal event history
- Request deletion of specific events (subject to platform integrity — some events like contribution records cannot be deleted without affecting circle records)
11. Member rights
You have the right to:
- Know what events about you have been emitted (via personal archive)
- See who has subscribed to events about you (via Settings)
- Revoke consent for outbound webhook subscriptions (Phase 3)
- Opt out of the email digest
- Opt out of push notifications (Phase 2)
- Pause your Pulse entirely (Member Status Modes — Privacy Mode)
- Request export of your event history
- Delete your account (event records anonymised but preserved for circle integrity)
12. Audit and transparency
- Aggregate Pulse statistics published quarterly in the Records Office (total events emitted, delivery rates, member engagement)
- Pulse subscriber service health monitored publicly (Phase 2 onward)
- Any material change to the event taxonomy or visibility scopes requires 14-day public comment period before adoption
Version history:
- v1.0 — Initial publication, Phase 1 launch
EOF