Apps

Self-reported. Open a PR to change your own row.

Appapp_idModules
Prismprismmembers, fronting, groups, custom_fields, notes, chat, assets, privacy
Sheafsheafmembers, fronting, groups, custom_fields, notes, chat, assets, privacy, polls, reminders
PluralSpacepluralspacemembers, fronting, groups, taxonomy, custom_fields, notes, chat, boards, assets, privacy, polls, relationships
Ampersandampersandmembers, fronting, groups, custom_fields, notes, chat, assets, privacy
Lighthouselighthousemembers, fronting, groups, custom_fields, notes, chat, assets, privacy
Octoconoctoconmembers, fronting, groups, custom_fields, notes, chat, assets, privacy
OpenSelvesopenselvesmembers, fronting
PluralKitpluralkitmembers, fronting, groups, privacy
Plural Starplural_starmembers, fronting, groups, custom_fields, notes, chat, assets
Simply Pluralsimply_pluralmembers, fronting, groups, custom_fields, notes, chat, assets, privacy
Tupperboxtupperboxmembers, groups

Prism Adopter

Local-first Flutter app with structured database tables and an encrypted .prism export envelope (currently V3). Broad in scope: members, fronting, groups, custom fields, chat, member board posts, polls, habits, reminders, media, and local sharing.

App shapePluralPort target
headmates[]Member
frontSessions[] + sleepSessions[]FrontPeriod with single-member assignments; sleep via status: "sleep"
memberGroups[] with parentGroupIdGroup + GroupMembership
customFields[] + customFieldValues[]CustomFieldDefinition + CustomFieldValue
conversations[] + messages[] + mediaAttachments[]Conversation + ChatMessage + Attachment
member_board_posts (sync-only, not in .prism export envelope)BoardPost in the boards module

Sheaf Adopter

FastAPI/PostgreSQL app with application-level encryption. It already exposes /v1/export returning JSON v2 with system, members, fronts, groups, tags, custom fields, journals, revision history, board messages, polls, reminders, watch-token notification config, and uploaded-file inventory.

App shapePluralPort target
system objectSystem
members[]Member
fronts[] with inline member_idsFrontPeriod + one FrontAssignment per member_id
groups[] with parent_id + member_idsGroup + GroupMembership
tags[] with inline member_idsTaxonomyTerm + TaxonomyAssignment
custom_fields[] with nested valuesCustomFieldDefinition + CustomFieldValue
journals[]Note
messages[]BoardPost; replies are preserved in extensions for now
polls[], reminders[]extensions.sheaf.* until modules land

PluralSpace Adopter

PluralSpace natively imports and exports OpenPlural v0.1. It supports the chat, boards, provisional relationships, and provisional polls modules. Mood history is preserved under extensions["pluralspace:moods"].

App shapePluralPort target
membersMember records with proxy tags, privacy, profile visibility, pinned state, and template state
fronts and system front typesFrontPeriod with one member assignment per interval; front types become status TaxonomyTerms and TaxonomyAssignments
member rolesRole TaxonomyTerms and TaxonomyAssignments
member groups and membershipsGroup with parent_group_id plus GroupMembership records
custom fields and custom field valuesCustomFieldDefinition and CustomFieldValue records
journal entries and notesNote records distinguished by extensions.kind as journal or note
chat channels and messagesConversation and ChatMessage records with member author IDs
relationship types and member relationshipsProvisional relationships module with RelationshipType and MemberRelationship records
polls, options, and votesProvisional polls module using PluralSpace's current field interpretation
thought of the day entriesSystem-wide BoardPost records with extensions.kind set to thought_of_the_day
system mood entriesextensions["pluralspace:moods"]
member and system mediaAsset records with bundled files, source references, and checksums

Ampersand Research

Offline-first Tauri/Vue app. It has no production interoperable export today; the only normal export is a self-backup .ampar archive, and its interop surface is import-first.

App shapePluralPort target
nested systemsSystem records with parent_system_id
per-member fronting intervalsFrontPeriod + assignment metadata
typed tagsGroup + TaxonomyTerm patterns
custom field valuesCustomFieldDefinition + CustomFieldValue
board messages with pollsBoardPost and extensions

Lighthouse Research

Server-backed Node/Express + PostgreSQL app. Exports a ZIP of CSV files and has a narrow token API. Most of its richer data lands in extensions until a converter is built.

App shapePluralPort target
Subsystems as separate systemsSystem with parent_system_id
Fixed alter fieldsCustomFieldDefinition or taxonomy mapping
relationships column on altersMemberRelationship + RelationshipType via heuristic parse
forums + threads + journalsConversation + Note

Octocon Research

Elixir/Phoenix/ScyllaDB monolith plus Discord bot. It has a full JSON export option, plus Discord-based migration formats that still matter for users exiting before shutdown.

App shapePluralPort target
Alters.Alter with flagsMember; preserve flags in extensions
Fronts.Front rowsFrontPeriod + FrontAssignment
Tags.Tag with parent_tag_idGroup + GroupMembership
Accounts.Field + Alters.Field valuesCustomFieldDefinition + CustomFieldValue
discord_proxies + security_levelProxyTag + Privacy fragment

OpenSelves Research

Smaller offline-first app with browser IndexedDB + a Drizzle/PostgreSQL sync schema. No general export file was found in source, so the portable shape is inferred from DTOs and schema.

App shapePluralPort target
per-member front intervalsFrontPeriod
no groups/custom fields/notes/chatNo portable representation yet

PluralKit Research

Discord bot with a public API and a JSON datafile produced by DataFileService.ExportSystem. It models fronting as switch events rather than intervals.

App shapePluralPort target
switches[] with members arrayFrontEvent + assignment records
members[] with proxy_tagsMember + ProxyTag
flat groups[]Group with null parent_group_id
per-record privacyPrivacy fragment with PluralKit raw detail

Plural Star Research

React Native app with AsyncStorage + filesystem backups. It has tiered fronting, flat groups, definitions + values for custom fields, channels + messages, and noteboards.

App shapePluralPort target
Tiered front periodsFrontPeriod with explicit front_role + source_kind: "tiered"
chatChannels + ps:chat:<id> messagesConversation + ChatMessage
noteboardsBoardPost with target_member_id + pinned

Simply Plural Research

Public token API + raw Mongo export. It still matters because many migration paths flow through it, even though the service is being discontinued.

App shapePluralPort target
Per-member/status intervalsFrontPeriod
Hierarchical groupsGroup with parent_group_id
Custom frontsMember with is_custom_front: true
Privacy bucketsPrivacy fragment
Channels + chat messagesConversation + ChatMessage
boardMessagesBoardPost

Tupperbox Research

Discord bot export that is useful as a migration source, not a long-term portable format. It preserves the member and group model but not a general-purpose import/export contract.

App shapePluralPort target
Discord proxy bot exportMember + Group records; preserve proxy info in extensions
flat groupsGroup with null parent_group_id
no fronting or notes modelNo portable representation yet