Design: account tiers, contribution policy disclosure, Telegram open-room access
This commit is contained in:
parent
2ee5c55de1
commit
92f318de7c
1 changed files with 41 additions and 0 deletions
|
|
@ -14,6 +14,47 @@ toggle) with three paths:
|
||||||
3. **Solo user** — account + onboarding room (channels + guide bot explains how to
|
3. **Solo user** — account + onboarding room (channels + guide bot explains how to
|
||||||
plug in); can join or start a collective later.
|
plug in); can join or start a collective later.
|
||||||
|
|
||||||
|
## Account tiers, signup, membership (amended 2026-10-12)
|
||||||
|
|
||||||
|
**Self-serve accounts are now part of the product.** The site lets anyone create
|
||||||
|
an account without belonging to any collective. Posture reconciliation: the
|
||||||
|
homeserver keeps registration token-gated; the **Hub mediates account creation**
|
||||||
|
(the Hub holds the registration capability and provisions the Matrix account
|
||||||
|
server-side after its own signup checks). Direct registration on
|
||||||
|
chat.occupymedia.cc stays closed — the Hub is the only door, and it can add
|
||||||
|
rate-limiting / verification later without touching the homeserver.
|
||||||
|
|
||||||
|
- **Solo account**: gets the platform's storage (R2-backed files space) and
|
||||||
|
PeerTube access — the full media-maker toolkit, no collective.
|
||||||
|
- **Membership is many-to-many**: one media maker can belong to several
|
||||||
|
collectives at once (`group_members` already models this); solo users can be
|
||||||
|
invited into collectives later, or request to join.
|
||||||
|
- **Account is the unit of identity**; collective membership is a set, not a
|
||||||
|
home.
|
||||||
|
|
||||||
|
## Contribution policy (per collective, disclosed at join time)
|
||||||
|
|
||||||
|
Every collective defines what happens to members' contributions:
|
||||||
|
|
||||||
|
- Default and stated plainly at join: **deleting your account does NOT delete
|
||||||
|
your contributions.** Content already submitted to a collective stays in its
|
||||||
|
library/archive, attributed, under the collective's retention rules.
|
||||||
|
- Collectives may override (e.g., "contributions are removed on request",
|
||||||
|
"contributions are anonymized after 90 days") — the policy is a field on the
|
||||||
|
collective, shown on the join screen and in the collective's settings.
|
||||||
|
- Enforcement is schema-level: contributions must not `ON DELETE CASCADE` from
|
||||||
|
the user row. User deletion detaches attribution per policy; it never
|
||||||
|
silently rips content out of a collective archive.
|
||||||
|
|
||||||
|
## Telegram access to open rooms
|
||||||
|
|
||||||
|
Open rooms bridge to Telegram (mautrix-telegram, already scaffolded in the
|
||||||
|
chat CT's compose): a collective's open room can attach a Telegram group so
|
||||||
|
outsiders participate from Telegram with no Matrix account at all — same bridge
|
||||||
|
pattern as Matrix federation for open rooms, different door. Bridged rooms are
|
||||||
|
verified for encryption state (never treated as plaintext by assumption);
|
||||||
|
archiving follows the same open-room rules.
|
||||||
|
|
||||||
## Collective model (maps to what exists)
|
## Collective model (maps to what exists)
|
||||||
|
|
||||||
A **collective is a group** in the Hub's group tree — `groups.parent_id` becomes
|
A **collective is a group** in the Hub's group tree — `groups.parent_id` becomes
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue