Terug naar functies
Mobiele appChat5 min lezen

Versleutelde P2P-chat op Android

Stuur tekst en bestanden rechtstreeks naar andere PlainApp-apparaten op je netwerk. End-to-end versleuteld met XChaCha20-Poly1305, geen centrale server.

Het Chat-scherm is de ingebouwde peer-to-peer-berichtenapp van PlainApp. Open het en je ziet een lijst van elk ander PlainApp-apparaat op je netwerk — gekoppelde peers, ongekoppelde peers die wachten om te worden gekoppeld, en kanalen (groepsgesprekken) die je hebt geopend of aangemaakt. Tik op een ervan en je komt in een gespreksweergave met berichtenbubbels, bijlagen en een versleutelingsindicator per bericht.

Chatten draait volledig op de telefoon. Er is geen centrale server, geen account, geen telefoonnummeropzoeking. Berichten reizen rechtstreeks van jouw apparaat naar het peer-apparaat via het beste beschikbare transport — Wi-Fi Aware wanneer beide apparaten dit ondersteunen, anders het lokale netwerk, met Bluetooth Low Energy als fallback voor ontdekking. Elk bericht is end-to-end versleuteld en de sleutels verlaten nooit de apparaten die ze hebben geproduceerd.

Screenshot: Chat
Chat

Screenshot: Chat
Chat

Belangrijkste mogelijkheden

  • Directe peer-to-peer-berichten — tekst en bestanden rechtstreeks van jouw apparaat naar een ander PlainApp-apparaat, zonder relais in het midden.
  • Kanalen (groepsgesprekken) — maak een kanaal aan en nodig gekoppelde peers uit. Kanaalberichten worden voor elk lid afzonderlijk versleuteld.
  • Bijlagen — voeg foto's, documenten of elk ander bestand toe vanuit het Bestanden-scherm. Bestanden worden versleuteld en via hetzelfde transport als tekst verzonden.
  • Versleutelingsindicator per bericht — elk bericht toont een slotpictogram zodra het is versleuteld en door de peer is bevestigd.
  • Transportfallback — berichten kiezen automatisch het beste beschikbare transport: LAN, Wi-Fi Aware of BLE voor ontdekking.
  • Lange berichten als bestanden — alles boven 2048 tekens wordt automatisch verzonden als een versleuteld tekstbestand in plaats van een tekstbubbel.

Stappenplan

  1. Open het tabblad Chat vanuit de onderste navigatiebalk. De lijst toont de lokale chat (je eigen apparaat), kanalen die je hebt geopend en gekoppelde peers met online-status.
  2. Tik op een gekoppelde peer om het gesprek te openen. Als een peer niet is gekoppeld, tik er dan op om het koppelingsproces te starten — scan de QR-code van de peer of accepteer het koppelingsverzoek.
  3. Typ een bericht in de invoerbalk onderaan en druk op verzenden. Het slotpictogram naast het bericht toont de versleutelingsstatus; het bevestigt zodra de peer de ontvangst bevestigt.
  4. Voeg een bestand bij — tik op de bijlageknop en kies een bestand uit het Bestanden-scherm. Het bestand wordt versleuteld en naar de peer geüpload via het actieve transport.
  5. Controleer de versleutelingsindicator — tik en houd een verzonden bericht ingedrukt om de afleverstatus, versleutelingssleutelvingerafdruk en het gebruikte transport te zien.
  6. Schakel van transport — als een peer bereikbaar is via zowel LAN als Wi-Fi Aware, kiest het gesprek automatisch de snelste. Trek om te vernieuwen om een herverbinding te forceren.

Tips & trucs

  • Koppel beide apparaten eenmalig en ze blijven gekoppeld. Gekoppelde peers maken automatisch opnieuw verbinding wanneer ze weer op hetzelfde netwerk zijn.
  • Maak een kanaal aan om meerdere peers tegelijk te groeperen. Elk lid ontvangt een individueel versleuteld exemplaar van elk bericht.
  • Als een bericht niet kan worden verzonden, tik er dan op om het afleverstatusvenster te openen en opnieuw te proberen zonder opnieuw te typen.
  • Lange berichten (boven 2048 tekens) worden automatisch als versleutelde tekstbestanden verzonden — je hoeft ze niet zelf te splitsen.

Privacy- en beveiligingsnotities

  • Berichten zijn end-to-end versleuteld met XChaCha20-Poly1305. Sleutels worden per gesprek afgeleid en verlaten nooit de deelnemende apparaten.
  • Elk apparaat ondertekent zijn berichten met een Ed25519-sleutel. De peer verifieert de handtekening tegen de openbare sleutel van de afzender, die bij het koppelen wordt uitgewisseld.
  • Koppelen gebruikt ECDH P-256-sleuteluitwisseling om een gedeeld geheim tot stand te brengen. De koppelingshandshake gebeurt via een QR-code-scan of een kortstondig lokaal kanaal; er is geen centrale server bij enige stap betrokken.

Gerelateerde functies