Compare commits

..

1 Commits

Author SHA1 Message Date
missytake ccd58da8e9 fix: show privacy email or invite as link
fix #635
2026-06-17 11:39:07 +02:00
5 changed files with 11 additions and 19 deletions
+1 -6
View File
@@ -8,12 +8,7 @@ Chatmail relay servers are interoperable Mail Transport Agents (MTAs) designed f
- **Instant/Realtime:** sub-second message delivery, realtime P2P
streaming, privacy-preserving Push Notifications for Apple, Google, and Huawei;
- **Security Enforcement**: Only connections with strict TLS are accepted;
all messages must be correctly signed with DKIM and OpenPGP-encrypted with minimized metadata.
There are experimental exceptions for no-DNS relays,
which are allowed use self-signed TLS certificates
and which do not need to DKIM-sign their messages.
Unencrypted messages are allowed in neither case.
- **Security Enforcement**: only strict TLS, DKIM and OpenPGP with minimized metadata accepted
- **Reliable Federation and Decentralization:** No spam or IP reputation checks, federating
depends on established IETF standards and protocols.
+1 -1
View File
@@ -71,7 +71,7 @@ class Config:
self.iroh_relay = iroh_relay.strip()
self.enable_iroh_relay = False
self.privacy_postal = params.pop("privacy_postal", None)
self.privacy_mail = params.pop("privacy_mail", None)
self.privacy_mail = params.pop("admin_contact", params.pop("privacy_mail", None))
self.privacy_pdo = params.pop("privacy_pdo", None)
self.privacy_supervisor = params.pop("privacy_supervisor", None)
+2 -2
View File
@@ -109,8 +109,8 @@ mail_domain = {mail_domain}
# postal address of privacy contact
privacy_postal =
# email address of privacy contact
privacy_mail =
# email address or invite link of admin contact
admin_contact =
# postal address of the privacy data officer
privacy_pdo =
+6 -9
View File
@@ -94,15 +94,12 @@ def _build_webpages(src_dir, build_dir, config):
for path in src_dir.iterdir():
if path.suffix == ".md":
render_vars, content = prepare_template(path)
render_vars["username_min_length"] = int_to_english(
config.username_min_length
)
render_vars["username_max_length"] = int_to_english(
config.username_max_length
)
render_vars["password_min_length"] = int_to_english(
config.password_min_length
)
if config.privacy_mail.startswith("https://"):
render_vars["admin_contact"] = f"<a href='{config.privacy_mail}'>{config.privacy_mail}</a>"
elif "@" in config.privacy_mail:
render_vars["admin_contact"] = f"<a href='mailto:{config.privacy_mail}'>{config.privacy_mail}</a>"
else:
render_vars["admin_contact"] = config.privacy_mail
target = build_dir.joinpath(path.stem + ".html")
# recursive jinja2 rendering
+1 -1
View File
@@ -48,7 +48,7 @@ Responsible for the processing of your personal data is:
{{ config.privacy_postal }}
```
E-mail: {{ config.privacy_mail }}
E-mail: {{ admin_contact }}
We have appointed a data protection officer: