GhostWire is the GhostWeb Enterprise Android communication client derived from the Wire Android open-source codebase.
GhostWire applies the GhostWeb Enterprise identity to a native Android communication client while preserving compatibility-critical parts of the upstream Wire architecture. The goal is a distinct GhostWire experience without breaking protocol interoperability, backend communication or the underlying Kalium integration.
| Area | GhostWire direction |
|---|---|
| Platform | Native Android client |
| Foundation | Wire Android open-source codebase |
| Core architecture | Wire + Kalium compatibility |
| Branding | GhostWire / GhostWeb Enterprise |
| UI | GhostWeb-oriented interface and product identity |
| Development model | Downstream open-source development |
| Current state | Active development · build verification in progress |
GhostWire separates user-visible product identity from compatibility-critical implementation details. Launcher icons, startup surfaces, visible copy and application branding can move to GhostWire while internal identifiers remain untouched when changing them could affect interoperability.
- GhostWire visual identity, launcher assets and user-facing branding.
- GhostWeb-oriented UI and application presentation.
- Project-specific documentation, build verification and release presentation.
- User-visible references where they can safely be migrated.
Namespaces such as com.wire.*, Wire URI schemes, backend endpoints, protocol identifiers, Kalium references, deep links and other compatibility-sensitive resources are not mechanically renamed. Any migration affecting these areas must be explicitly validated first.
| Requirement | Expected environment |
|---|---|
| JDK | 21 |
| Android SDK | Required |
| Android NDK | Required |
| Git submodules | Required |
After cloning, initialize embedded dependencies:
git submodule update --init --recursiveCommon development tasks:
./gradlew compileApp
./gradlew assembleApp
./gradlew runUnitTests
./gradlew staticCodeAnalysisFor additional upstream build and customization details, see CUSTOMIZATION.md.
GhostWire retains the Android project's CI structure for development, pull requests, release candidates and production-oriented builds. The repository also contains dedicated unit-test, UI-test, static-analysis and compatibility workflows.
A successful workflow run alone should not be interpreted as a production-ready release. Release readiness requires verification of the actual packaged application, branding, signing and expected functionality.
The public product name is GhostWire. User-facing assets should follow the GhostWire/GhostWeb Enterprise identity.
Do not perform global replacements of the word wire or upstream package identifiers. Technical references required for Wire/Kalium compatibility should remain intact unless the corresponding migration has been tested end-to-end.
- CUSTOMIZATION.md — build and customization guidance.
- CONTRIBUTING.md — contribution guidance.
- LICENSE — repository licensing terms.
- GhostWire Project Hub — public GhostWeb project page.
GhostWire is derived from the Wire Android open-source project and retains compatibility with upstream components where required.
Wire, Kalium and associated trademarks belong to their respective owners. GhostWeb Enterprise does not claim ownership of the Wire trademark. Upstream source and documentation are available from the Wire Android project on GitHub.
Changes made by GhostWeb Enterprise remain subject to this repository's LICENSE and applicable upstream licensing requirements.
Important
GhostWire is in active development and is not yet considered production-ready. The project is being migrated and verified incrementally so that GhostWire branding and UI changes do not compromise Wire/Kalium compatibility or Android application behavior.
| Area | Status | Goal |
|---|---|---|
| GhostWire branding | 🟡 In progress | Consistent GhostWire identity across Android and project assets |
| UI integration | 🟡 In progress | Complete the GhostWeb-oriented interface across user-visible surfaces |
| Android build | 🟡 Verification | Keep development builds reproducible and CI-verified |
| Wire / Kalium compatibility | 🟡 Preserved & tested | Avoid regressions in protocol, backend and core communication behavior |
| App assets | 🟡 Verification | Confirm launcher, startup and packaged branding in the built application |
| Release readiness | 🔴 Not ready | Require successful build, tests, signing and packaged-app verification |
A GhostWire build should only be treated as release-ready after the relevant CI and packaging gates have passed:
Build → tests → static analysis → compatibility checks → signed package → packaged-app verification → release
Warning
Development artifacts can be incomplete, experimental or unstable. A successful individual workflow does not by itself mean that a build has been security-reviewed or approved for production use.
The immediate priority is to finish the branding/UI migration while preserving upstream compatibility, then verify the resulting Android package end-to-end before promoting a release.
For general GhostWire or GhostWeb Enterprise support:
For security-sensitive reports, avoid publishing credentials, private user information, signing material or unresolved vulnerability details in public issues.
GhostWire · GhostWeb Enterprise
Project Hub · Repository · Actions
Privacy-focused software under active development.