Pluris Haven is an offline-first app for systems, other collectives, individuals, and anyone else who finds its tools useful. It is made by systems and does not assume which words or experiences fit someone.
Made by systems. Designed to welcome everyone without assuming how many are present, which words they use for themselves, or what their experience looks like.
The app works locally without an account. Accounts, encrypted server backups, friends, and other network features are optional. The long-term sync model is transport-independent; a central server is infrastructure, not a requirement for local use.
mobile- Flutter app targeting Android and iOS.website- static SvelteKit project site.server- optional accounts, sessions, friends, password recovery, and encrypted backup storage.
- local member, group, tag, custom-field, front, note, journal, poll, reminder, message, and preference storage
- mobile navigation, dashboard, themes, terminology, and accessibility settings
- tested Simply Plural and PluralKit file/live import paths, plus OpenPlural v0.1 file/archive fixture coverage
- Tupperbox, PluralSpace, and Ampersand file-normalisation paths with checked-in mapper coverage
- local export, password-protected portable recovery, and encrypted server backup upload/download/restore
- optional server accounts, revocable sessions, one-time-token password recovery, encrypted backups, and experimental friends/blocking
- automatic dev prereleases and signed-tag versioned releases through GitHub Actions
- Android AAB/APK release artifacts and Play internal-testing automation after a canonical GitHub release
- an optional native loopback local API with explicit per-client read scopes and
revocation; see
docs/local-api.md
Complete chat/revision product surfaces, Play closed alpha testing, public registration, federation, browser access to private data, and signed iOS/TestFlight distribution are not ready yet. OpenPlural compatibility is currently limited to the verified v0.1 file/archive shape; real-export evidence is still needed before making a broader claim.
- Google Play — testing-track builds when they are available to you.
- Direct APK — official GitHub Releases.
- Obtainium — Add Pluris Haven to Obtainium.
Google Play and GitHub/Obtainium use the same Play-app-signing-key-signed APK lineage. Obtainium follows the official GitHub Release APK, which also has a Pluris Apps OpenPGP detached signature. Pre-alpha releases are GitHub prereleases; the supplied Obtainium configuration intentionally includes them.
docs/project-state.md- current product decisions and implementation statedocs/engineering-readiness.md- current pre-alpha verification and remaining release workdocs/release/mobile.md- mobile dev builds and versioned releasesdocs/mobile-accessibility.md- mobile accessibility rules and device checksdocs/product-goals.md- product boundaries and inclusive language rulesdocs/local-data-model.md- local storage, encryption, and archive boundariesdocs/local-api.md- scoped native loopback integration contractdocs/distribution.md- install channels, Play/GitHub distribution, and funding metadata
For Android Studio, install the Android SDK first and set ANDROID_SDK_ROOT
(or ANDROID_HOME) to it. The bootstrap script will create ignored
android/local.properties only when one does not already exist.
mise trust
mise install
cd mobile
./tool/bootstrap_android_studio.sh
mise exec -- flutter analyze
mise exec -- flutter test
mise exec -- flutter runAndroid Studio should open mobile/ as the Flutter project.
Reusable build targets are available from the repository root:
scripts/build-mobile.sh android-debug
scripts/build-mobile.sh android-release
scripts/build-mobile.sh android-split
scripts/build-mobile.sh ios-check
scripts/build-mobile.sh ios-debugThe iOS targets require macOS and Xcode. Current CI can produce an unsigned IPA that can be re-signed for tester installation with AltStore, SideStore, or Sideloadly; it is not App Store/TestFlight-ready.
cd website
pnpm install
pnpm devLocal data stays local by default. Any online connection must say:
- what service is being connected
- what data leaves the device
- who can read it
- how to disconnect
- what remains after disconnecting
Pluris Haven is a personal tracking and journaling tool. It is not medical care, medical advice, crisis support, or a replacement for professional help.
Pluris Haven is source-available for noncommercial use. Commercial use, including selling builds or hosted access, requires a separate written licence from EndofTimeWorks. See LICENSE.