Added eko terms of service and privacy policy and other small changes to

eko
This commit is contained in:
2025-07-08 19:13:40 +03:00
parent c03f344a05
commit a26aa240c6
5 changed files with 155 additions and 16 deletions

View File

@@ -0,0 +1,69 @@
# Privacy Policy
**Last Updated:** July 7, 2025
This Privacy Policy explains how we handle data when you use our anonymous communication platform. The service operates without requiring usersubmitted personal identifiers such as names or email addresses. However, we do process certain technical data (e.g. IP addresses) which may be considered personal data under some laws.
## 1. What We Collect
When using the service, we collect the following:
- **IP address and port** for connection tracking and abuse prevention
- **User ID** a stable 64-bit identifier generated on first login
- **Request data** including message contents and other client requests
- **Usage metrics** such as API usage frequency and session durations
- **System analytics** (optional) OS, architecture, RAM, and terminal-related environment variables
System analytics are enabled by default and can be disabled at any time in the client's local configuration file. They are used solely for technical improvement and never for tracking or profiling. To reduce duplicates, the client may generate a random, local device ID not tied to your account. This ID is used only for aggregate analytics and may appear in short-term logs (see Section 3: Log Retention).
We do not require or collect real names, emails, or similar personal identifiers. If you voluntarily include such data in messages or display names, you do so at your own discretion and are responsible for its content.
## 2. Why We Collect It
We collect this data in order to:
- Maintain the functionality and stability of the service
- Debug issues and monitor abuse
- Improve system performance and reliability
- Analyze aggregate usage patterns
- Understand user environments to improve compatibility and experience
We do **not sell your data to advertisers or third parties**.
## 3. Log Retention
We store logs of requests and connection events, which may include IP addresses, User IDs, and full request content (such as messages or device analytics).
### How Logging Works
- There is always one active log file ("current"), which is written to during runtime.
- The log is rotated either when it exceeds 100MB or every midnight (UTC time) if the server isn't down.
- Each time rotation occurs, the system checks for and deletes any archived logs that are older than 7 days from their rotation timestamp.
**Note:** Logs are typically deleted after approximately 7 to 14 days, but may remain on disk longer if log rotation has not occurred (for example, due to server downtime or low activity).
## 4. Account and Message Deletion
You may delete your account at any time. When this happens:
- Your account is flagged as deleted
- All servers ("networks") **you own** are deleted, along with all messages in those servers ("networks")
Messages youve sent to other servers ("networks") or users ("signals") **are not deleted automatically**, but you may delete them individually if you still have access to them.
Log data associated with your account is retained temporarily as part of standard rotation, even after account deletion.
## 5. User Rights
Under GDPR and similar laws, you can:
- **Access or correct** your data
- **Erase** your account (logs autodelete after approximately 7 to 14 days)
- **Disable** system analytics (connection logs remain under legitimate interest)
To exercise any right, email **eko-app@protonmail.com** with your User ID.
Well make reasonable efforts to respond to verifiable datasubject requests within 30 days.
## 6. Changes to This Policy
We may modify this Privacy Policy at any time, with or without notice. Your continued use of the service after any change constitutes your acceptance of the updated policy.

68
nixosModules/eko-tos.md Normal file
View File

@@ -0,0 +1,68 @@
# Terms of Service
**Last Updated:** July 8, 2025
## 1. Acceptance of Terms
By accessing or using this service, you agree to be bound by these Terms. If you do not agree, do not use the service.
## 2. Service Description & Eligibility
This is the **official public instance** of Eko, an open-source, donation-supported communication platform, operated at `eko.kyren.codes`. It is provided free of charge and operated in good faith by the project maintainers for community use.
This service is **non-commercial**. While voluntary donations may be accepted to support hosting and development, they do not entitle donors to any service guarantees or contractual rights. Donors may receive optional cosmetic recognition (e.g. icons or badges), which has no functional impact on the service.
By accessing our services, you confirm that youre **at least 13 years old** and meet the minimum age required by the laws in your country to accept these terms.
## 3. User Conduct & Termination
You are solely responsible for your actions, behavior, and any content you submit. We may monitor or moderate content at our discretion, but are not obligated to do so. We do not endorse or verify user content, and you agree not to hold us liable for anything you or others post, transmit, or share.
You must not use the service to engage in illegal, harmful, abusive, or otherwise prohibited behavior.
We reserve the right to suspend, restrict, or terminate your access to the service **at any time, for any reason or no reason**, with or without notice, and without obligation to disclose the reason.
## 4. Privacy & Data Collection
Your use of the service is subject to our Privacy Policy.
We do not require or request user-submitted identifiers such as real names or email addresses. However, technical data such as IP addresses and usage information may be logged for abuse prevention and system monitoring purposes. These logs are automatically deleted after approximately 7 to 14 days.
## 5. No Warranty; Use at Your Own Risk
THE SERVICE IS PROVIDED **"AS IS"** AND **"AS AVAILABLE"**, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
TO THE FULLEST EXTENT PERMITTED BY LAW, WE DISCLAIM ALL WARRANTIES, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.
WE DO NOT GUARANTEE THAT THE SERVICE WILL BE UNINTERRUPTED, SECURE, OR ERRORFREE, OR THAT IT WILL MEET YOUR EXPECTATIONS.
You assume full responsibility for any consequences resulting from your use of the service.
## 6. Limitation of Liability
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL THE SERVICE OPERATORS, CONTRIBUTORS, OR ANYONE INVOLVED IN PROVIDING THE SERVICE BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO LOSS OF DATA, PROFITS, GOODWILL, OR OTHER INTANGIBLE LOSSES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
THIS LIMITATION OF LIABILITY APPLIES TO ALL CLAIMS, WHETHER BASED ON WARRANTY, CONTRACT, TORT, STRICT LIABILITY, OR ANY OTHER LEGAL THEORY, AND EVEN IF A REMEDY FAILS OF ITS ESSENTIAL PURPOSE.
## 7. Indemnification
You agree to defend, indemnify, and hold harmless the service operators and contributors from and against any claims, damages, obligations, losses, liabilities, or expenses arising from your use of the service or violation of these Terms.
## 8. Changes to These Terms
We may modify these Terms or discontinue the service at any time, with or without notice. Your continued use of the service after any change constitutes your acceptance of the updated Terms.
## 9. Contact & Data Requests
To exercise rights under applicable privacy laws (such as access or erasure), or for general questions about the service, contact **eko-app@protonmail.com**.
Include your User ID if applicable. We will make reasonable efforts to respond to verifiable requests within 30 days.
## 10. Governing Law & Dispute Resolution
These Terms are governed by the laws of Israel, without regard to conflict-of-law principles. Any dispute arising from or relating to these Terms or the service shall be subject to the exclusive jurisdiction of the courts located in Israel.
Nothing in these Terms limits rights granted by applicable law that cannot be waived by contract.
## 11. Independent Instances
This service is the official public instance of Eko, operated by Kyren223 at `eko.kyren.codes`. Other independently operated instances may exist but are not affiliated with, endorsed by, or responsible to us.
These Terms apply exclusively to the official public instance. Reuse of these Terms by other instances is discouraged, as doing so may result in inaccurate representations or legal confusion.

View File

@@ -21,6 +21,11 @@
sops.secrets.eko-server-cert-key = { owner = "eko"; };
environment.etc = {
"eko/tos.md".text = builtins.readFile ./eko-tos.md;
"eko/privacy.md".text = builtins.readFile ./eko-privacy.md;
};
systemd.services.eko = {
description = "Eko - a secure terminal-based social media";
@@ -28,6 +33,11 @@
after = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
# restartTriggers = [ "/var/lib/eko/eko-server" ];
reloadTriggers = lib.mapAttrsToList (_: v: v.source or null) (
lib.filterAttrs (n: _: lib.hasPrefix "eko/" n) config.environment.etc
);
environment = {
EKO_SERVER_CERT_FILE = config.sops.secrets.eko-server-cert-key.path;
EKO_SERVER_LOG_DIR = "/var/log/eko";
@@ -38,6 +48,7 @@
RestartSec = "10s";
ExecStart = "%S/eko/eko-server";
ExecReload = "${pkgs.coreutils}/bin/kill -SIGHUP $MAINPID";
ConfigurationDirectory = "eko";
StateDirectory = "eko";
@@ -69,9 +80,6 @@
grafana.enable = true;
loki.enable = true;
services.alloy.enable = false;
services.alloy.configPath = "/etc/alloy/config.alloy";
environment.systemPackages = with pkgs; [
grafana-alloy
];

View File

@@ -13,8 +13,6 @@
services.loki.configuration = {
auth_enabled = false;
# limits_config = { volume_enabled = true; };
server = {
http_listen_port = 3100;
};
@@ -27,7 +25,7 @@
};
};
instance_interface_names = [ "ens3" "lo" ];
# added ens3 whichi s the interface in netcup
# added ens3 and lo (loopback) which are the network interfaces on netcup
replication_factor = 1;
path_prefix = "/var/lib/loki";
};
@@ -52,7 +50,7 @@
directory = "/var/lib/loki/chunks";
};
};
};
};
}

View File

