Update PRIVACY.md

This commit is contained in:
Christian Pauly 2020-10-03 08:39:57 +00:00
parent 339c1ed1fa
commit 1a852c6647
1 changed files with 18 additions and 11 deletions

View File

@ -2,31 +2,38 @@
FluffyChat is available on Android, iOS and as a web version. Desktop versions for Windows, Linux and macOS may follow.
## Matrix
* [Matrix](#1)
* [Sentry](#2)
* [Database](#3)
* [Encryption](#4)
* [App Permissions](#5)
* [Push Notifications](#6)
## Matrix<a id="1"/>
FluffyChat uses the Matrix protocol. This means that FluffyChat is just a client that can be connected to any compatible matrix server. The respective data protection agreement of the server selected by the user then applies.
For convenience, one or more servers are set as default that the FluffyChat developers consider trustworthy. The developers of FluffyChat do not guarantee their trustworthiness. Before the first communication, users are informed which server they are connecting to.
FluffyChat only communicates with the selected server and with sentry.io if enabled.
More information is available at: https://matrix.org
More information is available at: [https://matrix.org](https://matrix.org)
## Sentry
## Sentry<a id="2"/>
FluffyChat uses Sentry for crash reports if the user allows it.
More information is available at: https://sentry.io
More information is available at: [https://sentry.io](https://sentry.io)
## Database
## Database<a id="3"/>
FluffyChat caches some data received from the server in a local database on the device of the user.
More information is available at: https://pub.dev/packages/moor
More information is available at: [https://pub.dev/packages/moor](https://pub.dev/packages/moor)
## Encryption
## Encryption<a id="4"/>
All communication of substantive content between Fluffychat and any server is done in secure way, using transport encryption to protect it.
FluffyChat is able to use End-To-End-Encryption as a tech preview.
## App Permissions
## App Permissions<a id="5"/>
The permissions are the same on Android and iOS but may differ in the name. This are the Android Permissions:
@ -35,7 +42,7 @@ FluffyChat needs to have internet access to communicate with the Matrix Server.
#### Vibrate
FluffyChat uses vibration for local notifications. More informations about this are at the used package:
https://pub.dev/packages/flutter_local_notifications
[https://pub.dev/packages/flutter_local_notifications](https://pub.dev/packages/flutter_local_notifications)
#### Record Audio
FluffyChat can send voice messages in a chat and therefore needs to have the permission to record audio.
@ -46,7 +53,7 @@ The user is able to save received files and therefore app needs this permission.
#### Read External Storage
The user is able to send files from the device's file system.
## Push Notifications
## Push Notifications<a id="6"/>
FluffyChat uses the Firebase Cloud Messaging service for push notifications on Android and iOS. This takes place in the following steps:
1. The matrix server sends the push notification to the FluffyChat Push Gateway
2. The FluffyChat Push Gateway forwards the message in a different format to Firebase Cloud Messaging
@ -54,7 +61,7 @@ FluffyChat uses the Firebase Cloud Messaging service for push notifications on A
4. The device receives the push notification from Firebase Cloud Messaging and displays it as a notification
The source code of the push gateway can be viewed here:
https://gitlab.com/famedly/services/famedly-push-gateway
[https://gitlab.com/famedly/services/famedly-push-gateway](https://gitlab.com/famedly/services/famedly-push-gateway)
`event_id_only` is used as the format for the push notification. A typical push notification therefore only contains:
- Event ID