docs, website: fix typos and grammar errors (#6819)

Fix spelling, grammar, and punctuation issues across documentation
and website content including subject-verb agreement, missing articles,
typos, and broken code snippets.
This commit is contained in:
Narasimha-sc
2026-04-21 18:10:31 +00:00
committed by GitHub
parent 0e1c3fac5c
commit e0b8b0dbe3
17 changed files with 89 additions and 89 deletions

View File

@@ -49,7 +49,7 @@ Please, note, that if you use a modern version of SimpleX, the databases will be
In order to view database data you need to decrypt it first. Install `sqlcipher` using your favorite package manager and run the following commands in the directory with databases:
```bash
sqlcipher files_chat.db
pragma key="youDecryptionPassphrase";
pragma key="yourDecryptionPassphrase";
# Ensure it works fine
select * from users;
```

View File

@@ -9,7 +9,7 @@ SimpleX Chat (aka SimpleX) is a decentralized communication network that provide
This document aims to help you make the best use of SimpleX Chat if you choose to engage with its users.
## Communcate with customers via business address
## Communicate with customers via business address
In the same way you can connect to our "SimpleX Chat team" profile via the app, you can provide the address for your existing and prospective customers:
- to buy your product and services via chat,
@@ -85,7 +85,7 @@ To install SimpleX Chat CLI in the cloud, follow this:
simplex-chat
```
To deattach from running CLI simply press `Ctrl+B` and then `D`.
To detach from a running CLI, simply press `Ctrl+B` and then `D`.
To reattach back to CLI, run: `tmux attach -t simplex-cli`.

View File

@@ -21,7 +21,7 @@ Please discuss the problem you want to solve and your detailed implementation pl
./contributing/CODE.md has details about general requirements common for `simplexmq` and `simplex-chat` repositories.
This files can be used with LLM prompts, e.g. if you use Claude Code you can create CLAUDE.md file in project root importing content from these files:
These files can be used with LLM prompts, e.g. if you use Claude Code you can create CLAUDE.md file in project root importing content from these files:
```markdown
@README.md
@@ -71,7 +71,7 @@ You will have to add `/opt/homebrew/opt/openssl@3.0/bin` to your PATH in order t
1. Make PRs to `master` branch _only_ for both simplex-chat and simplexmq repos.
2. To build core libraries for Android, iOS and windows:
2. To build core libraries for Android, iOS and Windows:
- merge `master` branch to `master-android` branch.
- push to GitHub.

View File

@@ -96,7 +96,7 @@ Group owners are expected to moderate the content in the groups, if members post
We reserve the right to not accept the group listing in the directory or cancel its listing, and there may be cases when we can't provide an explanation. We will certainly try to avoid it by communicating with the group owners first.
The combination of display name and full name has to be unique for the listed groups. If a group uses the name or logo of SimpleX, SimpleX network or SimpleX Chat it must be consistent with [Permitted Uses or SimpleX trademark](./TRADEMARK.md).
The combination of display name and full name has to be unique for the listed groups. If a group uses the name or logo of SimpleX, SimpleX network or SimpleX Chat it must be consistent with [Permitted Uses of SimpleX trademark](./TRADEMARK.md).
Once the group is listed in the directory, the bot will invite you to join the group of the group owners, where you can send any ideas or suggestions for how the groups functionality should evolve, and help steer both the product and the policies.

View File

@@ -7,7 +7,7 @@ permalink: /donate/index.html
Huge thank you to everybody who donated to SimpleX Chat!
We are prioritizing users privacy and security - it would be impossible without your support.
We are prioritizing users' privacy and security - it would be impossible without your support.
Our pledge to our users is that SimpleX protocols are and will remain open, and in public domain, - so anybody can build the future implementations of the clients and the servers. We are building SimpleX platform based on the same principles as email and web, but much more private and secure.

View File

@@ -51,7 +51,7 @@ revision: 13.08.2025
### How do I connect to people?
Tap "pencil" button in the right corner, then "Create 1-time link". Share the link with the person you want to connect to. Your contact has to paste the link to the app's search bar. The link will can also be opened via the browser, once the app is installed.
Tap "pencil" button in the right corner, then "Create 1-time link". Share the link with the person you want to connect to. Your contact has to paste the link to the app's search bar. The link can also be opened via the browser, once the app is installed.
Alternatively, you can show the QR code when meeting in person or in a video call.
@@ -103,7 +103,7 @@ Also see: [I do not see the second tick on the messages I sent](#i-do-not-see-th
### I want to see when my contacts read my messages
To know when your contact read your messages, your contact's app has to send you a confirmation message. And vice versa, for your contact to know when you read the message, your app has to send a confirmation message.
To know when your contact reads your messages, your contact's app has to send you a confirmation message. And vice versa, for your contact to know when you read the message, your app has to send a confirmation message.
The important questions for this feature:
- do you always want that your contacts can see when you read all their messages? Probably, even with your close friends, sometimes you would prefer to have time before you answer their message, and also have a plausible deniability that you have not seen the message. And this should be ok - in the end, this is your device, and it should be for you to decide whether this confirmation message is sent or not, and when it is sent.
@@ -111,7 +111,7 @@ The important questions for this feature:
Overall, it seems that this feature is more damaging to your communications with your contacts than it is helpful. It keeps senders longer in the app, nervously waiting for read receipts, exploiting addictive patterns - having you spend more time in the app is the reason why it is usually present in most messaging apps. It also creates a pressure on the recipients to reply sooner, and if read receipts are opt-in, it creates a pressure to enable it, that can be particularly damaging in any relationships with power imbalance.
We think that delivery receipts are important and equally benefit both sides as the conversation, as they confirm that communication network functions properly. But we strongly believe that read receipts is an anti-feature that only benefits the app developers, and hurts the relations between the app users. So we are not planning to add it even as opt-in. In case you want your contact to know you've read the message put a reaction to it. And if you don't want them to know it - it is also ok, what your device sends should be under your control.
We think that delivery receipts are important and equally benefit both sides as the conversation, as they confirm that communication network functions properly. But we strongly believe that read receipts are an anti-feature that only benefits the app developers, and hurts the relations between the app users. So we are not planning to add it even as opt-in. In case you want your contact to know you've read the message put a reaction to it. And if you don't want them to know it - it is also ok, what your device sends should be under your control.
### Can I use the same profile on desktop? Do messages sync cross-platform?
@@ -130,7 +130,7 @@ We believe that allowing deleting information from your device to your contacts
2) it may be a business communication, and either your organization policy or a compliance requirement is that every message you receive must be preserved for some time.
3) the message can contain a legally binding promise, effectively a contract between you and your contact, in which case you both need to keep it.
4) the messages may contain threat or abuse and you may want to keep them as a proof.
5) you may have paid for the the message (e.g., it can be a design project or consulting report), and you don't want it to suddenly disappear before you had a chance to store it outside of the conversation.
5) you may have paid for the message (e.g., it can be a design project or consulting report), and you don't want it to suddenly disappear before you had a chance to store it outside of the conversation.
It is also important to remember, that even if your contact enabled "Delete for everyone", you cannot really see it as a strong guarantee that the message will be deleted. Your contact's app can have a very simple modification (a one-line code change), that would prevent this deletion from happening when you request it. So you cannot see it as something that guarantees your security from your contacts.
@@ -232,7 +232,7 @@ You may not have the second tick on your sent messages for these reasons:
### I see image preview but cannot open the image
It can be for these reasons:
- your contact did not finish uploading the image file, possibly closing the app too quickly. When the image file is fully uploaded there will be a tick in the _top right corner_ or the image
- your contact did not finish uploading the image file, possibly closing the app too quickly. When the image file is fully uploaded there will be a tick in the _top right corner_ of the image.
- your device fails to receive it. Please check server connectivity and run server tests, and also try increasing network timeouts in Advanced network settings. File reception was substantially improved in v5.7 - please make sure you are using the latest version.
- file expired and can no longer be received. Files can be received only for 2 days after they were sent, after that they won't be available and will show X in the top right corner.
@@ -298,7 +298,7 @@ You can resolve it by deleting the app's database: (WARNING: this results in del
### My mobile app does not connect to desktop app
1. Check that both devices are connected to the same network (e.g., it won't work if mobile is connected to mobile Internet and desktop to WiFi).
2. If you use VPN on mobile, allow connections to local network in you VPN settings, or disable VPN.
2. If you use VPN on mobile, allow connections to local network in your VPN settings, or disable VPN.
3. Allow SimpleX Chat on desktop to accept network connections in system firewall settings. You may choose a specific port in desktop app to accept connections, by default it uses a random port every time.
4. Check that your WiFi router allows connections between devices (e.g., it may have an option for "device isolation", or similar).
5. If you see an error "certificate expired", please check that your device clocks are synchronized within a few seconds.
@@ -312,7 +312,7 @@ If none of the suggestions work for you, you can create a separate profile on ea
### Does SimpleX support post quantum cryptography?
Yes! Please read more about quantum resistant encryption is added to SimpleX Chat and about various properties of end-to-end encryption in [this post](../blog/20240314-simplex-chat-v5-6-quantum-resistance-signal-double-ratchet-algorithm.md).
Yes! Please read more about how quantum-resistant encryption is added to SimpleX Chat and about various properties of end-to-end encryption in [this post](../blog/20240314-simplex-chat-v5-6-quantum-resistance-signal-double-ratchet-algorithm.md).
### Why can't I use the same profile on different devices?
@@ -355,7 +355,7 @@ If the servers didn't upgrade, the messages would temporarily fail to deliver. Y
With private routing enabled, instead of connecting to your contact's server directly, your client would "instruct" one of the known servers to forward the message, preventing the destination server from observing your IP address.
Your messages are additionally end-to-end encrypted between your client and the destination server, so that the forwarding server cannot observe the destination addresses and server responses similarly to how onion routing work. Private message routing is, effectively, a two-hop onion packet routing.
Your messages are additionally end-to-end encrypted between your client and the destination server, so that the forwarding server cannot observe the destination addresses and server responses similarly to how onion routing works. Private message routing is, effectively, a two-hop onion packet routing.
Also, this connection is protected from man-in-the-middle attack by the forwarding server, as your client will validate destination server certificate using its fingerprint in the server address.
@@ -375,7 +375,7 @@ Private message routing routes packets (each message is one 16kb packet), not so
As each message uses its own random encryption key and random (non-sequential) identifier, the destination server cannot link multiple message queue addresses to the same client. At the same time, the forwarding server cannot observe which (and how many) addresses on the destination server your client sends messages to, thanks to e2e encryption between the client and destination server. In that regard, this design is similar to onion routing, but with per-packet anonymity, not per-circuit.
This design is similar to mixnets (e.g. [Nym network](https://nymtech.net)), and it is tailored to the needs of message routing, providing better transport anonymity that general purpose networks, like Tor or VPN. You still can use Tor or VPN to connect to known servers, to protect your IP address from them.
This design is similar to mixnets (e.g. [Nym network](https://nymtech.net)), and it is tailored to the needs of message routing, providing better transport anonymity than general-purpose networks, like Tor or VPN. You still can use Tor or VPN to connect to known servers, to protect your IP address from them.
### Why don't you embed Tor in SimpleX Chat app?

View File

@@ -147,7 +147,7 @@ SimpleX Clients also form a network using SMP relays and IP or some other overla
[Wikipedia](https://en.wikipedia.org/wiki/Overlay_network)
# Non-repudiation
## Non-repudiation
The property of the cryptographic or communication system that allows the recipient of the message to prove to any third party that the sender identified by some cryptographic key sent the message. It is the opposite to [repudiation](#repudiation). While in some context non-repudiation may be desirable (e.g., for contractually binding messages), in the context of private communications it may be undesirable.
@@ -157,7 +157,7 @@ The property of the cryptographic or communication system that allows the recipi
Generalizing [the definition](https://csrc.nist.gov/glossary/term/pairwise_pseudonymous_identifier) from NIST Digital Identity Guidelines, it is an opaque unguessable identifier generated by a service used to access a resource by only one party.
In the context of SimpleX network, these are the identifiers generated by SMP relays to access anonymous messaging queues, with a separate identifier (and access credential) for each accessing party: recipient, sender and and optional notifications subscriber. The same approach is used by XFTP relays to access file chunks, with separate identifiers (and access credentials) for sender and each recipient.
In the context of SimpleX network, these are the identifiers generated by SMP relays to access anonymous messaging queues, with a separate identifier (and access credential) for each accessing party: recipient, sender and an optional notifications subscriber. The same approach is used by XFTP relays to access file chunks, with separate identifiers (and access credentials) for sender and each recipient.
## Peer-to-peer
@@ -177,7 +177,7 @@ The quality of the end-to-end encryption scheme allowing to recover security aga
## Post-quantum cryptography
Any of the proposed cryptographic systems or algorithms that are thought to be secure against an attack by a quantum computer. It appears that as of 2025 there is no system or algorithm that is *proven* to be secure against such attacks, or even to be secure against attacks by massively parallel conventional computers, so a general recommendation is to use post-quantum hybrid cryptography - combining post-quantum and traditional algorigthms.
Any of the proposed cryptographic systems or algorithms that are thought to be secure against an attack by a quantum computer. It appears that as of 2025 there is no system or algorithm that is *proven* to be secure against such attacks, or even to be secure against attacks by massively parallel conventional computers, so a general recommendation is to use post-quantum hybrid cryptography - combining post-quantum and traditional algorithms.
[Wikipedia](https://en.wikipedia.org/wiki/Post-quantum_cryptography)

View File

@@ -46,7 +46,7 @@ echo -e "trust\n5\ny\nquit" | gpg --command-fd 0 --edit-key build@simplex.chat
## Verify release signature
**Linux dekstop apps and CLI**:
**Linux desktop apps and CLI**:
Download the file with executable hashes and the signature. For example, to verify the `v6.5.0-beta.3` release:
@@ -149,13 +149,13 @@ To reproduce the build you must have:
The script executes these steps (please review the script to confirm):
1) builds all Linux CLI and Dekstop binaries for the release in docker container.
1) builds all Linux CLI and Desktop binaries for the release in docker container.
2) downloads binaries from the same GitHub release and compares them with the built binaries.
3) if they all match, generates _sha256sums file with their checksums.
This will take a while.
4. After compilation, you should see the folder named as the tag and reprository name (e.g., `v6.4.8-simplex-chat`) with two subfolders:
4. After compilation, you should see the folder named as the tag and repository name (e.g., `v6.4.8-simplex-chat`) with two subfolders:
```sh
ls v6.4.8-simplex-chat
@@ -169,7 +169,7 @@ To reproduce the build you must have:
### Android apps
In addition to basic requirments, Android build will:
In addition to basic requirements, Android build will:
- Take ~150gb of disc space
- Take ~20h to build all the architectures (depends on core count)

View File

@@ -54,7 +54,7 @@ We will determine the risk of each issue, taking into account our experience dea
**Issue severity levels**
- **CRITICAL severity**. Such issues should affect common configurations and be exploitable with low or medium difficulty. For example: significant disclosure of the encrypted users messages or files either via relays or via communication channels, vulnerabilities which can be easily exploited remotely to compromise clients or servers private keys. These issues will be kept private and will trigger a new release of all supported versions.
- **CRITICAL severity**. Such issues should affect common configurations and be exploitable with low or medium difficulty. For example: significant disclosure of the encrypted users' messages or files either via relays or via communication channels, vulnerabilities which can be easily exploited remotely to compromise clients or servers private keys. These issues will be kept private and will trigger a new release of all supported versions.
- **HIGH severity**. This includes issues that are of a lower risk than critical, possibly due to affecting less common configurations, or have high difficulty to be exploited. These issues will be kept private and will trigger a new release of all supported versions.
- **MEDIUM severity**. This includes issues like crashes in client applications caused by the received messages or files, flaws in protocols that are less commonly used, and local flaws. These will in general be kept private until the next release, and that release will be scheduled so that it can roll up several such flaws at one time.
- **LOW severity**. This includes issues such as those that only affect the SimpleX CLI app, or unlikely configurations, or issues that would be classified as medium but are very difficult to exploit. These will in general be fixed immediately in latest development versions, and may be back-ported to older versions that are still getting updates. These issues may be kept private or be included in commit messages.

View File

@@ -59,7 +59,7 @@ To create SMP server as a systemd service, you'll need:
- Your server domain, with A and AAAA records specifying server IPv4 and IPv6 addresses (`smp1.example.com`)
- A basic Linux knowledge.
*Please note*: while you can run an SMP server without a domain name, in the near future client applications will start using server domain name in the invitation links (instead of `simplex.chat` domain they use now). In case a server does not have domain name and server pages (see below), the clients will be generaing the links with `simplex:` scheme that cannot be opened in the browsers.
*Please note*: while you can run an SMP server without a domain name, in the near future client applications will start using server domain name in the invitation links (instead of `simplex.chat` domain they use now). In case a server does not have domain name and server pages (see below), the clients will be generating the links with `simplex:` scheme that cannot be opened in the browsers.
1. Install server with [Installation script](https://github.com/simplex-chat/simplexmq#using-installation-script).
@@ -82,7 +82,7 @@ To create SMP server as a systemd service, you'll need:
--control-port \
--socks-proxy \
--source-code \
--fqdn=smp1.example.com
--fqdn=smp1.example.com'
```
4. Install tor:
@@ -114,7 +114,7 @@ To create SMP server as a systemd service, you'll need:
```sh
# Enable log (otherwise, tor doesn't seem to deploy onion address)
Log notice file /var/log/tor/notices.log
# Enable single hop routing (2 options below are dependencies of the third) - It will reduce the latency at the cost of lower anonimity of the server - as SMP-server onion address is used in the clients together with public address, this is ok. If you deploy SMP-server with onion-only address, keep standard configuration.
# Enable single hop routing (2 options below are dependencies of the third) - It will reduce the latency at the cost of lower anonymity of the server - as SMP-server onion address is used in the clients together with public address, this is ok. If you deploy SMP-server with onion-only address, keep standard configuration.
SOCKSPort 0
HiddenServiceNonAnonymousMode 1
HiddenServiceSingleHopMode 1
@@ -194,12 +194,12 @@ To create SMP server as a systemd service, you'll need:
key_name='web.key'
cert_name='web.crt'
# Copy certifiacte from Caddy directory to smp-server directory
# Copy certificate from Caddy directory to smp-server directory
cp "${folder_in}/${domain}.crt" "${folder_out}/${cert_name}"
# Assign correct permissions
chown "$user":"$group" "${folder_out}/${cert_name}"
# Copy certifiacte key from Caddy directory to smp-server directory
# Copy certificate key from Caddy directory to smp-server directory
cp "${folder_in}/${domain}.key" "${folder_out}/${key_name}"
# Assign correct permissions
chown "$user":"$group" "${folder_out}/${key_name}"
@@ -535,7 +535,7 @@ To verify server binaries after you downloaded them:
> Good signature from "SimpleX Chat <chat@simplex.chat>"
5. Compute the hashes of the binaries you plan to use with `shu256sum <file>` or with `openssl sha256 <file>` and compare them with the hashes in the file `_sha256sums` - they must be the same.
5. Compute the hashes of the binaries you plan to use with `sha256sum <file>` or with `openssl sha256 <file>` and compare them with the hashes in the file `_sha256sums` - they must be the same.
That is it - you now verified authenticity of our GitHub server binaries.
@@ -634,7 +634,7 @@ to initialize your `smp-server` configuration with:
---
After that, your installation is complete and you should see in your teminal output something like this:
After that, your installation is complete and you should see in your terminal output something like this:
```sh
Certificate request self-signature ok
@@ -742,7 +742,7 @@ websockets: off
[PROXY]
# Network configuration for SMP proxy client.
# `host_mode` can be 'public' (default) or 'onion'.
# It defines prefferred hostname for destination servers with multiple hostnames.
# It defines preferred hostname for destination servers with multiple hostnames.
# host_mode: public
# required_host_mode: off
@@ -757,7 +757,7 @@ websockets: off
# or 'always' to be used for all destination hosts (can be used if it is an .onion server).
# socks_mode: onion
# Limit number of threads a client can spawn to process proxy commands in parrallel.
# Limit number of threads a client can spawn to process proxy commands in parallel.
# client_concurrency: 32
[INACTIVE_CLIENTS]
@@ -823,7 +823,7 @@ Follow the steps to secure your CA keys:
/etc/opt/simplex/ca.key
```
3. Delete the CA key from the server. **Please make sure you've saved you CA key somewhere safe. Otherwise, you would lose the ability to [rotate the online certificate](#online-certificate-rotation)**:
3. Delete the CA key from the server. **Please make sure you've saved your CA key somewhere safe. Otherwise, you would lose the ability to [rotate the online certificate](#online-certificate-rotation)**:
```sh
rm /etc/opt/simplex/ca.key
@@ -913,9 +913,9 @@ SMP-server can also be deployed to be available via [Tor](https://www.torproject
1. Install tor:
We're assuming you're using Ubuntu/Debian based distributions. If not, please refer to [offical tor documentation](https://community.torproject.org/onion-services/setup/install/) or your distribution guide.
We're assuming you're using Ubuntu/Debian based distributions. If not, please refer to [official tor documentation](https://community.torproject.org/onion-services/setup/install/) or your distribution guide.
- Configure offical Tor PPA repository:
- Configure official Tor PPA repository:
```sh
CODENAME="$(lsb_release -c | awk '{print $2}')"
@@ -951,12 +951,12 @@ SMP-server can also be deployed to be available via [Tor](https://www.torproject
vim /etc/tor/torrc
```
And insert the following lines to the bottom of configuration. Please note lines starting with `#`: this is comments about each individual options.
And insert the following lines to the bottom of configuration. Please note lines starting with `#`: these are comments about each individual option.
```sh
# Enable log (otherwise, tor doesn't seem to deploy onion address)
Log notice file /var/log/tor/notices.log
# Enable single hop routing (2 options below are dependencies of the third) - It will reduce the latency at the cost of lower anonimity of the server - as SMP-server onion address is used in the clients together with public address, this is ok. If you deploy SMP-server with onion-only address, you may want to keep standard configuration instead.
# Enable single hop routing (2 options below are dependencies of the third) - It will reduce the latency at the cost of lower anonymity of the server - as SMP-server onion address is used in the clients together with public address, this is ok. If you deploy SMP-server with onion-only address, you may want to keep standard configuration instead.
SOCKSPort 0
HiddenServiceNonAnonymousMode 1
HiddenServiceSingleHopMode 1
@@ -974,7 +974,7 @@ SMP-server can also be deployed to be available via [Tor](https://www.torproject
3. Start tor:
Enable `systemd` service and start tor. Offical `tor` is a bit flaky on the first start and may not create onion host address, so we're restarting it just in case.
Enable `systemd` service and start tor. Official `tor` is a bit flaky on the first start and may not create onion host address, so we're restarting it just in case.
```sh
systemctl enable --now tor && systemctl restart tor
@@ -994,7 +994,7 @@ SMP-server versions starting from `v5.8.0-beta.0` can be configured to PROXY smp
1. Install tor as described in the [previous section](#installation-for-onion-address).
2. Execute the following command to creatae a new Tor daemon instance:
2. Execute the following command to create a new Tor daemon instance:
```sh
tor-instance-create tor2
@@ -1101,7 +1101,7 @@ _Please note:_ this configuration is supported since `v6.1.0-beta.2`.
hosting_country: <HOSTING_PROVIDER_LOCATION>
```
2. Install the webserver. For easy deployment we'll describe the installtion process of [Caddy](https://caddyserver.com) webserver on Ubuntu server:
2. Install the webserver. For easy deployment we'll describe the installation process of [Caddy](https://caddyserver.com) webserver on Ubuntu server:
1. Install the packages:
@@ -1127,7 +1127,7 @@ _Please note:_ this configuration is supported since `v6.1.0-beta.2`.
sudo apt update && sudo apt install caddy
```
[Full Caddy instllation instructions](https://caddyserver.com/docs/install)
[Full Caddy installation instructions](https://caddyserver.com/docs/install)
3. Replace Caddy configuration with the following:
@@ -1176,12 +1176,12 @@ _Please note:_ this configuration is supported since `v6.1.0-beta.2`.
key_name='web.key'
cert_name='web.crt'
# Copy certifiacte from Caddy directory to smp-server directory
# Copy certificate from Caddy directory to smp-server directory
cp "${folder_in}/${domain}.crt" "${folder_out}/${cert_name}"
# Assign correct permissions
chown "$user":"$group" "${folder_out}/${cert_name}"
# Copy certifiacte key from Caddy directory to smp-server directory
# Copy certificate key from Caddy directory to smp-server directory
cp "${folder_in}/${domain}.key" "${folder_out}/${key_name}"
# Assign correct permissions
chown "$user":"$group" "${folder_out}/${key_name}"
@@ -1237,7 +1237,7 @@ smp://<fingerprint>[:<password>]@<public_hostname>[,<onion_hostname>]
- **optional** `<password>`
Your configured password of `smp-server`. You can check your configured pasword in `/etc/opt/simplex/smp-server.ini`, under `[AUTH]` section in `create_password:` field.
Your configured password of `smp-server`. You can check your configured password in `/etc/opt/simplex/smp-server.ini`, under `[AUTH]` section in `create_password:` field.
- `<public_hostname>`, **optional** `<onion_hostname>`
@@ -1368,9 +1368,9 @@ Here's the full list of commands, their descriptions and who can access them.
| `stats-rts` | GHC/Haskell statistics. Can be enabled with `+RTS -T -RTS` option | - |
| `clients` | Clients information. Useful for debugging. | yes |
| `sockets` | General sockets information. | - |
| `socket-threads` | Thread infomation per socket. Useful for debugging. | yes |
| `socket-threads` | Thread information per socket. Useful for debugging. | yes |
| `threads` | Threads information. Useful for debugging. | yes |
| `server-info` | Aggregated server infomation. | - |
| `server-info` | Aggregated server information. | - |
| `delete` | Delete known queue. Useful for content moderation. | - |
| `save` | Save queues/messages from memory. | yes |
| `help` | Help menu. | - |
@@ -1417,31 +1417,31 @@ fromTime,qCreated,qSecured,qDeleted,msgSent,msgRecv,dayMsgQueues,weekMsgQueues,m
| 20 | `pRelays_pRequests` | - requests |
| 21 | `pRelays_pSuccesses` | - successes |
| 22 | `pRelays_pErrorsConnect` | - connection errors |
| 23 | `pRelays_pErrorsCompat` | - compatability errors |
| 23 | `pRelays_pErrorsCompat` | - compatibility errors |
| 24 | `pRelays_pErrorsOther` | - other errors |
| Requested sessions with own relays: |
| 25 | `pRelaysOwn_pRequests` | - requests |
| 26 | `pRelaysOwn_pSuccesses` | - successes |
| 27 | `pRelaysOwn_pErrorsConnect` | - connection errors |
| 28 | `pRelaysOwn_pErrorsCompat` | - compatability errors |
| 28 | `pRelaysOwn_pErrorsCompat` | - compatibility errors |
| 29 | `pRelaysOwn_pErrorsOther` | - other errors |
| Message forwards to all relays: |
| 30 | `pMsgFwds_pRequests` | - requests |
| 31 | `pMsgFwds_pSuccesses` | - successes |
| 32 | `pMsgFwds_pErrorsConnect` | - connection errors |
| 33 | `pMsgFwds_pErrorsCompat` | - compatability errors |
| 33 | `pMsgFwds_pErrorsCompat` | - compatibility errors |
| 34 | `pMsgFwds_pErrorsOther` | - other errors |
| Message forward to own relays: |
| 35 | `pMsgFwdsOwn_pRequests` | - requests |
| 36 | `pMsgFwdsOwn_pSuccesses` | - successes |
| 37 | `pMsgFwdsOwn_pErrorsConnect` | - connection errors |
| 38 | `pMsgFwdsOwn_pErrorsCompat` | - compatability errors |
| 38 | `pMsgFwdsOwn_pErrorsCompat` | - compatibility errors |
| 39 | `pMsgFwdsOwn_pErrorsOther` | - other errors |
| Received message forwards: |
| 40 | `pMsgFwdsRecv` | |
| Message queue subscribtion errors: |
| Message queue subscription errors: |
| 41 | `qSub` | All |
| 42 | `qSubAuth` | Authentication erorrs |
| 42 | `qSubAuth` | Authentication errors |
| 43 | `qSubDuplicate` | Duplicate SUB errors |
| 44 | `qSubProhibited` | Prohibited SUB errors |
| Message errors: |
@@ -1526,9 +1526,9 @@ To update your smp-server to latest version, choose your installation method and
sudo systemctl start smp-server
```
- [Offical installation script](https://github.com/simplex-chat/simplexmq#using-installation-script)
- [Official installation script](https://github.com/simplex-chat/simplexmq#using-installation-script)
1. Execute the followin command:
1. Execute the following command:
```sh
sudo simplex-servers-update
@@ -1640,7 +1640,7 @@ To reproduce the build you must have:
## Configuring the app to use the server
To configure the app to use your messaging server copy it's full address, including password, and add it to the app. You have an option to use your server together with preset servers or without them - you can remove or disable them.
To configure the app to use your messaging server copy its full address, including password, and add it to the app. You have an option to use your server together with preset servers or without them - you can remove or disable them.
It is also possible to share the address of your server with your friends by letting them scan QR code from server settings - it will include server password, so they will be able to receive messages via your server as well.

View File

@@ -89,7 +89,7 @@ There are several P2P chat/messaging protocols and implementations that aim to s
5. All known P2P networks are likely to be vulnerable to [Sybil attack][12], because each node is discoverable, and the network operates as a whole. Known measures to reduce the probability of the Sybil attack either require a centralized component or expensive [proof of work][13]. The proposed design, on the opposite, has no server discoverability - servers are not connected, not known to each other and to all clients. The SimpleX network is fragmented and operates as multiple isolated connections. It makes network-wide attacks on SimpleX network impossible - even if some servers are compromised, other parts of the network can operate normally, and affected clients can switch to using other servers without losing contacts or messages.
6. P2P networks are likely to be [vulnerable][14] to [DRDoS attack][15]. In the proposed design clients only relay traffic from known trusted connection and cannot be used to reflect and amplify the traffic in the whole network.
6. P2P networks are likely to be [vulnerable][14] to [DRDoS attack][15]. In the proposed design clients only relay traffic from known trusted connections and cannot be used to reflect and amplify the traffic in the whole network.
[1]: https://en.wikipedia.org/wiki/End-to-end_encryption
[2]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack

View File

@@ -35,7 +35,7 @@ The steps are:
### Translating Android app
1. Please start from [Android app](https://hosted.weblate.org/projects/simplex-chat/android/), both when you do the most time-consuming initial translation, and add any strings later. Firstly, iOS strings can be a bit delayed from appearing in Weblate, as it requires a manual step from us before they are visible. Secondary, Android app is set up as a glossary for iOS app, and 2/3 of all strings require just to clicks to transfer them from Android to iOS (it still takes some time, Weblate doesn't automate it, unfortunately).
1. Please start from [Android app](https://hosted.weblate.org/projects/simplex-chat/android/), both when you do the most time-consuming initial translation, and add any strings later. Firstly, iOS strings can be a bit delayed from appearing in Weblate, as it requires a manual step from us before they are visible. Secondly, Android app is set up as a glossary for iOS app, and 2/3 of all strings require just two clicks to transfer them from Android to iOS (it still takes some time, Weblate doesn't automate it, unfortunately).
2. Some of the strings do not need translations, but they still need to be copied over - there is a button in weblate UI for that:

View File

@@ -18,7 +18,7 @@ For this guide, we'll be using the most featureful and battle-tested STUN/TURN s
1. Install `coturn` package from the main repository.
```sh
apt update && apt install coturn`
apt update && apt install coturn
```
2. Uncomment `TURNSERVER_ENABLED=1` from `/etc/default/coturn`:
@@ -44,7 +44,7 @@ user=$YOUR_LOGIN:$YOUR_PASSWORD
server-name=$YOUR_DOMAIN
# The default realm to be used for the users when no explicit origin/realm relationship was found
realm=$YOUR_DOMAIN
# Path to your certificates. Make sure they're readable by cotun process user/group
# Path to your certificates. Make sure they're readable by coturn process user/group
cert=/var/lib/turn/cert.pem
pkey=/var/lib/turn/key.pem
# Use 2066 bits predefined DH TLS key
@@ -97,7 +97,7 @@ To configure your mobile app to use your server:
1. Open `Settings / Network & Servers / WebRTC ICE servers` and switch toggle `Configure ICE servers`.
2. Enter all server addresses in the field, one per line, for example if you servers are on the port 5349:
2. Enter all server addresses in the field, one per line, for example if your servers are on the port 5349:
```
stun:stun.example.com:5349
@@ -116,7 +116,7 @@ This is it - you now can make audio and video calls via your own server, without
ping <your_ip_or_domain>
```
If packets being transmitted, server is up!
If packets are being transmitted, the server is up!
- **Determine if ports are open**:

View File

@@ -9,7 +9,7 @@ revision: 31.07.2023
- [Overview](#overview)
- [Installation options](#installation-options)
- [systemd service](#systemd-service) with [installation script](#installation-script) or [manually](#manual-deployment)
- [docker container](#docker-сontainer)
- [docker container](#docker-container)
- [Linode marketplace](#linode-marketplace)
- [Tor installation](#tor-installation)
- [Configuration](#configuration)
@@ -72,7 +72,7 @@ Manual installation is the most advanced deployment that provides the most flexi
1. Install binary:
- Using offical binaries:
- Using official binaries:
```sh
curl -L https://github.com/simplex-chat/simplexmq/releases/latest/download/xftp-server-ubuntu-20_04-x86-64 -o /usr/local/bin/xftp-server && chmod +x /usr/local/bin/xftp-server
@@ -129,9 +129,9 @@ Manual installation is the most advanced deployment that provides the most flexi
And execute `sudo systemctl daemon-reload`.
### Docker сontainer
### Docker container
You can deploy smp-server using Docker Compose. This is second recommended option due to its popularity and relatively easy deployment.
You can deploy xftp-server using Docker Compose. This is the second recommended option due to its popularity and relatively easy deployment.
This deployment provides two Docker Compose files: the **automatic** one and **manual**. If you're not sure, choose **automatic**.
@@ -197,9 +197,9 @@ xftp-server can also be deployed to serve from [tor](https://www.torproject.org)
1. Install tor:
We're assuming you're using Ubuntu/Debian based distributions. If not, please refer to [offical tor documentation](https://community.torproject.org/onion-services/setup/install/) or your distribution guide.
We're assuming you're using Ubuntu/Debian based distributions. If not, please refer to [official tor documentation](https://community.torproject.org/onion-services/setup/install/) or your distribution guide.
- Configure offical Tor PPA repository:
- Configure official Tor PPA repository:
```sh
CODENAME="$(lsb_release -c | awk '{print $2}')"
@@ -235,10 +235,10 @@ xftp-server can also be deployed to serve from [tor](https://www.torproject.org)
vim /etc/tor/torrc
```
And insert the following lines to the bottom of configuration. Please note lines starting with `#`: this is comments about each individual options.
And insert the following lines to the bottom of configuration. Please note lines starting with `#`: these are comments about each individual option.
```sh
# Enable log (otherwise, tor doesn't seemd to deploy onion address)
# Enable log (otherwise, tor doesn't seem to deploy onion address)
Log notice file /var/log/tor/notices.log
# Enable single hop routing (2 options below are dependencies of third). Will reduce latency in exchange of anonimity (since tor runs alongside xftp-server and onion address will be displayed in clients, this is totally fine)
SOCKSPort 0
@@ -257,7 +257,7 @@ xftp-server can also be deployed to serve from [tor](https://www.torproject.org)
3. Start tor:
Enable `systemd` service and start tor. Offical `tor` is a bit flunky on the first start and may not create onion host address, so we're restarting it just in case.
Enable `systemd` service and start tor. Official `tor` is a bit flaky on the first start and may not create onion host address, so we're restarting it just in case.
```sh
systemctl enable tor && systemctl start tor && systemctl restart tor
@@ -356,7 +356,7 @@ To password-protect your `xftp-server`, change it in the configuration:
```
---
After that, your installation is complete and you should see in your teminal output something like this:
After that, your installation is complete and you should see in your terminal output something like this:
```sh
Certificate request self-signature ok
@@ -398,7 +398,7 @@ xftp://<fingerprint>[:<password>]@<public_hostname>[,<onion_hostname>]
- **optional** `<password>`
Your configured password of `xftp-server`. You can check your configured pasword in `/etc/opt/simplex-xftp/file-server.ini`, under `[AUTH]` section in `create_password:` field.
Your configured password of `xftp-server`. You can check your configured password in `/etc/opt/simplex-xftp/file-server.ini`, under `[AUTH]` section in `create_password:` field.
- `<public_hostname>`, **optional** `<onion_hostname>`
@@ -609,8 +609,8 @@ To update your XFTP server to latest version, choose your installation method an
sudo systemctl start xftp-server
```
- [Offical installation script](https://github.com/simplex-chat/simplexmq#using-installation-script)
1. Execute the followin command:
- [Official installation script](https://github.com/simplex-chat/simplexmq#using-installation-script)
1. Execute the following command:
```sh
sudo simplex-servers-update
```

View File

@@ -18,7 +18,7 @@
"simplex-explained-tab-2-p-1": "For each connection you use two separate messaging queues to send and receive messages via different servers.",
"simplex-explained-tab-2-p-2": "Servers only pass messages one way, without having the full picture of user&apos;s conversations or connections.",
"simplex-explained-tab-3-p-1": "The servers have separate anonymous credentials for each queue, and do not know which users they belong to.",
"simplex-explained-tab-3-p-2": "Users can further improve metadata privacy by using Tor to access servers, preventing corellation by IP address.",
"simplex-explained-tab-3-p-2": "Users can further improve metadata privacy by using Tor to access servers, preventing correlation by IP address.",
"chat-bot-example": "Chat bot example",
"smp-protocol": "SMP protocol",
"chat-protocol": "Chat protocol",
@@ -76,7 +76,7 @@
"simplex-private-card-9-point-1": "Each message queue passes messages in one direction, with the different send and receive addresses.",
"simplex-private-card-9-point-2": "It reduces the attack vectors, compared with traditional message brokers, and available meta-data.",
"simplex-private-card-10-point-1": "SimpleX uses temporary anonymous pairwise addresses and credentials for each user contact or group member.",
"simplex-private-card-10-point-2": "It allows to deliver messages without user profile identifiers, providing better meta-data privacy than alternatives.",
"simplex-private-card-10-point-2": "It allows messages to be delivered without user profile identifiers, providing better meta-data privacy than alternatives.",
"privacy-matters-1-title": "Advertising and price discrimination",
"privacy-matters-1-overlay-1-title": "Privacy saves you money",
"privacy-matters-1-overlay-1-linkText": "Privacy saves you money",
@@ -113,13 +113,13 @@
"simplex-network-overlay-card-1-li-3": "P2P does not solve <a href=\"https://en.wikipedia.org/wiki/Man-in-the-middle_attack\">MITM attack</a> problem, and most existing implementations do not use out-of-band messages for the initial key exchange. SimpleX uses out-of-band messages or, in some cases, pre-existing secure and trusted connections for the initial key exchange.",
"simplex-network-overlay-card-1-li-4": "P2P implementations can be blocked by some Internet providers (like <a href=\"https://en.wikipedia.org/wiki/BitTorrent\">BitTorrent</a>). SimpleX is transport agnostic &mdash; it can work over standard web protocols, e.g. WebSockets.",
"simplex-network-overlay-card-1-li-5": "All known P2P networks may be vulnerable to <a href=\"https://en.wikipedia.org/wiki/Sybil_attack\">Sybil attack</a>, because each node is discoverable, and the network operates as a whole. Known measures to mitigate it require either a centralized component or expensive <a href=\"https://en.wikipedia.org/wiki/Proof_of_work\">proof of work</a>. SimpleX network has no server discoverability, it is fragmented and operates as multiple isolated sub-networks, making network-wide attacks impossible.",
"simplex-network-overlay-card-1-li-6": "P2P networks may be vulnerable to <a href=\"https://www.usenix.org/conference/woot15/workshop-program/presentation/p2p-file-sharing-hell-exploiting-bittorrent\">DRDoS attack</a>, when the clients can rebroadcast and amplify traffic, resulting in network-wide denial of service. SimpleX clients only relay traffic from known connection and cannot be used by an attacker to amplify the traffic in the whole network.",
"simplex-network-overlay-card-1-li-6": "P2P networks may be vulnerable to <a href=\"https://www.usenix.org/conference/woot15/workshop-program/presentation/p2p-file-sharing-hell-exploiting-bittorrent\">DRDoS attack</a>, when the clients can rebroadcast and amplify traffic, resulting in network-wide denial of service. SimpleX clients only relay traffic from known connections and cannot be used by an attacker to amplify the traffic in the whole network.",
"privacy-matters-overlay-card-1-p-1": "Many large companies use information about who you are connected with to estimate your income, sell you the products you don&apos;t really need, and to determine the prices.",
"privacy-matters-overlay-card-1-p-2": "Online retailers know that people with lower incomes are more likely to make urgent purchases, so they may charge higher prices or remove discounts.",
"privacy-matters-overlay-card-1-p-3": "Some financial and insurance companies use social graphs to determine interest rates and premiums. It often makes people with lower incomes pay more &mdash; it is known as <a href=\"https://fairbydesign.com/povertypremium/\" target=\"_blank\">\"poverty premium\"</a>.",
"privacy-matters-overlay-card-1-p-4": "SimpleX network protects the privacy of your connections better than any alternative, fully preventing your social graph becoming available to any companies or organizations. Even when people use servers preconfigured in SimpleX Chat apps, server operators do not know the number of users or their connections.",
"privacy-matters-overlay-card-1-p-4": "SimpleX network protects the privacy of your connections better than any alternative, fully preventing your social graph from becoming available to any companies or organizations. Even when people use servers preconfigured in SimpleX Chat apps, server operators do not know the number of users or their connections.",
"privacy-matters-overlay-card-2-p-1": "Not so long ago we observed the major elections being manipulated by <a href=\"https://en.wikipedia.org/wiki/FacebookCambridge_Analytica_data_scandal\" target=\"_blank\">a reputable consulting company</a> that used our social graphs to distort our view of the real world and manipulate our votes.",
"privacy-matters-overlay-card-2-p-2": "To be objective and to make independent decisions you need to be in control of your information space. It is only possible if you use private communication network that does not have access to your social graph.",
"privacy-matters-overlay-card-2-p-2": "To be objective and to make independent decisions you need to be in control of your information space. It is only possible if you use a private communication network that does not have access to your social graph.",
"privacy-matters-overlay-card-2-p-3": "SimpleX is the first network that doesn&apos;t have any user identifiers by design, in this way protecting your connections graph better than any known alternative.",
"privacy-matters-overlay-card-3-p-1": "Everyone should care about privacy and security of their communications &mdash; harmless conversations can put you in danger, even if you have nothing to hide.",
"privacy-matters-overlay-card-3-p-2": "One of the most shocking stories is the experience of <a href=\"https://en.wikipedia.org/wiki/Mohamedou_Ould_Slahi\" target=\"_blank\">Mohamedou Ould Salahi</a> described in his memoir and shown in The Mauritanian movie. He was put into Guantanamo camp, without trial, and was tortured there for 15 years after a phone call to his relative in Afghanistan, under suspicion of being involved in 9/11 attacks, even though he lived in Germany for the previous 10 years.",
@@ -135,7 +135,7 @@
"simplex-unique-overlay-card-3-p-3": "Unlike federated networks servers (email, XMPP or Matrix), SimpleX servers don&apos;t store user accounts, they only relay messages, protecting the privacy of both parties.",
"simplex-unique-overlay-card-3-p-4": "There are no identifiers or ciphertext in common between sent and received server traffic &mdash; if anybody is observing it, they cannot easily determine who communicates with whom, even if TLS is compromised.",
"simplex-unique-overlay-card-4-p-1": "You can <strong>use SimpleX with your own servers</strong> and still communicate with people who use the servers preconfigured in the apps.",
"simplex-unique-overlay-card-4-p-2": "SimpleX network uses an <a href=\"https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md\" target=\"_blank\">open protocol</a> and provides <a href=\"https://github.com/simplex-chat/simplex-chat/tree/stable/packages/simplex-chat-client/typescript\" target=\"_blank\">SDK to create chat bots</a>, allowing implementation of services that users can interact with via SimpleX Chat apps &mdash; we&apos;re really looking forward to see what SimpleX services you will build.",
"simplex-unique-overlay-card-4-p-2": "SimpleX network uses an <a href=\"https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md\" target=\"_blank\">open protocol</a> and provides <a href=\"https://github.com/simplex-chat/simplex-chat/tree/stable/packages/simplex-chat-client/typescript\" target=\"_blank\">SDK to create chat bots</a>, allowing implementation of services that users can interact with via SimpleX Chat apps &mdash; we&apos;re really looking forward to seeing what SimpleX services you will build.",
"simplex-unique-overlay-card-4-p-3": "If you are considering developing for the SimpleX network, for example, the chat bot for SimpleX app users, or the integration of the SimpleX Chat library into your mobile apps, please <a href=\"https://simplex.chat/contact#/?v=1&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FK1rslx-m5bpXVIdMZg9NLUZ_8JBm8xTt%23MCowBQYDK2VuAyEALDeVe-sG8mRY22LsXlPgiwTNs9dbiLrNuA7f3ZMAJ2w%3D\" target=\"_blank\">get in touch</a> for any advice and support.",
"simplex-unique-card-1-p-1": "SimpleX protects the privacy of your profile, contacts and metadata, hiding it from SimpleX network servers and any observers.",
"simplex-unique-card-1-p-2": "Unlike any other existing messaging network, SimpleX has no identifiers assigned to the users &mdash; <strong>not even random numbers</strong>.",
@@ -166,7 +166,7 @@
"to-make-a-connection": "To make a connection:",
"install-simplex-app": "Install SimpleX app",
"connect-in-app": "Connect in app",
"open-simplex-app": "Open Simplex app",
"open-simplex-app": "Open SimpleX app",
"tap-the-connect-button-in-the-app": "Tap the <span class=\"text-active-blue\">\"connect\"</span> button in the app",
"scan-the-qr-code-with-the-simplex-chat-app": "Scan the QR code with the SimpleX Chat app",
"scan-the-qr-code-with-the-simplex-chat-app-description": "The public keys and message queue address in this link are NOT sent over the network when you view this page &mdash;<br> they are contained in the hash fragment of the link URL.",

View File

@@ -268,7 +268,7 @@ active_directory: true
<p>Welcome to the selected users' communities that you can join via <a href="/downloads">SimpleX Chat
app</a>.</p>
<p>SimpleX Directory is also available as a <a href="https://smp4.simplex.im/a#lXUjJW5vHYQzoLYgmi8GbxkGP41_kjefFvBrdwg-0Ok" target="_blank">SimpleX chat bot</a>.</p>
<p>Read about <a href="/docs/directory.html">how to add</a> your community</a>.</p>
<p>Read about <a href="/docs/directory.html">how to add</a> your community.</p>
<div class="search-container">
<input id="search" autocomplete="off">
<div id="top-pagination" class="pagination">

View File

@@ -16,7 +16,7 @@ Community Vouchers offer the solution - they are prepaid infrastructure credits
These vouchers are not tradable tokens or speculative assets — there will be no pre-sale or emission. It's a method to pay directly for the network infrastructure while maintaining privacy.
For early access to test vouchers, if you're familiar with cryptocurrencies, <a href="javascript:void(0);" data-show-overlay="mint-simplex-nft" class="open-overlay-btn">get a free access pass</a> to the test version &mdash; a free non-transferrable NFT on Ethereum mainnet, you only need to pay for gas.
For early access to test vouchers, if you're familiar with cryptocurrencies, <a href="javascript:void(0);" data-show-overlay="mint-simplex-nft" class="open-overlay-btn">get a free access pass</a> to the test version &mdash; a free non-transferable NFT on Ethereum mainnet, you only need to pay for gas.
## Why Community Vouchers?
@@ -37,11 +37,11 @@ In short:
<img src="/img/design_3/community_vouchers_dark.jpg" width="38%" class="float-to-right hidden dark:block">
- Buy Community Vouchers. Initially you would pay with a stablecoin (USDT/USDC). The goal to allow using other popular cryptocurrencies (BTC/ETH/XMR) and also in-app payments - to make direct usage of blockchain optional for the end users.
- Buy Community Vouchers. Initially you would pay with a stablecoin (USDT/USDC). The goal is to allow using other popular cryptocurrencies (BTC/ETH/XMR) and also in-app payments - to make direct usage of blockchain optional for the end users.
- Funds are locked in an autonomous smart contract not controlled by SimpleX Chat company or by anybody else.
- Assign the Community Voucher to a group or channel you want, using it's public address. This assignment is private, and group owners or server operators won't be able to link it to the purchase, thanks to zero-knowledge proofs.
- Assign the Community Voucher to a group or channel you want, using its public address. This assignment is private, and group owners or server operators won't be able to link it to the purchase, thanks to zero-knowledge proofs.
- Group or channel owners redeem the Vouchers to the server operators they use. The redemption is also private, and not linkable to the assignment or purchase.
@@ -57,14 +57,14 @@ It's the only way to make SimpleX network truly decentralized and secure:
- Private and secure payments based on zero-knowledge proofs in smart-contracts.
We are currently evaluating several popular blockchains that have strong support for zero-knowledge proofs - technology that support private operations on public blockchains.
We are currently evaluating several popular blockchains that have strong support for zero-knowledge proofs - technology that supports private operations on public blockchains.
## Timeline & How to Get Involved
**2025**:
- evaluating blockchains,
- drafting Community Vouchers whitepaper about system and cryptography design for Community Vouchers.
- development of large group and communities.
- development of large groups and communities.
We welcome your feedback on this proposal and any in-progress design documents.
@@ -114,7 +114,7 @@ Server operators will receive up to 70% of the infrastructure payments. A higher
- more reliable servers,
- servers that operated for a longer time.
**What is technology design?**
**What is the technology design?**
[The conceptual design](https://github.com/simplex-chat/simplex-chat/blob/master/docs/rfcs/2025-12-10-vouchers-2.md) for Community Vouchers uses zero-knowledge proofs, making the purchase, assigning vouchers to groups and their redemptions unlinkable.