@@ -4,12 +4,9 @@ gitea-db-password: ENC[AES256_GCM,data:LHru7hpuT9dmEsfEfcsejfcyoNo2JHITmDzxcqHsj
syncthing-gui-password: ENC[AES256_GCM,data:CSQuswlhnCX1ChRTffWvIFodQ3vU4PmlDj8H7MjtQ7aWEok330V2Cqs/4EV0PnVtFd3uBCQ=,iv:TqNYonoB7ygN3PT67MFjythf8a+gNPEwDNdtNadMHQk=,tag:hnGs0Z59EGOUKtit9wGD+A==,type:str]
nextcloud-admin-password: ENC[AES256_GCM,data:qLpqlcZtXt5q1U0okGplawLP/9xK0M8rM7uMdu6j1ld8G4rT8QhM8dyBTJWQPdopoCbjaOE=,iv:iMZqEOq/zDbCXwAr838SNAi0OyLOaN6RXC6XM4ttNF8=,tag:m7I2Lj0ykm5U9mWr4f/tXA==,type:str]
nextcloud-kyren-password: ENC[AES256_GCM,data:2pAnsX1HHPbA4+3jAtZqQBW0oXX5OtqHQXBxLDlmHs5oT0jxHWY52Wpxh89eW7VOECGI/ro=,iv:mwPgmaAAnRwfy5tl6G+jOQHB4usV3dr86rksL69Ai0Y=,tag:g50tkVft/RatU4BQ6aRpLA==,type:str]
eko-server-cert-key: ENC[AES256_GCM,data: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,iv:pTjCk5oIJbsu1mWRFN5jdYgPVeX7E2GV7I9Y5ZmXkDg=,tag:9HY0Q3afcguJfKx3D7Ffww==,type:str]
eko-server-cert-key-old: ENC[AES256_GCM,data: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,iv:wOtEzZbXIZ3/Av8Tk7fV5OTIB87NnT2+1U1/m0Dpgq8=,tag:W1Quly3lkmPH7FerQyCl6w==,type:str]
eko-server-cert-key: ENC[AES256_GCM,data:I4Qhsh/E9rZ6uezKMP6oJuHc/v3noihN5BY8F4paNUL0Cvk/q7CEhzQqri6rD/JpKheXo48kgqbIcoQPZWiC5vRSSKp3xjSVom7YTlS+5Ny5fHc6brUBakdl+xjyXrxEWMc9KqBrnii40IvWCAGtUaS6OMX72uxKr++4w1TQtWmRfJ0xS8jmv/Yz1Z+CKTnEesIaWocj2NgiNDA0nROMSew8eArRgB8UaZYeYz1Jrv5mv1aA+K1jbcYFNGsY4gcSKsQ9Uzf/KVGxLmkSI/eX7XfCDyXorKhyG1KGFi/U14Yqnxcg4JxVpccUKz4zfAjqS+GovTswMtYAAA5S3fP+pW2SRRhhAWCgvyL77G0ro/3ows0eyPhZaqofFUUOCPaf+8UYctOjdLOq3oIVnNvTMDAC7UsC8TXHDtrrad9fVD7UI8EQEcWG1jQSv+WGx96pWLAryZ3dtjJWLssy9/IBJn7xKUQuqO96eDQV0g/V1bHVKIBLZF7N7XdXEJKG+I2DWpmfBoNmojgieg7YCpBTctpZ/vbOqyA4KimquTpKzjeDIjxHn4lFLJeJKuUUWyGmpf7OyJ1j3wByb/6yKlm7ApPyH2B1NPUoifN3f+dIprAXDdWCCQcJOK/GbtnhwKx2HsFd3LHcQ7Xsmu6PLYfkRHc3ZXslzTU1XZqp6xqUPY3hR8USAl0BOw7a4RCgGZdrJ2AuijQeY/beso3MR9Mp3v0X2kR/k4mdWq+tGZlWco1KoyM2EMDLbV7p7crvRjFxslYqZEvL9FTn/qXxJCzy3S9PD0Uq19kq9hKQ94YkMBMwxi1rSy+L8NXmGTIOaIQijTmxhSHr4ZDdIOzX3zz96Jt41zyS0X2IyY40Iql6Zpj3Y0tMoASm3an+0A3oVi3CGCu8bqMajO+eujjdY1bk7SgmDjypWt3dg3KEzYbvZHBG2P40TGadccgEbyn7qvX/Xgm40o/3F058xkXwnDGFINJqP6OAC1sAnQ3RetkAwTW8iC6kKpjASUsFcp7LJ+xjZT7yYRE78/vfCDIHmEWP4Ab6XESld/JTqQnJ0W7mu89IkW+8cj4zLHZBbm7CyKT8WRc9/2uyOnR25MKl+PGmShSD+d2BUDFIfNr3HCEBamNVA2eU5vRau0yJM0lofPTtxFmUmsH7czhmLPX7maIC1TzN7GRHKBZCBhet0TbHNKn8WgysfrpNlijee1DkQ2J3iGdzfjAE6j67ZqnwxInnm/KCVyorEfBCAcJcZj/+tXw7a5J0bgCu7PzVN2Y5/9sTg+MJ+64gVjULHDjZ8c2eS5EI8AlRr3UR7P09xH/KaQB3oSy4knmFhIJbSfFhqzNgOm99UPvhQv+FEGLE6D4onXAFcEc7CogdpDo6bwjfzLCV9yhpW0QOkTOaeR8iLXTEcHCms8lr/5ZVKZDnQK8t9tVWkDpNXLxeBjbpM9bVQmuL0RGjEi0U9ODzFtV/O/DZjIU245KSl0ikPZH68pV1mPXcJAh3u78g5OuyLAIcgn/bG35jlMl+195mMfnXa/00nQT4YIsLpqJFZg4AGBpa79cF3gYa13X9/RM/DmnIN+OUAFsu3dgzQZIKdUhAzqv7d1DQp3au8QcFR1jVghUAyzExQ+yCabjhjOWLu5rL/gkppjS6urs97f0FEV3f2Om+bdD4Qa6gocRVOVrjr+sWNYL3IqidTfs+rEzfywrRBZhAEuY8RuDXixq0b1TyW18HIn9d6bc36E8uWt0TkFU46gS/V7S0WzAlFvR/wWlMPI6WLYS83RmFsy9Tuoo6LwQsoG1YY3/HxHLsrob3ODj3K2qrvU3ohX+/Zxy/yQoNiFSHMSQXZHbQnHzA4jkhkADLbxwcp2Zv45uXD+yRoeejHnZoyt7wTGfojqcFJlx2ST/miZdJ9tOM2LxKZ+wnL4pITpV5AEu98x7YDFKCZBIOYhscFwLibFC5tciFdfLpGcqPbMOzU/OI3WbxZ4GqW6OICGoxnyBTb7jOA73jHVxDELN6r5PuTEr2wPUFKq5qIosh0KwpwXeAY+Zv8X+M6B7OgTWGuvJbMLPRBZwWd79UvVlOgagLU6jK+bTSblfdHGFsYK48DpCNHE9aOwiQzt1DIzwEkUjR7kvfbV1YXNakDNQSRC1+BInSKbTtufECZYFlFMm0+fDvhjrBBLcMH7qol4hU456rtr1xOsDRSiGiG6S62NScNMgF3F4pZNd7dFMZ4Y3HiOF8PlRrCVX8H295nIYPt/cZo7dAVshoiOcbrTMpX5icG/leJgX9ANHKKcO7OjLfrAbLodawxbu16lgC+zhz6wANXeVX+b7dEDEzeAm0VmCDFbNivzpDJoWkQP3wIBSOojA/27xdLU1w6wGi3v6glm4gOWeLtvjYznAykUFEyRxpQ0nvWdtF41BgVYNYOS+cHBADrm3H8qwUo1fv9hom4EW5bl3MC36ppOQF1zrmFZpq3jgc/GDouMzBhN+m3Ru14+JlvxVF9mHAXTj8JACFLr9YR20A6XUjtTGCIHEOeCkz4g8l/uc/sT4KGv0P+0l87YNFLAMU8QjJc5vJgMM1oA3OpkMh88E4QbUe9O6XBQQNObzHt2sAGVnKxBmqAWLwmJnvr3I1gl1Pcfu7C7OWLT1B5DaogEkMMGRX/mBLTAignj68y8YnGRR9rjPY3TEBLx5r2XZjru6Wj9YPZP0n670U2w5828XdaFTjb88rJQ9ylDBchwoCjCaUos25YlcAmNVtfaH8k7y0wBLGk+9D08H0lQJFwh3yiLgX1FdmUdIA+X00xyR5iW+nSfUB+95dU01W/dcUIKxEgI3krZCRwhSKr0BHPMWCbR76P5Pc/+pyvDR5N8mYwg3uS5TRLqzjTawMAQFa8N9EtDJoWi2q8mk0BYgT8AdmbAFSbFDhlcBz2/SDlucOg6Xomrde/Gz8tTtFIVMY49FqQoK9ZE7FXaU0U/vOzr3130xn21l0lI6CksVVmLbGlzYqAjrBElm5HUxYKCp4jwGgq8/t8JcLYFVhoY5bVl3CUlKcy7rRoMOpUbP0nWlkchu1j+GWUZ9DARCqdG0R5UosYoMwXTn2B+4xpS1a0kCnySm1FFz6MiEJcjxbB3mgsBGNs/8KWG3IkMOzlUPcfyQi0NxinGBETqqYx51xc8MD5w1rKupU88QZVE8w9ttOlKheo3zECtXm+dnx/rqOPL4A0YLQsVqvX+7Rmo8HSqznWxjR+Zeev7bezX3rV2fKLKEWZITLYwsqQvevBCnkxBAU0UTwgdYiW//UQ1iofoycM/wr5cqdEuyP/dM3FGFg5lzfE4yROyFoPIiI591rR/cUMQO4Le182cH+IS3CUxNyQi+2W1O1kB1Ai5sEy0wnliQr4iheNKyf4PzltN7zdoT7Jx8qvimoUUB2PG38sLLVBXmu9idGXfMLEk1UA6Y+jkIqwmASURzmuQR8T5H+KdOE8KkJS8xPqMF/VZL/uGIdPh/cdt8cCubzkjZVokJXMvVZ5ASsiTo0XDrWczIOE6xu9n4VqFTSEIMTOMa2FkmEc4JfVfVj2cii4bH8+49LgxOIeC2K/Vs7YdrebQGo9nEV5DSDfcrg15V2oW4qIq5FFnA1L8TjVx74J8NdBIEPj3zgtuPrcOwdD5ydscIiNNXYQ75vsvSVx0kYQMkwlY0/7Skw5/TxrFJu3FuKjwj1HIXeXULy8fKzD8zHYfp56t74Ecbv8P8/e1far+FiQcFqBdqk6wH9+sPfYjrtL2e10pl7OKgQ08jAD3KQmUhJ0qxugWFtkgxKel1HL+9zt0rqIx+8OeA0yvEgVB+Mf3lLMdSJfdhwtVV6/3SmA5RYS7heJbJtSRda0K3XUrHLBN1U0iqpFn+Uwm9Simh1fBrXkQ3ZrFJMLqWvR3e6tbl5/O5WWAAD75dbsLKBXAOrocE34PL/f598fUUdt9CA6uvxDNJOuypjIJ5GGqFY7iuIFW7pp4h5wRWD8x6SoykW1ZDKL5yIGPPfWstWJEB63OtQ9SDXxKohAC0WKF6Xt+FyOHf6VSo+SXAxfRQs/WNXpK5vC3+P0cDumQ+3X+V+DZDLXcshTO5Y2jBif4z6jK8B/P6H9+WbJPtJcKyfWnO25GejICqxvtzgErDO0XfGxXSYwugfU4dXSOrlPvFYdgeNC+GO6EUQPN2spJCvfDO5bKuooFOc30mVf0Bq2qBL+fGT9alGNkCRilcr31dZZfytgmw9xc1Rq7Vkx9rUcfCDGmOK967875+xM3ZsSrsFhJ+X+wSj3NvUgK4HlwLd9YZMpYhtNF/2tJA0TjI8/TmM84fzCAmd6PFYEj9l+0bjwk4aFLqaY9XCIVd0sGgOYcosHA7ECfC/cCwCUsam8bE=,iv:SU1/paO4V8nharW31acy4MNDk0L302Qqns7U7jHaDj8=,tag:UkH0KB1SWSXAEjT3rXEafg==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1zn3jpeqducllfxlm2l57pq2kqzkg23q8jgu23lyzvfapgnkf8gmqmtchfx
enc: |
@@ -20,8 +17,7 @@ sops:
b254YjZLRm9odks2Y1Erdk1NSU1CVncKnhMnBLjSLfMO3A7gTUI9vIRQvaK07I7k
mQdtsGZM+1FqlbxsFIoqji+xrqAvcBQENott5+tuFM+ePT5EjQUYGg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-01-08T19:32:27Z"
mac: ENC[AES256_GCM,data:S9lMzFE5WQgSrs6j1oUSt4bWCnzGEikky2qHjNT/MMBnnGouws+NnOw6Aak+9BcazYvweQKT1iNMzB4zLRDryU71JNXAu6XmO4tbThmcSzjLIensTFX40r7e5QivljMOUT+de7X/Q6kknQ2TS7rrQi4rYRT3vylU/FaGlhYDPqw=,iv:FsalgaN/g9DHteawRT3klC/Ji8YIGHizr3vJPhZ4SCQ=,tag:O7dj3Zt4hwmMYC7W5SQ3Ew==,type:str]
pgp: []
lastmodified: "2025-07-06T21:25:00Z"
mac: ENC[AES256_GCM,data:+Ci6U61xgNN2sF+w+XEytr4Yavp41kkHy6PjBa/kiyazBPt761vkikGHeXdecRJWhbr72La9BrcXehI+FjSvFKdmozXlIXWCe/mOeNc4qB4Klcr34WmiCJsJ/XlHOnod9ZdM3Ftr2sAyJ7UjiniLYT+alph5sz/P1TJRjkplK1A=,iv:/sL1NZSKNC20Wc/WJmBCj0u2tnJZxcQqHCpTd/iBtGs=,tag:/CkMG5vIiOqC8pnmISBEpg==,type:str]
unencrypted_suffix: _unencrypted
version: 3.9.1
version: 3.10.2