Compare commits

...

No commits in common. "main" and "pages-dev" have entirely different histories.

78 changed files with 11518 additions and 2658 deletions

1
.domains Normal file
View file

@ -0,0 +1 @@
dev.private.coffee

View file

@ -1,74 +0,0 @@
name: Build and Deploy Dark-theme Static Site
on:
push:
branches:
- main
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
build:
runs-on: docker
container: git.private.coffee/privatecoffee/static-site-builder:latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
run: |
python3 -m pip install -r requirements.txt --break-system-packages
- name: Generate static site
run: python3 main.py --theme dark --domains dark.private.coffee
- name: Set up SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -t ed25519 git.private.coffee >> ~/.ssh/known_hosts
# Create SSH config file to ensure the correct identity file is used
echo "Host git.private.coffee" > ~/.ssh/config
echo " IdentityFile ~/.ssh/id_ed25519" >> ~/.ssh/config
echo " IdentitiesOnly yes" >> ~/.ssh/config
chmod 600 ~/.ssh/config
- name: Deploy to pages-dark branch
run: |
# Configure Git
git config --global user.name "Forgejo"
git config --global user.email "noreply@private.coffee"
# Move generated static site files to a temporary location
mv build ../static_site_temp
cp .gitignore ../static_site_temp
# Create a new orphan branch named 'pages-dark'
git checkout --orphan pages-dark
# Remove all files from the working directory
git rm -rf .
# Move the static site files back to the working directory
mv ../static_site_temp/* ./
mv ../static_site_temp/.* ./ 2>/dev/null || true
# Add and commit the static site files
git add .
git commit -m "Deploy static site"
# Set the URL again
git remote set-url origin "git@git.private.coffee:PrivateCoffee/privatecoffee-website.git"
# Force push to the 'pages-dark' branch
git push origin pages-dark --force
- name: Save as artifact
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
name: static-site.zip
path: .

View file

@ -1,76 +0,0 @@
name: Build and Deploy Development Static Site
on:
push:
branches:
- dev
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
build:
runs-on: docker
container: git.private.coffee/privatecoffee/static-site-builder:latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: dev
- name: Install dependencies
run: |
python3 -m pip install -r requirements.txt --break-system-packages
- name: Generate static site
run: python3 main.py --dev --domains dev.private.coffee
- name: Set up SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -t ed25519 git.private.coffee >> ~/.ssh/known_hosts
# Create SSH config file to ensure the correct identity file is used
echo "Host git.private.coffee" > ~/.ssh/config
echo " IdentityFile ~/.ssh/id_ed25519" >> ~/.ssh/config
echo " IdentitiesOnly yes" >> ~/.ssh/config
chmod 600 ~/.ssh/config
- name: Deploy to pages-dev branch
run: |
# Configure Git
git config --global user.name "Forgejo"
git config --global user.email "noreply@private.coffee"
# Move generated static site files to a temporary location
mv build ../static_site_temp
cp .gitignore ../static_site_temp
# Create a new orphan branch named 'pages-dev'
git checkout --orphan pages-dev
# Remove all files from the working directory
git rm -rf .
# Move the static site files back to the working directory
mv ../static_site_temp/* ./
mv ../static_site_temp/.* ./ 2>/dev/null || true
# Add and commit the static site files
git add .
git commit -m "Deploy static site"
# Set the URL again
git remote set-url origin "git@git.private.coffee:PrivateCoffee/privatecoffee-website.git"
# Force push to the 'pages-dev' branch
git push origin pages-dev --force
- name: Save as artifact
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
name: static-site.zip
path: .

View file

@ -1,74 +0,0 @@
name: Build and Deploy Pride-Theme Static Site
on:
push:
branches:
- main
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
build:
runs-on: docker
container: git.private.coffee/privatecoffee/static-site-builder:latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
run: |
python3 -m pip install -r requirements.txt --break-system-packages
- name: Generate static site
run: python3 main.py --theme pride --domains pride.coffee,www.pride.coffee
- name: Set up SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -t ed25519 git.private.coffee >> ~/.ssh/known_hosts
# Create SSH config file to ensure the correct identity file is used
echo "Host git.private.coffee" > ~/.ssh/config
echo " IdentityFile ~/.ssh/id_ed25519" >> ~/.ssh/config
echo " IdentitiesOnly yes" >> ~/.ssh/config
chmod 600 ~/.ssh/config
- name: Deploy to pages-pride branch
run: |
# Configure Git
git config --global user.name "Forgejo"
git config --global user.email "noreply@private.coffee"
# Move generated static site files to a temporary location
mv build ../static_site_temp
cp .gitignore ../static_site_temp
# Create a new orphan branch named 'pages-pride'
git checkout --orphan pages-pride
# Remove all files from the working directory
git rm -rf .
# Move the static site files back to the working directory
mv ../static_site_temp/* ./
mv ../static_site_temp/.* ./ 2>/dev/null || true
# Add and commit the static site files
git add .
git commit -m "Deploy static site"
# Set the URL again
git remote set-url origin "git@git.private.coffee:PrivateCoffee/privatecoffee-website.git"
# Force push to the 'pages-pride' branch
git push origin pages-pride --force
- name: Save as artifact
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
name: static-site.zip
path: .

View file

@ -1,74 +0,0 @@
name: Build and Deploy Static Site
on:
push:
branches:
- main
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
build:
runs-on: docker
container: git.private.coffee/privatecoffee/static-site-builder:latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
run: |
python3 -m pip install -r requirements.txt --break-system-packages
- name: Generate static site
run: python3 main.py
- name: Set up SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -t ed25519 git.private.coffee >> ~/.ssh/known_hosts
# Create SSH config file to ensure the correct identity file is used
echo "Host git.private.coffee" > ~/.ssh/config
echo " IdentityFile ~/.ssh/id_ed25519" >> ~/.ssh/config
echo " IdentitiesOnly yes" >> ~/.ssh/config
chmod 600 ~/.ssh/config
- name: Deploy to pages branch
run: |
# Configure Git
git config --global user.name "Forgejo"
git config --global user.email "noreply@private.coffee"
# Move generated static site files to a temporary location
mv build ../static_site_temp
cp .gitignore ../static_site_temp
# Create a new orphan branch named 'pages'
git checkout --orphan pages
# Remove all files from the working directory
git rm -rf .
# Move the static site files back to the working directory
mv ../static_site_temp/* ./
mv ../static_site_temp/.* ./ 2>/dev/null || true
# Add and commit the static site files
git add .
git commit -m "Deploy static site"
# Set the URL again
git remote set-url origin "git@git.private.coffee:PrivateCoffee/privatecoffee-website.git"
# Force push to the 'pages' branch
git push origin pages --force
- name: Save as artifact
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
name: static-site.zip
path: .

View file

@ -1,4 +0,0 @@
/assets/dist
/assets/img
/assets/*.asc
/blog/

28
.vscode/launch.json vendored
View file

@ -1,28 +0,0 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug: Development Mode",
"type": "debugpy",
"request": "launch",
"program": "main.py",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}",
"env": {
"PRIVATECOFFEE_DEV": "1",
"PRIVATECOFFEE_DEBUG": "1"
}
},
{
"name": "Debug: Production Mode",
"type": "debugpy",
"request": "launch",
"program": "main.py",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}"
}
]
}

View file

@ -1,5 +0,0 @@
{
"files.associations": {
"*.html": "jinja-html"
}
}

View file

@ -0,0 +1,8 @@
{
"m.homeserver": {
"base_url": "https://matrix.private.coffee"
},
"org.matrix.msc3575.proxy": {
"url": "https://matrix.private.coffee"
}
}

View file

@ -0,0 +1,3 @@
{
"m.server": "matrix.private.coffee:443"
}

View file

@ -0,0 +1,13 @@
{
"contacts": [
{
"matrix_id": "@kumi:private.coffee",
"email_address": "kumi@private.coffee",
"role": "m.role.admin"
},
{
"email_address": "security@private.coffee",
"role": "m.role.security"
}
]
}

23
LICENSE
View file

@ -1,23 +0,0 @@
Copyright (c) 2023-2025 Private.coffee Team <support@private.coffee>
Use of the Private.coffee / Private Coffee name or the Private.coffee logo
without express permission by the Private.coffee team is prohibited. However,
you are free to use all code components under the MIT License:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -1,44 +0,0 @@
# Private.coffee Website
[![Support Private.coffee!](https://shields.private.coffee/badge/private.coffee-Support%20us!-pink?logo=coffeescript)](https://private.coffee)
[![MIT License](https://shields.private.coffee/badge/license-MIT-blue.svg)](LICENSE)
This is the source code for the [Private.coffee](https://private.coffee)
website.
It is a simple Jinja2 static website generator that compiles the templates in
the `templates` directory in conjunction with the JSON files in the `data`
directory and Markdown blog entries in the `blog` directory to generate static
HTML files in the `build` directory.
## Development
To run the website locally, you will need to have Python 3 installed. Then, you
can install the dependencies and run the website with the following commands:
```bash
pip install -r requirements.txt
python main.py
```
The website will be built into the `build` directory, and you can view it by
opening the `index.html` file in your browser or using the included HTTP server
(`python main.py --serve`).
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE)
file for details.
The assets in `assets/dist` are not part of this project and are subject to
their own licenses.
Blog posts in the `blog` directory are licensed under the [Creative Commons
Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/),
unless otherwise indicated. They may contain additional material under
different licenses - see the individual blog posts for details.
## Attribution
This website is built using the [Bootstrap](https://getbootstrap.com) framework
and [Phosphor Icons](https://phosphoricons.com).

4
_redirects Normal file
View file

@ -0,0 +1,4 @@
/security.txt https://security.private.coffee/security.txt
/.well-known/security.txt https://security.private.coffee/security.txt
/metrics /metrics.txt
/metrics/ /metrics.txt

View file

@ -1,19 +0,0 @@
/* Disability pride flag theme */
:root {
/* Override gradient colors */
--gradient-start: #4A4A4A;
--gradient-end: #4A4A4A;
}
header.bg-primary-gradient {
background: linear-gradient(to bottom right, #4A4A4A, #FF0000, #FFD700, #D3D3D3, #ADD8E6, #008000, #4A4A4A);
}
#logoContainer {
background-image: url(../../img/logo-white.svg);
}
#smallLogoContainer {
background-image: url(../../img/logo-inv_grad.svg);
}

View file

@ -29,20 +29,20 @@
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="{{ relative_path }}assets/img/logo-inv_grad.png" />
href="assets/img/logo-inv_grad.png" />
<title>
{% block title %}
{% endblock title %}
- Private.coffee</title>
<link rel="stylesheet"
href="{{ relative_path }}assets/dist/css/bootstrap.min.css?v={{ timestamp }}" />
href="assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="{{ relative_path }}assets/css/base.css?v={{ timestamp }}" />
href="assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="{{ relative_path }}assets/css/theme/{{ theme }}.css?v={{ timestamp }}"
href="assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="{{ relative_path }}assets/dist/fonts/fonts.css?v={{ timestamp }}" />
href="assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
@ -68,45 +68,43 @@
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="{{ relative_path }}index.html">Home</a>
<a class="nav-link active" href="index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ relative_path }}services.html">Services</a>
<a class="nav-link" href="services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ relative_path }}blog/">Blog</a>
<a class="nav-link" href="blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
{% if theme == 'plain' or theme == 'dark' %}
<div class="theme-toggle-container me-2">
{% if theme == 'dark' %}
<a href="https://private.coffee{{ request.path }}"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to light theme">
<span class="theme-icon light-icon">{{ "sun" | icon | safe }}</span>
</a>
{% else %}
<a href="https://dark.private.coffee{{ request.path }}"
<a href="https://dark.private.coffee/base.html"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon">{{ "moon" | icon | safe }}</span>
<span class="theme-icon light-icon" style="display: none;">{{ "sun" | icon | safe }}</span>
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
{% endif %}
</div>
{% endif %}
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="{{ relative_path }}membership.html">JOIN &amp; SUPPORT</a>
href="membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
{% if warning %}{{ warning|safe }}{% endif %}
{% block content %}
{% endblock content %}
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
@ -114,20 +112,20 @@
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="{{ relative_path }}legal.html">Legal Notice</a>
<a href="legal.html">Legal Notice</a>
</li>
<li>
<a href="{{ relative_path }}privacy.html">Privacy Notice</a>
<a href="privacy.html">Privacy Notice</a>
</li>
<li>
<a href="{{ relative_path }}terms.html">Terms of Service</a>
<a href="terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2">{{ "coffee" | icon | safe }}</span><span>Private.coffee</span>
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
@ -142,13 +140,28 @@
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee">{{ "rainbow" | icon | safe }}</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
{% if theme == "plain" %}
<script src="{{ relative_path }}assets/js/theme-toggle.js?v={{ timestamp }}"></script>
{% endif %}
<script src="assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,332 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../assets/img/logo-inv_grad.png" />
<title>
Board Meeting 24/03/2024
- Private.coffee</title>
<link rel="stylesheet"
href="../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/20240324-board_meeting/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Board Meeting 24/03/2024</h1>
<p>
<small>by <a href="">jupfi</a>, published 2024-03-24 23:59:59</small>
</p>
<div><p><em>Disclaimer: This report was retrospectively translated and formatted into Markdown solely for publication purposes.</em></p>
<h1>Board Meeting 24/03/2024</h1>
<h2>Attendance</h2>
<ul>
<li>kumi</li>
<li>jupfi </li>
</ul>
<p>The quorum is thereby established. </p>
<h2>Agenda Points</h2>
<h3>1. <strong>Account Management for private.coffee</strong></h3>
<p>a. <strong>Opening a Bank Account</strong>: </p>
<ul>
<li>Scheduled for 25/03/2024 at Steiermärkische Sparkasse. </li>
<li>kumi and jupfi will attend the appointment. </li>
<li>One card will be issued for the board's use, with jupfi's name on the card.<br />
b. <strong>PayPal Account</strong>: </li>
<li>Initially, private.coffee will proceed without a PayPal account. </li>
<li>If necessary, a PayPal account can be opened later.
<ul>
<li><em>Unanimously approved.</em><br />
c. <strong>Cryptocurrency Donations</strong>: </li>
</ul></li>
<li>Plan technical aspects (by kumi) and bookkeeping aspects (by jupfi).
<ul>
<li><em>Unanimously approved.</em><br />
d. <strong>Membership Payments via Direct Debit</strong>: </li>
</ul></li>
<li>Inquiry to the banking advisor will take place tomorrow.
<ul>
<li><em>Unanimously approved.</em><br />
e. <strong>SumUp Device</strong>: </li>
</ul></li>
<li>Considering acquiring a SumUp device with no monthly costs and 2.75% transaction fees. </li>
<li>A device is already owned by Kumi Systems. European alternatives will also be evaluated. </li>
</ul>
<h3>2. <strong>Server and Domain Costs</strong></h3>
<ul>
<li>Kumi is authorized to spend up to EUR 300 per month without prior approval.
<ul>
<li><em>Unanimously approved.</em> </li>
</ul></li>
</ul>
<h3>3. <strong>Bookkeeping Software</strong></h3>
<p>a. <strong>GNUcash Setup</strong>: </p>
<ul>
<li>GNUcash will be implemented for bookkeeping purposes.
<ul>
<li><em>Unanimously approved.</em><br />
b. <strong>Data Storage</strong>: </li>
</ul></li>
<li>Data will be stored in a GNUcash-compatible SQL database.
<ul>
<li><em>Unanimously approved.</em> </li>
</ul></li>
</ul>
<h3>4. <strong>Sponsoring a Formula 1 Team</strong></h3>
<ul>
<li>The board discussed sponsoring the Williams F1 team. Inquiry by kumi.
<ul>
<li>Kumi supported the idea, jupfi opposed it. </li>
<li><strong>Proposal rejected.</strong> </li>
</ul></li>
</ul>
<h3>5. <strong>Legal Notice and Policy Updates</strong></h3>
<ul>
<li>Update legal notice with association details: <a href="https://private.coffee/legal.html">https://private.coffee/legal.html</a>. </li>
<li>Privacy policy update: <a href="https://private.coffee/privacy.html">https://private.coffee/privacy.html</a>.
<ul>
<li>Kumi will draft the updated privacy policy using Overleaf. </li>
</ul></li>
<li>Terms of Service update: <a href="https://private.coffee/terms.html">https://private.coffee/terms.html</a>. </li>
<li>Add “Join Verein” and “Donate” pages to the private.coffee website.
<ul>
<li><em>Unanimously approved.</em> </li>
</ul></li>
</ul>
<h3>6. <strong>E-Government Representative</strong></h3>
<ul>
<li>Kumi will be designated as the E-Government representative.
<ul>
<li><em>Unanimously approved.</em> </li>
</ul></li>
</ul>
<h3>7. <strong>Tax Office Registration</strong></h3>
<ul>
<li>jupfi will handle the tax office registration for the club. </li>
</ul>
<h3>8. <strong>Email and Support Requests</strong></h3>
<ul>
<li>No email or support requests have been received so far. </li>
</ul>
<h3>9. <strong>DMARC Reports</strong></h3>
<ul>
<li>DMARC reports will now automatically be set to “Closed” in the ticket system. </li>
</ul>
<h3>10. <strong>Membership Fees</strong></h3>
<ul>
<li>A discussion was held about ordinary and extraordinary membership fees. </li>
<li>Initial idea: Ask members how much they would like to contribute. </li>
<li>Decision on fixed rates (monthly/annual payment) is postponed to after member consultation. </li>
</ul>
<h3>11. <strong>private.coffee Shared CryptPad Folder</strong></h3>
<ul>
<li>Create a shared CryptPad folder for private.coffee.
<ul>
<li><em>Unanimously approved.</em> </li>
</ul></li>
</ul>
<h3>12. <strong>Budget for Stickers and Mugs</strong></h3>
<ul>
<li>A budget of EUR 200 is allocated for stickers and mugs.
<ul>
<li><em>Unanimously approved.</em> </li>
</ul></li>
</ul>
<h3>13. <strong>Club Insurances</strong></h3>
<ul>
<li>Inquiry already made with Generali for liability and legal protection insurance. </li>
<li>Additional inquiry to Zurich will follow in the future. </li>
</ul>
</div>
<hr>
<p>
<small>This post by <a href="">jupfi</a> is licensed under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.</small>
</p>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,257 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../assets/img/logo-inv_grad.png" />
<title>
Board Meeting 16/06/2024
- Private.coffee</title>
<link rel="stylesheet"
href="../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/20240616-board_meeting/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Board Meeting 16/06/2024</h1>
<p>
<small>by <a href="">jupfi</a>, published 2024-06-16 23:59:59</small>
</p>
<div><p><em>Disclaimer: This report was retrospectively translated and formatted into Markdown solely for publication purposes.</em></p>
<h1>Board Meeting 16/06/2024</h1>
<h2>Attendance</h2>
<ul>
<li>kumi </li>
<li>jupfi </li>
</ul>
<p>The quorum is thus established.</p>
<h2>Agenda Points</h2>
<h3>1. <strong>New Supporting Member</strong></h3>
<ul>
<li>The board approves the new supporting member's membership application. </li>
</ul>
<h3>2. <strong>Update on Technical Matters</strong></h3>
<ul>
<li><strong>Database Server</strong>:
<ul>
<li>A database server is now operational for various services. </li>
</ul></li>
<li><strong>Backup Solution</strong>:
<ul>
<li>The Matrix database is too large for MinIO. It's estimated that 3TB of storage is realistically needed. </li>
<li>Backup storage budget: ~EUR 25/month. </li>
<li>Total monthly budget now increased to EUR 325. </li>
</ul></li>
<li><strong>Budget Exceedance in May</strong>:
<ul>
<li>Due to the new database server, the monthly budget was exceeded by EUR 130.04 in May. </li>
<li>This exceedance is retrospectively approved by the board. </li>
</ul></li>
</ul>
<h3>3. <strong>New Tasks</strong></h3>
<ul>
<li>Website update. </li>
<li>Membership form creation. </li>
<li>Transparency report preparation. </li>
</ul>
<h3>4. <strong>New Services</strong></h3>
<ul>
<li><strong>transfer.coffee</strong>: File sharing service. </li>
<li><strong>MyIP.coffee</strong>: Public IP address lookup. </li>
<li><strong>HedgeDoc</strong>: Collaborative Markdown editor. </li>
<li><strong><a href="https://pcof.fi/">https://pcof.fi/</a></strong>: URL shortener. </li>
</ul>
<h3>5. <strong>Registrar Status</strong></h3>
<ul>
<li>The organization is now an official registrar for <strong>.fi TLDs</strong>. </li>
</ul>
<h3>6. <strong>ID Austria Hackathon</strong></h3>
<ul>
<li>Financial support of up to EUR 200 for food and beverages. </li>
<li>Likely location: Vienna. </li>
<li>Tentative timeline: Late summer. </li>
<li>Further details to be discussed. </li>
</ul>
<h3>7. <strong>Protocol Management</strong></h3>
<ul>
<li>Protocols will be uploaded as PDFs to the Git repository. </li>
</ul>
</div>
<hr>
<p>
<small>This post by <a href="">jupfi</a> is licensed under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.</small>
</p>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,201 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../assets/img/logo-inv_grad.png" />
<title>
Board Meeting 30/06/2024
- Private.coffee</title>
<link rel="stylesheet"
href="../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/20240630-board_meeting/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Board Meeting 30/06/2024</h1>
<p>
<small>by <a href="">jupfi</a>, published 2024-06-30 23:59:59</small>
</p>
<div><p><em>Disclaimer: This report was retrospectively translated and formatted into Markdown solely for publication purposes.</em></p>
<h1>Board Meeting 30/06/2024</h1>
<h2>Attendance</h2>
<ul>
<li>kumi </li>
<li>jupfi </li>
</ul>
<p>The quorum is thus established.</p>
<h2>Agenda Points</h2>
<ol>
<li><strong>New Supporting Member</strong>
<ul>
<li>The board approves the membership application of a new supporting member.</li>
<li>A confirmation email has been sent out.</li>
</ul></li>
</ol>
</div>
<hr>
<p>
<small>This post by <a href="">jupfi</a> is licensed under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.</small>
</p>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,243 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../assets/img/logo-inv_grad.png" />
<title>
Board Meeting 27/10/2024
- Private.coffee</title>
<link rel="stylesheet"
href="../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/20241027-board_meeting/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Board Meeting 27/10/2024</h1>
<p>
<small>by <a href="">jupfi</a>, published 2024-10-27 23:59:59</small>
</p>
<div><p><em>Disclaimer: This report was retrospectively translated and formatted into Markdown solely for publication purposes.</em></p>
<h1>Board Meeting 27/10/2024</h1>
<h2>Attendance</h2>
<ul>
<li>kumi </li>
<li>jupfi </li>
<li>ogalbnafets </li>
</ul>
<p>The quorum is thus established.</p>
<h2>Agenda Points</h2>
<ol>
<li><p><strong>Christmas Celebration: General Assembly</strong> </p>
<ul>
<li><strong>Location</strong>: Vienna </li>
<li><strong>Date</strong>: February (Semester Break) </li>
<li><strong>Budget</strong>: EUR 250 (including food and drinks) </li>
<li><em>Unanimously approved</em> </li>
</ul></li>
<li><p><strong>Liability Insurance (Generali)</strong> </p>
<ul>
<li>Does not sufficiently cover potential damage cases. </li>
<li>Currently not required.
<ul>
<li><em>Unanimously approved</em> </li>
</ul></li>
<li>Inquiry about legal protection with Generali (jupfi). </li>
</ul></li>
<li><p><strong>Admission of Supporting Members without Board Meeting</strong> </p>
<ul>
<li>Admission by an individual board member is allowed.
<ul>
<li><em>Unanimously approved</em> </li>
</ul></li>
<li>Admission of current supporting members.
<ul>
<li><em>Unanimously approved</em> </li>
</ul></li>
</ul></li>
<li><p><strong>Game Hosting</strong> </p>
<ul>
<li>Conduct a survey in the Matrix chat. </li>
</ul></li>
<li><p><strong>Sticker Design</strong> </p>
<ul>
<li>Design files will be made available in the Git repository for all members. </li>
</ul></li>
<li><p><strong>Private Coffee Merchandise</strong> </p>
<ul>
<li>Spreadshirt shop for mugs and shirts. </li>
<li>Pre-produced mugs for members and stickers for everyone. </li>
</ul></li>
</ol>
</div>
<hr>
<p>
<small>This post by <a href="">jupfi</a> is licensed under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.</small>
</p>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,182 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../assets/img/logo-inv_grad.png" />
<title>
Test Post
- Private.coffee</title>
<link rel="stylesheet"
href="../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/2024112701-test/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Test Post</h1>
<p>
<small>by <a href="https://kumi.website">Kumi</a>, published 2049-11-27 09:00:00 (future)</small>
</p>
<div><p>This is a test post.</p>
<p>You can embed images: <img src="image.png" alt="Duck image" /></p>
</div>
<hr>
<p>
<small>This post by <a href="https://kumi.website">Kumi</a> is licensed under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.</small>
</p>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,214 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../assets/img/logo-inv_grad.png" />
<title>
Board Meeting 30/11/2024
- Private.coffee</title>
<link rel="stylesheet"
href="../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/20241130-board_meeting/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Board Meeting 30/11/2024</h1>
<p>
<small>by <a href="">jupfi</a>, published 2024-11-30 23:59:59</small>
</p>
<div><p><em>Disclaimer: This report was retrospectively translated and formatted into Markdown solely for publication purposes.</em></p>
<h1>Board Meeting 30/11/2024</h1>
<h2>Attendance</h2>
<ul>
<li>kumi </li>
<li>jupfi </li>
</ul>
<p>The quorum is thus established.</p>
<h2>Agenda Points</h2>
<ol>
<li><p><strong>New Member Admission</strong> </p>
<ul>
<li>Admission of new members will only take place after the membership fee (either the first monthly payment or annual payment, depending on the member's preference) has been paid. </li>
<li><em>Unanimously approved.</em> </li>
</ul></li>
<li><p><strong>Expense for Custom Mugs</strong> </p>
<ul>
<li>EUR 75.80 was spent on 10 mugs with private.coffee branding. </li>
</ul></li>
<li><p><strong>General Assembly Date and Location</strong> </p>
<ul>
<li>Date: February 22nd </li>
<li>Location: Vienna, <em>Die Antwort</em> (Office headquarters). </li>
<li><em>Unanimously approved.</em></li>
</ul></li>
</ol>
</div>
<hr>
<p>
<small>This post by <a href="">jupfi</a> is licensed under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.</small>
</p>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,251 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../assets/img/logo-inv_grad.png" />
<title>
Using the private.coffee Matrix homeserver
- Private.coffee</title>
<link rel="stylesheet"
href="../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/20241228-matrix/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Using the private.coffee Matrix homeserver</h1>
<p>
<small>by <a href="">jupfi</a>, published 2025-12-28 13:00:00 (future)</small>
</p>
<div><h2>Private.coffee Matrix homeserver</h2>
<p>Hi, this blog post will give you a short overview of our Matrix in general and our private.coffee homeserver!
Feel free to jump to the section you are interested in.</p>
<h2>Table of contents</h2>
<ul>
<li><a href="#why-matrix">Why Matrix?</a></li>
<li><a href="#server-information">Server Information</a></li>
<li><a href="#registration">Registration</a></li>
<li><a href="#why-did-we-move-to-conditional-registration">Why did we move to conditional registration?</a></li>
</ul>
<h2>Why Matrix?</h2>
<p>First of all we want to give a short overview of what Matrix is and why we chose it.</p>
<h3>Decentralized communication</h3>
<p>Matrix is an open standard for communication over the internet. It is also a decentralized platform meaning there isn't a single corporation that controls it (like WhatsApp or Telegram), but different servers can be hosted by different organizations and those servers can communicate with each other. This means that you can choose the server that you trust and still communicate with people on other servers. In that regard it is similar to email, but with a focus on real-time communication.</p>
<h3>End-to-end encryption</h3>
<p>You can use end-to-end encyption to</p>
<h3>Features</h3>
<p>You can use Matrix for a variety of different things:</p>
<ul>
<li>Instant Messaging</li>
<li>Voice and Video Calls</li>
<li>File Sharing</li>
<li>Group Chats</li>
<li>Bots</li>
<li>Bridges to other platforms (e.g. Telegram, WhatsApp, IRC, Discord)</li>
</ul>
<h2>Clients</h2>
<p>To use Matrix you need a client.</p>
<h2>Server Information</h2>
<p>You can find some more information about our homeserver on the following pages:</p>
<ul>
<li><a href="https://matrix.private.coffee/_matrix/consent?v=1.0">Terms &amp; Privacy</a></li>
<li><a href="https://private.coffee/terms.html">Private Coffee Terms</a></li>
</ul>
<h2>Registration</h2>
<p>We provide a Matrix homeserver with conditional registration. This means you can create an account via our <a href="">online form</a>, but you will have to provide the following:</p>
<ul>
<li>A valid email address</li>
<li>A short description of why you want to join our homeserver and what you expect from it</li>
</ul>
<h2>Why did we move to conditional registration?</h2>
<p>Short answer: Nazis, bots and spammers. However we noticed that moving to a conditional registration actually made the server feel more like a community and people feel safer.
Maybe that is how the internet ought to be, a place of community where people can feel safe and not be harassed easily.
You can still stay anonymous on our server and we respect your privacy.</p>
<h2>The private.coffee association</h2>
<h2>References and further reading</h2>
<p><a href="https://en.wikipedia.org/wiki/Matrix_(protocol)">Wikipedia: Matrix</a></p>
</div>
<hr>
<p>
<small>This post by <a href="">jupfi</a> is licensed under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.</small>
</p>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,196 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../assets/img/logo-inv_grad.png" />
<title>
Board Meeting 01/01/2025
- Private.coffee</title>
<link rel="stylesheet"
href="../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/20250101-board_meeting/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Board Meeting 01/01/2025</h1>
<p>
<small>by <a href="">jupfi</a>, published 2025-01-01 17:00:00</small>
</p>
<div><h1>Board Meeting 01/01/2025</h1>
<h2>Attendance</h2>
<ul>
<li>kumi </li>
<li>jupfi </li>
</ul>
<p>The quorum is thus established.</p>
<h2>Agenda Points</h2>
<ol>
<li><strong>Change of Date for General Assembly</strong><br />
a. Date: February 1st 2025 (Semester Break), Location: Vienna</li>
</ol>
</div>
<hr>
<p>
<small>This post by <a href="">jupfi</a> is licensed under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.</small>
</p>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,359 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../assets/img/logo-inv_grad.png" />
<title>
General Assembly 01/02/2025
- Private.coffee</title>
<link rel="stylesheet"
href="../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/20250202-general_assembly/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>General Assembly 01/02/2025</h1>
<p>
<small>by <a href="">jupfi</a>, published 2025-02-02 12:00:00</small>
</p>
<div><h2>Table of contents</h2>
<ul>
<li><a href="#tldr">TLDR:</a></li>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#attendance">Attendance</a></li>
<li><a href="#financial-recap-and-goals-for-2025">Financial Recap and Goals for 2025</a></li>
<li><a href="#auditing">Auditing</a></li>
<li><a href="#statue-amendments">Statue Amendments</a>
<ul>
<li><a href="#change-of-function-periods">Change of Function Periods</a></li>
<li><a href="#change-of-membership-fees">Change of Membership Fees</a></li>
</ul></li>
<li><a href="#election-of-the-board--auditors">Election of the Board &amp; Auditors</a></li>
<li><a href="#open-discussion">Open Discussion</a>
<ul>
<li><a href="#emergency-strategy">Emergency Strategy</a></li>
<li><a href="#services">Services</a>
<ul>
<li><a href="#llm-chat-bot">LLM Chat Bot</a></li>
<li><a href="#coffee-machine-gaming-server">"Coffee Machine" Gaming Server</a></li>
<li><a href="#quackscape">Quackscape</a></li>
</ul></li>
<li><a href="#mechandise">Mechandise</a></li>
<li><a href="#hackathon">Hackathon</a></li>
<li><a href="#collaborations">Collaborations</a></li>
<li><a href="#blog-posts">Blog Posts</a></li>
</ul></li>
<li><a href="#conclusion">Conclusion</a></li>
<li><a href="#documents">Documents</a></li>
</ul>
<h2><a name="tldr"></a>TLDR:</h2>
<ul>
<li>The general assembly was held on February 1st, 2025 in Vienna.</li>
<li>The financial recap of 2024 was presented and the budget for 2025 was discussed.</li>
<li>The audit was carried out and no objections were found.</li>
<li>The function periods of the board members were extended to 18 months.</li>
<li>Minimum membership fees were introduced.</li>
<li>The board and auditors were elected.</li>
<li>We discussed emergency strategies, services, merchandise, a hackathon, collaborations, and blog posts.</li>
<li>We will host a hackathon on April 19th in Vienna.</li>
</ul>
<h2><a name="introduction"></a>Introduction</h2>
<p>It's been about a year since private.coffee is a registered association in Austria, so it was time for our first general assembly.
We held our general assembly on February 1st, 2025 in Vienna. After some introductory rounds of pinball and coffee in the office of <a href="https://die-antwort.eu/">DIE ANTWORT</a> we were ready to start.</p>
<p><img src="pictures/pinball.jpg" alt="ogalbnafets plays a round of pinball before the general assembly" style="max-width: 50%;"></p>
<p><em>ogalbnafets plays a round of pinball before the general assembly</em></p>
<h2><a name="attendance"></a>Attendance</h2>
<ul>
<li>kumi</li>
<li>jupfi</li>
<li>ogalbnafets</li>
<li>noniq</li>
</ul>
<p>Location: Die Antwort, Obere Weißgerberstraße 4, 1030 Vienna, Austria.</p>
<h2><a name="financial-recap-and-goals-for-2025"></a>Financial Recap and Goals for 2025</h2>
<p>The general assembly started with some words from the chairperson kumi and the treasurer jupfi presented a recap of the financial year 2024.</p>
<p><img src="pictures/2024_financial_year.png" alt="The 2024 financial year. Expenses were lower from March to May and improved due to a stronger database server which was added in summer. The expenses stayed quite constant over the last quarter of the year. Income due to memberships increased throughout the year." style="max-width: 75%;"></p>
<p><em>The 2024 financial year. Expenses were lower from March to May and increased due to a stronger database server which was added in summer. The expenses stayed quite constant over the last quarter of the year. Income due to memberships increased throughout the year.</em></p>
<hr />
<p>After the recap of 2024 we continued with budget goals for 2025, which mainly included reducing the dependence on corporate memberships and increasing the number of individual members.
Another goal for 2025 will be to have a small emergency fund to cover unexpected costs.</p>
<p><img src="pictures/2025_financial_budget.png" alt="The budget for 2025." style="max-width: 75%;"></p>
<p><em>The budget for 2025.The main goal is to decrease the dependence on corporate members while having constant expenses.</em></p>
<h2><a name="auditing"></a>Auditing</h2>
<p>Auditor ogalbnafets reported that the audit was carried out and no objections were found. He recommended that the actions of the Board be approved.</p>
<h2><a name="statute-amendments"></a>Statute Amendments</h2>
<p>Some changes to the statutes were necessary to clarify some points and reduce some administrative inconveniences.</p>
<h3><a name="change-of-function-periods"></a>Change of Function Periods</h3>
<p>To have an easier time with handling bank accounts, we extended the function periods of the board members to <strong>18 months</strong>. This change was unanimously accepted by the general assembly.</p>
<h3><a name="change-of-membership-fees"></a>Change of Membership Fees</h3>
<p>Another point was the introduction of minimum membership fees.</p>
<ul>
<li><strong>Supporting members:</strong> 5€/month or 50€/year</li>
<li><strong>Regular members:</strong> 10€/month or 100€/year</li>
<li><strong>Corporate members:</strong> 100€/month or 1000€/year</li>
</ul>
<p>This change was also unanimously accepted by the general assembly.</p>
<h2><a name="election-of-the-board--auditors"></a>Election of the Board &amp; Auditors</h2>
<ul>
<li><p><strong>Chairperson:</strong> Previous chairperson kumi was up for vote and was re-elected unanimously. The election was confirmed by the election committee (noniq, ogalbnafets).</p></li>
<li><p><strong>Treasurer:</strong> jupfi was up for vote and was re-elected unanimously. The election was confirmed by the election committee (noniq, ogalbnafets).</p></li>
<li><p><strong>Audit:</strong> In addition to ogalbnafets who was auditor in 2024, noniq was elected as a second auditor. The election was confirmed by the election committee (kumi, jupfi).</p></li>
</ul>
<h2><a name="open-discussion"></a>Open Discussion</h2>
<p>The open discussion covered a wide range of topics, including collaborations with other organization, emergency strategies, and services we want to provide in the future.</p>
<h3><a name="emergency-strategy"></a>Emergency Strategy</h3>
<p>kumi is mainly responsible for the server administration right now and while there are already some emergency strategies in place, we want to improve on the documentation and actually have test runs for the emergency strategies.</p>
<p>One of the proposed strategies was to have a rescue account set up on the servers which can be used to access the servers in case of an emergency. This account would be set up with a private key which is shared among trusted members, requiring a certain number of members to be present to access the account.</p>
<h3><a name="services"></a>Services</h3>
<h4><a name="llm-chat-bot"></a>LLM Chatbot ("CoffeeGPT")</h4>
<p>The greatest interest was in a Private.coffee-hosted chatbot as an alternative to ChatGPT and other similar services for Large Language Models (LLM). We actually want to have the hardware on site (Private.coffee location) to host services like this.
We already have a server housing and servers for this purpose. However we will still need some SSDs and other auxiliary hardware.
jupfi will look into the hardware setup and electrical installation while kumi will look into the software setup. Right now the plan ist to host <a href="https://ollama.com/">Ollama models</a> since we already have experience with hosting them.</p>
<p>Access to the service will be provided to members of Private.coffee so hopefully we'll see you there soon!</p>
<h4><a name="coffee-machine-gaming-server"></a>"Coffee Machine" Gaming Server</h4>
<p>We already have <a href="https://git.private.coffee/PrivateCoffee/coffeemachine">ongoing development</a> on a service for hosting a variety of game servers.</p>
<p>ogalbnafets proposed that we could rotate through different games and have a "game of the month" where we host a server for a specific game for a month. People could then join and play together, maybe with some fixed times for playing together. This would not have to be exclusive to members of Private.coffee.</p>
<h4><a name="quackscape"></a>Quackscape</h4>
<p>In the past kumi and ogalbnafets were working on an online panoramic content management system called <a href="https://git.private.coffee/PrivateCoffee/quackscape">Quackscape</a>. Development has been on hold for a while but we want to pick it up again.</p>
<h3><a name="merchandise"></a>Merchandise</h3>
<p>The Private.coffee mugs were a great success and we want to continue with merchandise. Highest priority right now are stickers which people can pass around and put on their laptops.</p>
<p>Another important merchandise item would be t-shirts. We would like to have the designs embroidered on the shirts so they are more durable.</p>
<p>The final merchandise item we discussed are coffee-to-go cups.</p>
<p>ogalbnafets will look into the production of the different merchandise items.</p>
<h3><a name="hackathon"></a>Hackathon</h3>
<p>We want to host a hackathon in the future and already decided on a date: <strong>April 19th in Vienna</strong>. We have not yet decided on a topic but we will keep you updated. One idea that was proposed was to have a hackathon on the topic of hardware, since there are 3D printers and CNC mills available at the DIE ANTWORT office.</p>
<h3><a name="collaborations"></a>Collaborations</h3>
<p>noniq has a couple of contacts in the field of digital rights and privacy and we want to collaborate with them in the future. We don't have any concrete plans yet but we will keep you updated.
We also want to attend the <a href="https://www.linuxtage.at/">Grazer Linuxtage</a> in April but probably only as visitors.</p>
<h3><a name="blog-posts"></a>Blog Posts</h3>
<p>Kumi did great work on the website and we now have a <a href="https://private.coffee/blog/">blog section</a> and we want to have more blog posts in the future. If you have any ideas or want to write a blog post yourself, please let us know! Right now we maybe want to introduce the different services we are hosting and give Private.coffee a face by introducing the people behind it.</p>
<h2><a name="conclusion"></a>Conclusion</h2>
<p>After the general assembly we had some more discussions at a nearby restaurant. We all agreed that the general assembly was lots of fun and we are looking forward to the next year.</p>
<hr />
<h2><a name="documents"></a>Documents</h2>
<ul>
<li><p>You can find the protocol of the general assembly <a href="documents/protocol_general_assembly_2025.pdf">here</a>.</p></li>
<li><p>Some statues were changed, you can find the official german text for the <a href="documents/0402_function-periods.md">change of function periods here</a> and the <a href="documents/0401_membership-fees.md">change of membership fees here</a>.</p></li>
<li><p>The slides that were presented at the general assembly can be found <a href="documents/Private.coffee_slides.pdf">here</a>.</p></li>
</ul>
</div>
<hr>
<p>
<small>This post by <a href="">jupfi</a> is licensed under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.</small>
</p>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,200 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../assets/img/logo-inv_grad.png" />
<title>
Linuxtage 26/04/2025
- Private.coffee</title>
<link rel="stylesheet"
href="../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/20250501-linuxtage/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Linuxtage 26/04/2025</h1>
<p>
<small>by <a href="">jupfi</a>, published 2025-05-01 17:00:00</small>
</p>
<div><h1>Grazer Linuxtage</h1>
<p>The <a href="blog/20250101-board_meeting/index.md">Grazer Linuxtage</a> is conference about open-source software and hardware and was held in Graz, Austria from April 25th to April 26th, 2025.</p>
<p>Naturally we felt like it was the perfect place to give a quick overview about private.coffee and it's services.
You can find the <em>lightning talk</em> here (in german):</p>
<iframe width="1024" height="576" src="https://media.ccc.de/v/glt25-491-lightning-talks/oembed#t=2107" frameborder="0" allowfullscreen></iframe>
<p>We met quite a few people who actually already knew us and our services which was pretty cool!
A lesson that we learned is that we should probably reach out more to other similar associations and collectives to coordinate our efforts.</p>
<p>We also had quite a bit of private.coffee merchandise with us, from stickers to shirts and hoodies that we wore during our time there. For next year we will try to get some pamphlets or flyers printed out, to hand them out to people. And maybe we'll even go for our own booth, but let's see how that goes.</p>
<p>Kumi, jupfi and ogalbnafets were there and we had a great time - here are some pictures from the talk:</p>
<p><img src="pictures/kumi_talk.jpg" alt="Kumi at the lightning talk. A crowd is visible watching Kumi giving the lightning talk. The Linuxtage mascot (a penguin with a Steirerhut) is visible on a chalkboard." width="75%" &gt;</p>
<p><img src="pictures/jupfi_talk.png" alt="Jupfi at the lightning talk. A crowd is visible watching jupfi giving the lightning talk. The Linuxtage mascot (a penguin with a Steirerhut) is visible on a chalkboard." width="75%"></p>
<p>Hopefully we'll see some of you there next year as well!</p>
</div>
<hr>
<p>
<small>This post by <a href="">jupfi</a> is licensed under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.</small>
</p>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -15,7 +15,7 @@ The [Grazer Linuxtage](blog/20250101-board_meeting/index.md) is conference about
Naturally we felt like it was the perfect place to give a quick overview about private.coffee and it's services.
You can find the _lightning talk_ here (in german):
<iframe title="Lightning Talks" width="560" height="315" src="https://cuddly.tube/videos/embed/7MT1n4H2xU3GwmP2SUT3N1?start=2107s" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>
<iframe width="1024" height="576" src="https://media.ccc.de/v/glt25-491-lightning-talks/oembed#t=2107" frameborder="0" allowfullscreen></iframe>
We met quite a few people who actually already knew us and our services which was pretty cool!
A lesson that we learned is that we should probably reach out more to other similar associations and collectives to coordinate our efforts.

View file

@ -1,28 +0,0 @@
---
title: Transfer.coffee Peer-to-peer file sharing
date: 2025-05-30 17:00:00
author: jupfi
license: CC BY-SA 4.0
license_url: https://creativecommons.org/licenses/by-sa/4.0/
tags: services
excerpt: Transfer.coffee is a simple web application that allows users to share files.
---
Have you ever been annoyed by one of your colleagues sending you links to WeTransfer and the likes for sharing files?
Then you had to suffer through huge ad banners that companies will actually advertise as the most notable on the internet [1].
Worry no longer - [private.coffee](private.coffee) has got you covered. Transfer.coffee is a simple web application that allows users to share files. It's really easy to use and ad-free:
1. Upload your file to the [Transfer.coffee](transfer.coffee) web interface
2. [Transfer.coffee](transfer.coffee) generates a simple mnemonic seed (a series of easy-to-remember words)
3. Share this seed with your recipient
4. They enter the seed on [Transfer.coffee](transfer.coffee) to download the file directly from your device
The files are shared using WebTorrent, a peer-to-peer file sharing protocol [2]. This means that the files are not stored on a central server and are instead shared directly between the sender and the recipient.
You can find the source code [here](https://git.private.coffee/PrivateCoffee/transfer.coffee), including some instructions on how to host your own instance!
---
- [1] <https://wetransfer.com/explore/advertising>
- [2] <https://en.wikipedia.org/wiki/WebTorrent>

View file

@ -1,16 +0,0 @@
---
title: Statement on the draft of the Bundestrojaner (state-sponsored trojan horse) law 2025
date: 2025-06-02 17:00:00
author: jupfi
license: CC BY-SA 4.0
license_url: https://creativecommons.org/licenses/by-sa/4.0/
tags: statement
excerpt: Private.coffee has issued a statement on the draft of the Bundestrojaner (state-sponsored trojan horse) law 2025. We urgently request that this draft in its current form and the concept of state surveillance software as a whole not be pursued further.
---
Private.coffee has issued a statement on the draft of the Bundestrojaner (state-sponsored trojan horse) law 2025.
We urgently request that this draft in its current form and the concept of state surveillance software as a whole not be pursued further.
You can find the (german) statement here:
[https://www.parlament.gv.at/gegenstand/XXVIII/SNME/610/](https://www.parlament.gv.at/gegenstand/XXVIII/SNME/610/)

290
blog/index.html Normal file
View file

@ -0,0 +1,290 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<img src="../blog/2024112701-test/thumb_image.png"
alt="Test Post thumbnail"
class="me-3"
style="width: 150px;
height: 150px">
<div>
<h2>
<a href="../blog/2024112701-test/index.html">Test Post</a>
</h2>
<small class="text-muted">by Kumi, published 2049-11-27 09:00:00 (future)</small>
<br>
<small class="text-muted">tags:
<a href="../blog/tag/test">test</a>
</small>
<p>
This is the excerpt of a test post. It is displayed on the index pages. <a href="../blog/2024112701-test/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../blog/20241228-matrix/index.html">Using the private.coffee Matrix homeserver</a>
</h2>
<small class="text-muted">by jupfi, published 2025-12-28 13:00:00 (future)</small>
<p>
This blog post will give you a short overview of Matrix in general and our Private.coffee homeserver! <a href="../blog/20241228-matrix/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../blog/20250501-linuxtage/index.html">Linuxtage 26/04/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-05-01 17:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../blog/tag/events">events</a>
</small>
<p>
Private.coffee is at the Grazer Linuxtage <a href="../blog/20250501-linuxtage/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../blog/20250202-general_assembly/index.html">General Assembly 01/02/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-02-02 12:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../blog/tag/general-assembly">general-assembly</a>
</small>
<p>
Blog post about the general assembly on February 1st, 2025 in Vienna. <a href="../blog/20250202-general_assembly/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../blog/20250101-board_meeting/index.html">Board Meeting 01/01/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-01-01 17:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on January 1st, 2025. <a href="../blog/20250101-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item active">
<a class="page-link" href="../blog/page/1/">1</a>
</li>
<li class="page-item ">
<a class="page-link" href="../blog/page/2/">2</a>
</li>
<li class="page-item">
<a class="page-link"
href="../blog/page/2/">Next</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../legal.html">Legal Notice</a>
</li>
<li>
<a href="../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

290
blog/page/1/index.html Normal file
View file

@ -0,0 +1,290 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/page/1/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<img src="../../../blog/2024112701-test/thumb_image.png"
alt="Test Post thumbnail"
class="me-3"
style="width: 150px;
height: 150px">
<div>
<h2>
<a href="../../../blog/2024112701-test/index.html">Test Post</a>
</h2>
<small class="text-muted">by Kumi, published 2049-11-27 09:00:00 (future)</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/test">test</a>
</small>
<p>
This is the excerpt of a test post. It is displayed on the index pages. <a href="../../../blog/2024112701-test/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20241228-matrix/index.html">Using the private.coffee Matrix homeserver</a>
</h2>
<small class="text-muted">by jupfi, published 2025-12-28 13:00:00 (future)</small>
<p>
This blog post will give you a short overview of Matrix in general and our Private.coffee homeserver! <a href="../../../blog/20241228-matrix/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20250501-linuxtage/index.html">Linuxtage 26/04/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-05-01 17:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/events">events</a>
</small>
<p>
Private.coffee is at the Grazer Linuxtage <a href="../../../blog/20250501-linuxtage/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20250202-general_assembly/index.html">General Assembly 01/02/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-02-02 12:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/general-assembly">general-assembly</a>
</small>
<p>
Blog post about the general assembly on February 1st, 2025 in Vienna. <a href="../../../blog/20250202-general_assembly/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20250101-board_meeting/index.html">Board Meeting 01/01/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-01-01 17:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on January 1st, 2025. <a href="../../../blog/20250101-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item active">
<a class="page-link" href="../../../blog/page/1/">1</a>
</li>
<li class="page-item ">
<a class="page-link" href="../../../blog/page/2/">2</a>
</li>
<li class="page-item">
<a class="page-link"
href="../../../blog/page/2/">Next</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

289
blog/page/2/index.html Normal file
View file

@ -0,0 +1,289 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/page/2/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20241130-board_meeting/index.html">Board Meeting 30/11/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-11-30 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on November 30th, 2024. <a href="../../../blog/20241130-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20241027-board_meeting/index.html">Board Meeting 27/10/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-10-27 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on October 27th, 2024. <a href="../../../blog/20241027-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20240630-board_meeting/index.html">Board Meeting 30/06/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-06-30 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on June 30th, 2024. <a href="../../../blog/20240630-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20240616-board_meeting/index.html">Board Meeting 16/06/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-06-16 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on June 16th, 2024. <a href="../../../blog/20240616-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20240324-board_meeting/index.html">Board Meeting 24/03/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-03-24 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on March 24th, 2024. <a href="../../../blog/20240324-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item">
<a class="page-link"
href="../../../blog/page/1/">Previous</a>
</li>
<li class="page-item ">
<a class="page-link" href="../../../blog/page/1/">1</a>
</li>
<li class="page-item active">
<a class="page-link" href="../../../blog/page/2/">2</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

105
blog/rss.xml Normal file
View file

@ -0,0 +1,105 @@
<?xml version="1.0"?>
<rss version="2.0"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Private.coffee Blog</title>
<link>https://dev.private.coffee/blog</link>
<atom:link href="https://dev.private.coffee/blog/rss.xml" rel="self" type="application/rss+xml" />
<description>Your dose of private caffeine!</description>
<pubDate>Tue, 08 Jul 2025 00:01:01 +0000</pubDate>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<item>
<title>Board Meeting 01/01/2025</title>
<description></description>
<pubDate>Wed, 01 Jan 2025 17:00:00 +0000</pubDate>
<guid>https://dev.private.coffee/blog/20250101-board_meeting/</guid>
<link>https://dev.private.coffee/blog/20250101-board_meeting/</link>
<dc:creator><![CDATA[jupfi]]></dc:creator>
</item>
<item>
<title>Linuxtage 26/04/2025</title>
<description></description>
<pubDate>Thu, 01 May 2025 17:00:00 +0000</pubDate>
<guid>https://dev.private.coffee/blog/20250501-linuxtage/</guid>
<link>https://dev.private.coffee/blog/20250501-linuxtage/</link>
<dc:creator><![CDATA[jupfi]]></dc:creator>
</item>
<item>
<title>Board Meeting 30/06/2024</title>
<description></description>
<pubDate>Sun, 30 Jun 2024 23:59:59 +0000</pubDate>
<guid>https://dev.private.coffee/blog/20240630-board_meeting/</guid>
<link>https://dev.private.coffee/blog/20240630-board_meeting/</link>
<dc:creator><![CDATA[jupfi]]></dc:creator>
</item>
<item>
<title>Using the private.coffee Matrix homeserver</title>
<description></description>
<pubDate>Sun, 28 Dec 2025 13:00:00 +0000</pubDate>
<guid>https://dev.private.coffee/blog/20241228-matrix/</guid>
<link>https://dev.private.coffee/blog/20241228-matrix/</link>
<dc:creator><![CDATA[jupfi]]></dc:creator>
</item>
<item>
<title>Board Meeting 27/10/2024</title>
<description></description>
<pubDate>Sun, 27 Oct 2024 23:59:59 +0000</pubDate>
<guid>https://dev.private.coffee/blog/20241027-board_meeting/</guid>
<link>https://dev.private.coffee/blog/20241027-board_meeting/</link>
<dc:creator><![CDATA[jupfi]]></dc:creator>
</item>
<item>
<title>Board Meeting 24/03/2024</title>
<description></description>
<pubDate>Sun, 24 Mar 2024 23:59:59 +0000</pubDate>
<guid>https://dev.private.coffee/blog/20240324-board_meeting/</guid>
<link>https://dev.private.coffee/blog/20240324-board_meeting/</link>
<dc:creator><![CDATA[jupfi]]></dc:creator>
</item>
<item>
<title>Board Meeting 16/06/2024</title>
<description></description>
<pubDate>Sun, 16 Jun 2024 23:59:59 +0000</pubDate>
<guid>https://dev.private.coffee/blog/20240616-board_meeting/</guid>
<link>https://dev.private.coffee/blog/20240616-board_meeting/</link>
<dc:creator><![CDATA[jupfi]]></dc:creator>
</item>
<item>
<title>General Assembly 01/02/2025</title>
<description></description>
<pubDate>Sun, 02 Feb 2025 12:00:00 +0000</pubDate>
<guid>https://dev.private.coffee/blog/20250202-general_assembly/</guid>
<link>https://dev.private.coffee/blog/20250202-general_assembly/</link>
<dc:creator><![CDATA[jupfi]]></dc:creator>
</item>
<item>
<title>Board Meeting 30/11/2024</title>
<description></description>
<pubDate>Sat, 30 Nov 2024 23:59:59 +0000</pubDate>
<guid>https://dev.private.coffee/blog/20241130-board_meeting/</guid>
<link>https://dev.private.coffee/blog/20241130-board_meeting/</link>
<dc:creator><![CDATA[jupfi]]></dc:creator>
</item>
<item>
<title>Test Post</title>
<description></description>
<pubDate>Sat, 27 Nov 2049 09:00:00 +0000</pubDate>
<guid>https://dev.private.coffee/blog/2024112701-test/</guid>
<link>https://dev.private.coffee/blog/2024112701-test/</link>
<dc:creator><![CDATA[Kumi]]></dc:creator>
</item>
</channel>
</rss>

View file

@ -0,0 +1,289 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/tag/board-meeting/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog index for tag board-meeting</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20250101-board_meeting/index.html">Board Meeting 01/01/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-01-01 17:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on January 1st, 2025. <a href="../../../blog/20250101-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20241130-board_meeting/index.html">Board Meeting 30/11/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-11-30 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on November 30th, 2024. <a href="../../../blog/20241130-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20241027-board_meeting/index.html">Board Meeting 27/10/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-10-27 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on October 27th, 2024. <a href="../../../blog/20241027-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20240630-board_meeting/index.html">Board Meeting 30/06/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-06-30 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on June 30th, 2024. <a href="../../../blog/20240630-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20240616-board_meeting/index.html">Board Meeting 16/06/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-06-16 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on June 16th, 2024. <a href="../../../blog/20240616-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item active">
<a class="page-link" href="../../../blog/page/1/">1</a>
</li>
<li class="page-item ">
<a class="page-link" href="../../../blog/page/2/">2</a>
</li>
<li class="page-item">
<a class="page-link"
href="../../../blog/page/2/">Next</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,289 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../../../../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../../../../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../../../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../../../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../../../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../../../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/tag/board-meeting/page/1/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../../../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog index for tag board-meeting</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../../../blog/20250101-board_meeting/index.html">Board Meeting 01/01/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-01-01 17:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../../../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on January 1st, 2025. <a href="../../../../../blog/20250101-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../../../blog/20241130-board_meeting/index.html">Board Meeting 30/11/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-11-30 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on November 30th, 2024. <a href="../../../../../blog/20241130-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../../../blog/20241027-board_meeting/index.html">Board Meeting 27/10/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-10-27 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on October 27th, 2024. <a href="../../../../../blog/20241027-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../../../blog/20240630-board_meeting/index.html">Board Meeting 30/06/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-06-30 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on June 30th, 2024. <a href="../../../../../blog/20240630-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../../../blog/20240616-board_meeting/index.html">Board Meeting 16/06/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-06-16 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on June 16th, 2024. <a href="../../../../../blog/20240616-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item active">
<a class="page-link" href="../../../../../blog/page/1/">1</a>
</li>
<li class="page-item ">
<a class="page-link" href="../../../../../blog/page/2/">2</a>
</li>
<li class="page-item">
<a class="page-link"
href="../../../../../blog/page/2/">Next</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../../../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../../../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../../../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../../../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,213 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/tag/board-meeting/page/2/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog index for tag board-meeting</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20240324-board_meeting/index.html">Board Meeting 24/03/2024</a>
</h2>
<small class="text-muted">by jupfi, published 2024-03-24 23:59:59</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/board-meeting">board-meeting</a>
</small>
<p>
Minutes of the board meeting on March 24th, 2024. <a href="../../../blog/20240324-board_meeting/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item">
<a class="page-link"
href="../../../blog/page/1/">Previous</a>
</li>
<li class="page-item ">
<a class="page-link" href="../../../blog/page/1/">1</a>
</li>
<li class="page-item active">
<a class="page-link" href="../../../blog/page/2/">2</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

204
blog/tag/events/index.html Normal file
View file

@ -0,0 +1,204 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/tag/events/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog index for tag events</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20250501-linuxtage/index.html">Linuxtage 26/04/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-05-01 17:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/events">events</a>
</small>
<p>
Private.coffee is at the Grazer Linuxtage <a href="../../../blog/20250501-linuxtage/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item active">
<a class="page-link" href="../../../blog/page/1/">1</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,204 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../../../../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../../../../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../../../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../../../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../../../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../../../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/tag/events/page/1/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../../../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog index for tag events</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../../../blog/20250501-linuxtage/index.html">Linuxtage 26/04/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-05-01 17:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../../../../../blog/tag/events">events</a>
</small>
<p>
Private.coffee is at the Grazer Linuxtage <a href="../../../../../blog/20250501-linuxtage/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item active">
<a class="page-link" href="../../../../../blog/page/1/">1</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../../../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../../../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../../../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../../../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,204 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/tag/general-assembly/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog index for tag general-assembly</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../blog/20250202-general_assembly/index.html">General Assembly 01/02/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-02-02 12:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/general-assembly">general-assembly</a>
</small>
<p>
Blog post about the general assembly on February 1st, 2025 in Vienna. <a href="../../../blog/20250202-general_assembly/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item active">
<a class="page-link" href="../../../blog/page/1/">1</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,204 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../../../../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../../../../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../../../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../../../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../../../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../../../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/tag/general-assembly/page/1/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../../../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog index for tag general-assembly</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<div>
<h2>
<a href="../../../../../blog/20250202-general_assembly/index.html">General Assembly 01/02/2025</a>
</h2>
<small class="text-muted">by jupfi, published 2025-02-02 12:00:00</small>
<br>
<small class="text-muted">tags:
<a href="../../../../../blog/tag/general-assembly">general-assembly</a>
</small>
<p>
Blog post about the general assembly on February 1st, 2025 in Vienna. <a href="../../../../../blog/20250202-general_assembly/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item active">
<a class="page-link" href="../../../../../blog/page/1/">1</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../../../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../../../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../../../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../../../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

210
blog/tag/test/index.html Normal file
View file

@ -0,0 +1,210 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/tag/test/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog index for tag test</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<img src="../../../blog/2024112701-test/thumb_image.png"
alt="Test Post thumbnail"
class="me-3"
style="width: 150px;
height: 150px">
<div>
<h2>
<a href="../../../blog/2024112701-test/index.html">Test Post</a>
</h2>
<small class="text-muted">by Kumi, published 2049-11-27 09:00:00 (future)</small>
<br>
<small class="text-muted">tags:
<a href="../../../blog/tag/test">test</a>
</small>
<p>
This is the excerpt of a test post. It is displayed on the index pages. <a href="../../../blog/2024112701-test/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item active">
<a class="page-link" href="../../../blog/page/1/">1</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -0,0 +1,210 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="../../../../../assets/img/logo-inv_grad.png" />
<title>
Blog
- Private.coffee</title>
<link rel="stylesheet"
href="../../../../../assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="../../../../../assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="../../../../../assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="../../../../../assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="../../../../../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../../../services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../../../../../blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/blog/tag/test/page/1/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="../../../../../membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<h1>Blog index for tag test</h1>
<ul class="list-unstyled">
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
<img src="../../../../../blog/2024112701-test/thumb_image.png"
alt="Test Post thumbnail"
class="me-3"
style="width: 150px;
height: 150px">
<div>
<h2>
<a href="../../../../../blog/2024112701-test/index.html">Test Post</a>
</h2>
<small class="text-muted">by Kumi, published 2049-11-27 09:00:00 (future)</small>
<br>
<small class="text-muted">tags:
<a href="../../../../../blog/tag/test">test</a>
</small>
<p>
This is the excerpt of a test post. It is displayed on the index pages. <a href="../../../../../blog/2024112701-test/index.html">[read more]</a>
</p>
</div>
</li>
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
<li class="page-item active">
<a class="page-link" href="../../../../../blog/page/1/">1</a>
</li>
</ul>
</nav>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="../../../../../legal.html">Legal Notice</a>
</li>
<li>
<a href="../../../../../privacy.html">Privacy Notice</a>
</li>
<li>
<a href="../../../../../terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="../../../../../assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

83
bridges.html Normal file
View file

@ -0,0 +1,83 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bridges and bots</title>
</head>
<body>
<div style="font-family: Arial, sans-serif;
background-color: #f2f2f2;
color: #333;
line-height: 1.6;
padding: 20px;
max-width: 600px;
margin: auto">
<h2 style="color: #333;">Bridges and bots</h2>
<p>These are the bridges and bots available to Private.coffee Matrix users:</p>
<ul style="list-style: none; padding: 0;">
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://matrix.pcof.fi/#/@telegrambot:private.coffee">Telegram</a> - @telegrambot:private.coffee
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://matrix.pcof.fi/#/@whatsappbot:private.coffee">WhatsApp</a> - @whatsappbot:private.coffee
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://matrix.pcof.fi/#/@signalbot:private.coffee">Signal</a> - @signalbot:private.coffee
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://matrix.pcof.fi/#/@discordbot:private.coffee">Discord</a> - @discordbot:private.coffee
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://matrix.pcof.fi/#/@slackbot:private.coffee">Slack</a> - @slackbot:private.coffee
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://matrix.pcof.fi/#/@linkedinbot:private.coffee">LinkedIn</a> - @linkedinbot:private.coffee
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://matrix.pcof.fi/#/@gptbot:private.coffee">GPT-4o</a> - @gptbot:private.coffee
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://matrix.pcof.fi/#/@rssbot:private.coffee">RSS/Atom feeds</a> - @rssbot:private.coffee
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://matrix.pcof.fi/#/@instagrambot:private.coffee">Instagram</a> - @instagrambot:private.coffee
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://matrix.pcof.fi/#/@facebookbot:private.coffee">Facebook</a> - @facebookbot:private.coffee
</li>
</ul>
</div>
</body>
</html>

View file

@ -1,41 +0,0 @@
private.coffee www.private.coffee {
header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
header Access-Control-Allow-Origin https://element.private.coffee
header Access-Control-Allow-Methods "GET"
header Access-Control-Allow-Headers "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range"
header Access-Control-Expose-Headers "Content-Length,Content-Range"
@matrix {
path matrix /.well-known/matrix/*
}
@assets {
path assets /assets/*
}
@security {
path security-well-known /.well-known/security.txt
path security /security.txt
}
handle @matrix {
header /.well-known/matrix/* Content-Type application/json
header /.well-known/matrix/* Access-Control-Allow-Origin *
respond /.well-known/matrix/server `{"m.server": "matrix.private.coffee:443"}`
respond /.well-known/matrix/client `{"m.homeserver":{"base_url":"https://matrix.private.coffee"}}`
}
handle @assets {
file_server
root * /srv/private.coffee
}
handle @security {
redir https://security.private.coffee/security.txt
}
handle {
reverse_proxy * unix//var/run/uwsgi/privatecoffee.sock
}
}

View file

@ -1,16 +0,0 @@
[uwsgi]
module = main:app
uid = %n
gid = %n
master = true
processes = 5
plugins = python3
virtualenv = /srv/%n/venv/
chdir = /srv/%n/
env = PRIVATECOFFEE_DEV=true
http-socket = /var/run/uwsgi/%n.sock
chown-socket = caddy

View file

@ -1,14 +0,0 @@
[uwsgi]
module = main:app
uid = %n
gid = %n
master = true
processes = 5
plugins = python3
virtualenv = /srv/%n/venv/
chdir = /srv/%n/
http-socket = /var/run/uwsgi/%n.sock
chown-socket = caddy

View file

@ -179,7 +179,7 @@
},
"05": {
"Membership Fees": {
"EUR": 473.46
"EUR": 453.46
},
"Donations": {
"EUR": 112
@ -192,39 +192,10 @@
"Notes": "Reimbursements for hoodies"
},
"Server Rent": {
"EUR": -386.53
"EUR": -237.24
},
"Domains": {
"EUR": -73.66
}
},
"06": {
"Membership Fees": {
"EUR": 438.46
},
"Donations": {
"EUR": 1
},
"Server Rent": {
"EUR": -480.85
},
"Domains": {
"EUR": -53.55
},
"Bank Fees": {
"EUR": -60.6
},
"Marketing": {
"EUR": -126,
"Notes": "Embroidery for branded shirts (see April 2025)"
}
},
"07": {
"Membership Fees": {
"EUR": 70.23
},
"Donations": {
"EUR": 75
"EUR": -9
}
}
}

View file

@ -665,26 +665,6 @@
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "FreeDOI",
"url": "https://freedoi.org",
"category": "Media & Content",
"homemade": "https://git.private.coffee/PrivateCoffee/freedoi",
"fork": false,
"tiny_description": "Permanent identifiers for digital objects",
"short_description": "FreeDOI is a service for creating and resolving DOI-like identifiers.",
"long_description": "FreeDOI is a service for creating and resolving DOI-like identifiers. It allows you to create permanent URLs for digital objects, such as research papers, datasets, and more.",
"status": "OK",
"links": [
{
"name": "Go to FreeDOI",
"url": "https://freedoi.org"
}
],
"icon": "link",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "BiblioReads",
"url": "https://biblioreads.private.coffee",

View file

@ -47,11 +47,5 @@
"name": "pride",
"start": "1970-06-01",
"end": "1970-06-30"
},
{
// Disability Pride Month
"name": "disability",
"start": "1970-07-01",
"end": "1970-07-31"
}
]

View file

@ -1,250 +0,0 @@
from decimal import Decimal
from datetime import datetime
def get_latest_month(data, allow_current=False):
years = sorted(data.keys())
if not years:
raise ValueError("No data found")
current_date = datetime.now()
latest_year = max(years)
latest_month = max(data[latest_year].keys())
if not allow_current:
if latest_year == str(current_date.year) and latest_month == str(current_date.month).zfill(2):
if len(data[latest_year]) > 1:
latest_month = sorted(data[latest_year].keys())[-2]
else:
latest_year = str(int(latest_year) - 1)
latest_month = max(data[latest_year].keys())
return int(latest_month), int(latest_year)
def get_transparency_data(data, year=None, month=None, allow_current=False):
if year is None:
year = max(data.keys())
if month is None:
month = max(data[year].keys())
year = str(year)
month = str(month).zfill(2)
if (
not allow_current
and year == str(datetime.now().year)
and month == str(datetime.now().month).zfill(2)
):
try:
month = max([m for m in data[year].keys() if m != str(datetime.now().month)])
except ValueError:
year = str(int(year) - 1)
month = max(data[year].keys())
assert year in data, f"Year {year} not found in data"
assert month in data[year], f"Month {month}-{year} not found in data"
# Initialize balances
balances = {}
incomes = {}
expenses = {}
notes = {}
start_balance = {}
end_balance = {}
for y in sorted(data.keys()):
if int(y) > int(year):
break
for m in sorted(data[y].keys()):
if int(y) == int(year) and int(m) > int(month):
break
# If the month is the one we are interested in, capture the start balance
if int(y) == int(year) and int(m) == int(month):
start_balance = {
k: Decimal(v) for k, v in balances.items() if k != "Notes"
}
for category in data[y][m]:
for currency, amount in data[y][m][category].items():
if currency == "Notes":
if int(y) == int(year) and int(m) == int(month):
notes[category] = amount
else:
if currency not in balances:
balances[currency] = Decimal(0)
balances[currency] += Decimal(str(amount))
# Track incomes and expenses
if int(y) == int(year) and int(m) == int(month):
if Decimal(str(amount)) > 0:
if category not in incomes:
incomes[category] = {}
if currency not in incomes[category]:
incomes[category][currency] = Decimal(0)
incomes[category][currency] += Decimal(str(amount))
else:
if category not in expenses:
expenses[category] = {}
if currency not in expenses[category]:
expenses[category][currency] = Decimal(0)
expenses[category][currency] += Decimal(str(amount))
# If the month is the one we are interested in, capture the end balance
if int(y) == int(year) and int(m) == int(month):
end_balance = {
k: Decimal(v) for k, v in balances.items() if k != "Notes"
}
# Calculate accumulated sums of incomes and expenses
accumulated_incomes = {
currency: sum(incomes[cat].get(currency, Decimal(0)) for cat in incomes)
for currency in balances
if currency != "Notes"
}
accumulated_expenses = {
currency: sum(expenses[cat].get(currency, Decimal(0)) for cat in expenses)
for currency in balances
if currency != "Notes"
}
return {
"start_balance": start_balance,
"end_balance": end_balance,
"incomes": incomes,
"expenses": expenses,
"accumulated_incomes": accumulated_incomes,
"accumulated_expenses": accumulated_expenses,
"notes": notes,
}
def generate_transparency_table(result, currencies=None):
def extract_currencies(data):
return ["EUR"] + (
list(
set(
list(data["start_balance"].keys())
+ list(data["end_balance"].keys())
+ list(data["accumulated_incomes"].keys())
+ list(data["accumulated_expenses"].keys())
)
- {"EUR", "Notes"}
)
)
def format_currency(value, currency):
if currency == "EUR":
return f"{value:,.2f}"
elif currency in ["BTC", "ETH", "XMR"]:
return f"{value:,.9f} {currency}"
else:
return f"{value} {currency}"
def format_value(value, currency):
if value == 0:
return f"{format_currency(value, currency)}"
elif value > 0:
return f"+ {format_currency(value, currency)}"
else:
return f"- {format_currency(abs(value), currency)}"
html = """
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
"""
if currencies is None:
currencies = extract_currencies(result)
# Add currency headers
for currency in currencies:
if currency == "EUR":
html += '<th class="currency-col" scope="col">Euros (€)</th>'
elif currency == "BTC":
html += '<th class="currency-col" scope="col">Bitcoin (BTC)</th>'
elif currency == "ETH":
html += '<th class="currency-col" scope="col">Ethereum (ETH)</th>'
elif currency == "XMR":
html += '<th class="currency-col" scope="col">Monero (XMR)</th>'
else:
html += f'<th class="currency-col" scope="col">{currency}</th>'
html += """
</tr>
</thead>
<tbody>
"""
# Add start balance row
html += "<tr class=\"transparency-start-balance-row\"><td>Account Balance (start of month)</td>"
for currency in currencies:
value = result["start_balance"].get(currency, Decimal(0))
html += f"<td>{format_value(value, currency)}</td>"
html += "</tr>"
# Add income rows
for category, transactions in result["incomes"].items():
has_notes = result["notes"].get(category)
html += f"<tr><td>{category}{'*' if has_notes else ''}</td>"
for currency in currencies:
value = transactions.get(currency, "")
if value != "":
html += f"<td>{format_value(value, currency)}</td>"
else:
html += "<td></td>"
html += "</tr>"
# Add expense rows
for category, transactions in result["expenses"].items():
has_notes = result["notes"].get(category)
html += f"<tr><td>{category}{'*' if has_notes else ''}</td>"
for currency in currencies:
value = transactions.get(currency, "")
if value != "":
html += f"<td>{format_value(value, currency)}</td>"
else:
html += "<td></td>"
html += "</tr>"
# Add total income row
html += '<tr class="table-secondary"><td><b>Total Income</b></td>'
for currency in currencies:
value = result["accumulated_incomes"].get(currency, Decimal(0))
html += f"<td><b>{format_value(value, currency)}</b></td>"
html += "</tr>"
# Add total expenses row
html += '<tr class="table-secondary"><td><b>Total Expenses</b></td>'
for currency in currencies:
value = result["accumulated_expenses"].get(currency, Decimal(0))
html += f"<td><b>{format_value(value, currency)}</b></td>"
html += "</tr>"
# Add end balance row
html += '<tr class="table-secondary"><td><b>Account Balance (end of month)</b></td>'
for currency in currencies:
value = result["end_balance"].get(currency, Decimal(0))
html += f"<td><b>{format_value(value, currency)}</b></td>"
html += "</tr>"
html += """
</tbody>
</table>
"""
if result["notes"]:
html += "<p><b>Notes:</b></p>"
html += "<ul>"
for category, footnote in result["notes"].items():
html += f"<li>{category}: {footnote}</li>"
html += "</ul>"
return html

422
index.html Normal file
View file

@ -0,0 +1,422 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="assets/img/logo-inv_grad.png" />
<title>
Home
- Private.coffee</title>
<link rel="stylesheet"
href="assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<header class="bg-primary-gradient">
<div class="container pt-4 pt-xl-5 pb-4 pb-xl-5">
<div class="row gy-5 pt-5">
<div class="col-md-8 col-xl-6 text-center text-md-start mx-auto">
<div class="text-center">
<h2>Open-source software is best served hot</h2>
</div>
<p class="text-center special-header fancy-text-primary mb-0"
style="font-weight: 500">Private.coffee</p>
</div>
<div class="col-12 col-lg-10 mx-auto justify-content-center d-flex">
<div id="logoContainer"></div>
</div>
</div>
</div>
</header>
<section class="bg-light">
<div class="container py-5">
<div class="row">
<div class="col-md-8 col-xl-6 text-center mx-auto">
<p class="fw-bold mb-2 text-primary">Featured Services</p>
<h3 class="fw-bold">Privacy-respecting alternatives to common services</h3>
<p class="text-muted">
These are just a few of our services. <a href="/services.html">View all services →</a>
</p>
</div>
</div>
<div class="row row-cols-1 row-cols-md-3 g-4 mt-2">
<div class="col">
<div class="card h-100 shadow-sm">
<div class="card-body">
<div class="d-flex align-items-center mb-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary me-3"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M72,216a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V40a8,8,0,0,1,8-8H64a8,8,0,0,1,0,16H48V208H64A8,8,0,0,1,72,216ZM216,32H192a8,8,0,0,0,0,16h16V208H192a8,8,0,0,0,0,16h24a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32Zm-32,88a32,32,0,0,0-56-21.13,31.93,31.93,0,0,0-40.71-6.15A8,8,0,0,0,72,96v64a8,8,0,0,0,16,0V120a16,16,0,0,1,32,0v40a8,8,0,0,0,16,0V120a16,16,0,0,1,32,0v40a8,8,0,0,0,16,0Z"></path></svg></div>
<h5 class="card-title mb-0">Matrix</h5>
</div>
<p class="card-text">Matrix is an open network for secure, decentralized communication.</p>
</div>
<div class="card-footer bg-transparent border-top-0">
<a href="https://register.matrix.private.coffee" class="btn btn-primary btn-sm">Try it now</a>
</div>
</div>
</div>
<div class="col">
<div class="card h-100 shadow-sm">
<div class="card-body">
<div class="d-flex align-items-center mb-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary me-3"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M128,96H232a8,8,0,0,1,0,16H128a8,8,0,0,1,0-16Zm104,32H128a8,8,0,0,0,0,16H232a8,8,0,0,0,0-16Zm0,32H80a8,8,0,0,0,0,16H232a8,8,0,0,0,0-16Zm0,32H80a8,8,0,0,0,0,16H232a8,8,0,0,0,0-16ZM96,144a8,8,0,0,0,0-16H88V64h32v8a8,8,0,0,0,16,0V56a8,8,0,0,0-8-8H32a8,8,0,0,0-8,8V72a8,8,0,0,0,16,0V64H72v64H64a8,8,0,0,0,0,16Z"></path></svg></div>
<h5 class="card-title mb-0">CryptPad</h5>
</div>
<p class="card-text">Private, encrypted, real-time collaborative editor.</p>
</div>
<div class="card-footer bg-transparent border-top-0">
<a href="https://cryptpad.private.coffee" class="btn btn-primary btn-sm">Try it now</a>
</div>
</div>
</div>
<div class="col">
<div class="card h-100 shadow-sm">
<div class="card-body">
<div class="d-flex align-items-center mb-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary me-3"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H80a8,8,0,0,1,0,16H32v64H224V136H176a8,8,0,0,1,0-16h48A16,16,0,0,1,240,136ZM85.66,77.66,120,43.31V128a8,8,0,0,0,16,0V43.31l34.34,34.35a8,8,0,0,0,11.32-11.32l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,85.66,77.66ZM200,168a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z"></path></svg></div>
<h5 class="card-title mb-0">Transfer.coffee</h5>
</div>
<p class="card-text">Transfer files securely using peer-to-peer connections.</p>
</div>
<div class="card-footer bg-transparent border-top-0">
<a href="https://transfer.coffee" class="btn btn-primary btn-sm">Try it now</a>
<a href="https://git.private.coffee/PrivateCoffee/transfer.coffee"
class="btn btn-outline-secondary btn-sm">
<small>Source Code</small>
</a>
</div>
</div>
</div>
<div class="col">
<div class="card h-100 shadow-sm">
<div class="card-body">
<div class="d-flex align-items-center mb-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary me-3"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M164.44,105.34l-48-32A8,8,0,0,0,104,80v64a8,8,0,0,0,12.44,6.66l48-32a8,8,0,0,0,0-13.32ZM120,129.05V95l25.58,17ZM216,40H40A16,16,0,0,0,24,56V168a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm0,128H40V56H216V168Zm16,40a8,8,0,0,1-8,8H32a8,8,0,0,1,0-16H224A8,8,0,0,1,232,208Z"></path></svg></div>
<h5 class="card-title mb-0">PeerTube</h5>
</div>
<p class="card-text">PeerTube is a decentralized video hosting platform.</p>
</div>
<div class="card-footer bg-transparent border-top-0">
<a href="https://cuddly.tube" class="btn btn-primary btn-sm">Try it now</a>
</div>
</div>
</div>
<div class="col">
<div class="card h-100 shadow-sm">
<div class="card-body">
<div class="d-flex align-items-center mb-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary me-3"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M232,64a32,32,0,1,0-40,31v17a8,8,0,0,1-8,8H96a23.84,23.84,0,0,0-8,1.38V95a32,32,0,1,0-16,0v66a32,32,0,1,0,16,0V144a8,8,0,0,1,8-8h88a24,24,0,0,0,24-24V95A32.06,32.06,0,0,0,232,64ZM64,64A16,16,0,1,1,80,80,16,16,0,0,1,64,64ZM96,192a16,16,0,1,1-16-16A16,16,0,0,1,96,192ZM200,80a16,16,0,1,1,16-16A16,16,0,0,1,200,80Z"></path></svg></div>
<h5 class="card-title mb-0">Forgejo</h5>
</div>
<p class="card-text">Forgejo is our in-house Git forge.</p>
</div>
<div class="card-footer bg-transparent border-top-0">
<a href="https://git.private.coffee" class="btn btn-primary btn-sm">Try it now</a>
</div>
</div>
</div>
<div class="col">
<div class="card h-100 shadow-sm">
<div class="card-body">
<div class="d-flex align-items-center mb-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary me-3"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M168,104a40,40,0,1,0-40,40A40,40,0,0,0,168,104Zm-64,0a24,24,0,1,1,24,24A24,24,0,0,1,104,104Zm120,96H136V183.6a80,80,0,1,0-16,0V200H32a8,8,0,0,0,0,16H224a8,8,0,0,0,0-16ZM64,104a64,64,0,1,1,64,64A64.07,64.07,0,0,1,64,104Z"></path></svg></div>
<h5 class="card-title mb-0">BigBlueButton</h5>
</div>
<p class="card-text">BigBlueButton is an open-source video conferencing system.</p>
</div>
<div class="card-footer bg-transparent border-top-0">
<a href="https://bbb.private.coffee" class="btn btn-primary btn-sm">Try it now</a>
</div>
</div>
</div>
</div>
<div class="text-center mt-4">
<a href="/services.html" class="btn btn-outline-primary">View All Services</a>
</div>
</div>
</section>
<section class="bg-white">
<div class="container bg-white py-5">
<div class="row">
<div class="col-md-8 col-xl-6 text-center mx-auto">
<p class="fw-bold mb-2 text-primary">Our Mission</p>
<h3 class="fw-bold">
Private.coffee is a non-profit association dedicated to supporting privacy and digital sovereignty.
</h3>
<p class="text-muted">
We provide privacy-respecting alternatives to common services, educate users about digital privacy,
and advocate for a more private and secure internet.
</p>
<p class="text-muted">
We are always looking for volunteers and contributors, and you can also support us by donating or becoming
a member of our association. Your support enables us to provide free and open-source software solutions
that respect your privacy and digital rights.
</p>
<a href="/membership.html" class="btn btn-primary btn-sm">Join us</a>
</div>
</div>
</div>
</section>
<section class="bg-primary-gradient">
<div class="container py-5">
<div class="row align-items-center">
<div class="col">
<p class="text-end special-header fancy-text-primary mb-0">Privacy</p>
</div>
<div class="col">
<p class="text-start mb-1" style="font-size: 1.6rem">
from the <strong>community</strong>
</p>
<p class="text-start mb-0" style="font-size: 1.6rem">
for the <strong>community</strong>
</p>
</div>
</div>
<div class="mx-auto" style="max-width: 900px">
<div class="row row-cols-1 row-cols-md-2 d-flex justify-content-center">
<div class="col mb-4">
<div class="card bg-primary-subtle">
<div class="card-body text-center px-4 py-5 px-md-5">
<p class="fw-bold text-primary card-text mb-2">Join or donate</p>
<h5 class="fw-bold card-title mb-3">Be a part of the open source community!</h5>
<a class="btn btn-primary btn-sm" href="/membership.html">Learn more</a>
</div>
</div>
</div>
<div class="col mb-4">
<div class="card bg-secondary-subtle">
<div class="card-body text-center px-4 py-5 px-md-5">
<p class="fw-bold text-secondary card-text mb-2">Private Hosting</p>
<h5 class="fw-bold card-title mb-3">Interested in Hosting Services?</h5>
<a class="btn btn-secondary btn-sm" href="mailto:support@private.coffee">Get in touch</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="py-5">
<div class="container">
<div class="row mb-5">
<div class="col-md-8 col-xl-6 text-center mx-auto">
<p class="fw-bold mb-2 text-primary">Contacts</p>
<h2 class="fw-bold">How you can reach us</h2>
</div>
</div>
<div class="row d-flex justify-content-center">
<div class="col-md-4 col-xl-4 d-flex justify-content-center justify-content-xl-start">
<div class="d-flex flex-wrap flex-md-column justify-content-md-start align-items-md-start h-100">
<div class="d-flex align-items-center p-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md">
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48Zm-96,85.15L52.57,64H203.43ZM98.71,128,40,181.81V74.19Zm11.84,10.85,12,11.05a8,8,0,0,0,10.82,0l12-11.05,58,53.15H52.57ZM157.29,128,216,74.18V181.82Z"></path></svg>
</div>
<div class="px-2">
<h6 class="fw-bold mb-0">Email</h6>
<p class="text-muted mb-0">
<a href="mailto:support@private.coffee">support@private.coffee</a>
<small><a href="assets/support@private.coffee.asc">[PGP]</a></small>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="row d-flex justify-content-center">
<div class="col-md-4 col-xl-4 d-flex justify-content-center justify-content-xl-start">
<div class="d-flex flex-wrap flex-md-column justify-content-md-start align-items-md-start h-100">
<div class="d-flex align-items-center p-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md">
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M72,216a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V40a8,8,0,0,1,8-8H64a8,8,0,0,1,0,16H48V208H64A8,8,0,0,1,72,216ZM216,32H192a8,8,0,0,0,0,16h16V208H192a8,8,0,0,0,0,16h24a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32Zm-32,88a32,32,0,0,0-56-21.13,31.93,31.93,0,0,0-40.71-6.15A8,8,0,0,0,72,96v64a8,8,0,0,0,16,0V120a16,16,0,0,1,32,0v40a8,8,0,0,0,16,0V120a16,16,0,0,1,32,0v40a8,8,0,0,0,16,0Z"></path></svg>
</div>
<div class="px-2">
<h6 class="fw-bold mb-0">Matrix</h6>
<p class="text-muted mb-0">
<a href="https://matrix.pcof.fi/#/#private.coffee:private.coffee">#private.coffee:private.coffee</a>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="legal.html">Legal Notice</a>
</li>
<li>
<a href="privacy.html">Privacy Notice</a>
</li>
<li>
<a href="terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

209
legal.html Normal file
View file

@ -0,0 +1,209 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="assets/img/logo-inv_grad.png" />
<title>
Legal Notice
- Private.coffee</title>
<link rel="stylesheet"
href="assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/legal.html"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<section>
<div class="container py-5">
<div class="row align-items-center">
<div class="col">
<p class="text-end special-header fancy-text-primary mb-0">Legal Notice</p>
</div>
<div class="col">
<p class="text-start mb-1" style="font-size: 1.6rem">
from the <strong>community</strong>
</p>
<p class="text-start mb-0" style="font-size: 1.6rem">
for the <strong>community</strong>
</p>
</div>
</div>
<div class="container">
<p>This is a legal notice for the website private.coffee</p>
<p>The website private.coffee is run by the following entity:</p>
<address>
Private.coffee &dash; Verein zur Förderung von Privatsphäre und
digitaler Souver&auml;nit&auml;t
<br />
c/o Klaus-Uwe Mitterer
<br />
Gartengasse 22/7/3
<br />
8010 Graz
<br />
Austria
<br />
</address>
<p>Central Register of Associations (ZVR) Number: 1758485319</p>
<p>
Email:
<a href="mailto:support@private.coffee">support@private.coffee</a>
(PGP key: <a href="assets/support@private.coffee.asc">F262CF22D540CDBB90D7A82BA5F5E7AA321941FA</a>)
</p>
<p>
For security-related issues, please see <a href="https://security.private.coffee/">our security page</a>.
</p>
</div>
</div>
</section>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="legal.html">Legal Notice</a>
</li>
<li>
<a href="privacy.html">Privacy Notice</a>
</li>
<li>
<a href="terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

627
main.py
View file

@ -1,627 +0,0 @@
import json
import pathlib
import datetime
import shutil
import math
import os
import logging
from http.server import SimpleHTTPRequestHandler
from socketserver import TCPServer
from threading import Thread
from argparse import ArgumentParser
from typing import Optional
import yaml
import markdown2
from PIL import Image
from jinja2 import Environment, FileSystemLoader, TemplateNotFound
from helpers.finances import (
generate_transparency_table,
get_transparency_data,
get_latest_month,
)
class StaticPageHandler(SimpleHTTPRequestHandler):
def __init__(self, *args, **kwargs):
super().__init__(*args, directory="build", **kwargs)
# Configure logging
logging.basicConfig(
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
level=logging.INFO,
)
# Configure Jinja2 environment
env = Environment(loader=FileSystemLoader("templates"))
# Set up the output directory for static files
output_dir = pathlib.Path("build")
output_dir.mkdir(exist_ok=True, parents=True)
# Define the icon filter
def icon(icon_name):
icon_path = pathlib.Path("assets") / f"dist/icons/{icon_name}.svg"
try:
with open(icon_path, "r", encoding="utf-8") as file:
file_content = file.read()
except FileNotFoundError:
file_content = ""
return file_content
env.filters["icon"] = icon
# Filter for rendering a month name from a number
def month_name(month_number):
return datetime.date(1900, int(month_number), 1).strftime("%B")
env.filters["month_name"] = month_name
def render_template_to_file(template_name, output_name, **kwargs):
"""Render a template to a file.
Args:
template_name (str): The name of the template file.
output_name (str): The name of the output file.
**kwargs: Additional keyword arguments to pass to the template.
"""
try:
template = env.get_template(template_name)
output_path = output_dir / output_name
kwargs.setdefault("theme", "plain")
path = "/" + output_name
if path.endswith("/index.html"):
path = path[:-10]
elif path == "/index.html":
path = "/"
kwargs.setdefault("request", {"path": path})
output_path.parent.mkdir(parents=True, exist_ok=True)
with open(output_path, "w", encoding="utf-8") as f:
f.write(template.render(**kwargs))
except TemplateNotFound:
logging.error(f"Template {template_name} not found.")
def create_thumbnail(input_image_path, output_image_path, size=(150, 150)):
with Image.open(input_image_path) as img:
img.thumbnail(size)
img.save(output_image_path)
def calculate_relative_path(depth):
return "../" * depth
def copy_assets(src_dir, dest_dir):
for item in src_dir.iterdir():
if item.is_dir():
# Recurse for subdirectories
item_dest_dir = dest_dir / item.name
item_dest_dir.mkdir(parents=True, exist_ok=True)
copy_assets(item, item_dest_dir)
elif item.is_file():
shutil.copy(item, dest_dir)
def parse_markdown_file(filepath):
with open(filepath, "r", encoding="utf-8") as f:
content = f.read()
# Split the front matter and markdown content
parts = content.split("---", 2)
if len(parts) == 3:
_, fm_text, md_content = parts
front_matter = yaml.safe_load(fm_text)
else:
front_matter, md_content = {}, content
return front_matter, md_content
def generate_blog_html(template_kwargs={}, posts_per_page=5):
blog_dir = pathlib.Path("blog")
blog_posts = []
blog_tags = {}
for post_dir in blog_dir.iterdir():
if post_dir.is_dir():
md_path = post_dir / "index.md"
if md_path.exists():
front_matter, md_content = parse_markdown_file(md_path)
html_content = markdown2.markdown(md_content)
# Only process future posts in development mode
if front_matter.get("date"):
if isinstance(front_matter["date"], str):
post_date = datetime.datetime.strptime(
front_matter["date"], "%Y-%m-%d %H:%M:%S"
)
else:
post_date = front_matter["date"]
front_matter["date"] = post_date.strftime("%Y-%m-%d %H:%M:%S")
if post_date > datetime.datetime.now():
if not args.dev:
logging.info(f"Skipping future post: {post_dir.name}")
continue
front_matter["date"] = front_matter["date"] + " (future)"
front_matter["content"] = html_content
front_matter["slug"] = post_dir.name
# Add post to relevant tag lists
if "tags" in front_matter:
for tag in front_matter["tags"].split(","):
tag = tag.strip()
if tag not in blog_tags:
blog_tags[tag] = []
blog_tags[tag].append(front_matter)
# Create excerpt if not present
if "excerpt" not in front_matter:
excerpt = html_content.split("</p>")[0]
front_matter["excerpt"] = excerpt
blog_posts.append(front_matter)
# Ensure the build directory structure exists
output_post_dir = output_dir / "blog" / post_dir.name
output_post_dir.mkdir(parents=True, exist_ok=True)
# Generate thumbnail if image is present
if "image" in front_matter:
original_image = post_dir / front_matter["image"]
thumbnail_image_name = f"thumb_{original_image.name}"
thumbnail_image = (
output_dir / "blog" / post_dir.name / thumbnail_image_name
)
create_thumbnail(original_image, thumbnail_image)
front_matter["thumbnail"] = thumbnail_image_name
# Copy non-markdown assets
copy_assets(post_dir, output_post_dir)
# Sort posts by date, descending
blog_posts.sort(key=lambda x: x.get("date", ""), reverse=True)
# Render each individual post
for post in blog_posts:
post.setdefault("license", "CC BY-SA 4.0")
post.setdefault(
"license-url", "https://creativecommons.org/licenses/by-sa/4.0/"
)
post.setdefault("author", "Private.coffee Team")
post.setdefault("author-url", "https://private.coffee")
post["tags"] = [tag.strip() for tag in post.get("tags", "").split(",") if tag]
post_slug = post["slug"]
render_template_to_file(
"blog/post.html",
f"blog/{post_slug}/index.html",
**{**post, "relative_path": calculate_relative_path(2)},
**template_kwargs,
)
# Add tags to template kwargs
template_kwargs["tags"] = blog_tags.keys()
# Generate each index page
total_posts = len(blog_posts)
total_pages = math.ceil(total_posts / posts_per_page)
for page in range(total_pages):
start = page * posts_per_page
end = start + posts_per_page
paginated_posts = blog_posts[start:end]
context = {
"posts": paginated_posts,
"current_page": page + 1,
"total_pages": total_pages,
"relative_path": calculate_relative_path(1 if page == 0 else 3),
**template_kwargs,
}
output_path = (
"blog/index.html" if page == 0 else f"blog/page/{page + 1}/index.html"
)
render_template_to_file("blog/index.html", output_path, **context)
if page == 0:
pathlib.Path("build/blog/page/1").mkdir(parents=True, exist_ok=True)
context["relative_path"] = calculate_relative_path(3)
render_template_to_file(
"blog/index.html", "blog/page/1/index.html", **context
)
# Generate tag pages
for tag, posts in blog_tags.items():
tag_posts = sorted(posts, key=lambda x: x.get("date", ""), reverse=True)
total_tag_posts = len(tag_posts)
total_tag_pages = math.ceil(total_tag_posts / posts_per_page)
for page in range(total_tag_pages):
start = page * posts_per_page
end = start + posts_per_page
paginated_posts = tag_posts[start:end]
context = {
"posts": paginated_posts,
"current_page": page + 1,
"total_pages": total_tag_pages,
"tag": tag,
"relative_path": calculate_relative_path(3),
**template_kwargs,
}
output_path = (
f"blog/tag/{tag}/index.html"
if page == 0
else f"blog/tag/{tag}/page/{page + 1}/index.html"
)
render_template_to_file("blog/index.html", output_path, **context)
if page == 0:
pathlib.Path(f"build/blog/tag/{tag}/page/1").mkdir(
parents=True, exist_ok=True
)
context["relative_path"] = calculate_relative_path(5)
render_template_to_file(
"blog/index.html", f"blog/tag/{tag}/page/1/index.html", **context
)
logging.info("Blog section generated successfully.")
def generate_blog_rss(development_mode=False):
blog_dir = pathlib.Path("blog")
blog_posts = []
for post_dir in blog_dir.iterdir():
if post_dir.is_dir():
md_path = post_dir / "index.md"
if md_path.exists():
front_matter, _ = parse_markdown_file(md_path)
# Ensure date is RFC 822 compliant
if "date" in front_matter:
if isinstance(front_matter["date"], str):
post_date = datetime.datetime.strptime(
front_matter["date"], "%Y-%m-%d %H:%M:%S"
)
else:
post_date = front_matter["date"]
if post_date.tzinfo is None:
post_date = post_date.astimezone()
front_matter["date"] = post_date.strftime(
"%a, %d %b %Y %H:%M:%S %z"
)
front_matter["link"] = (
f"https://{"dev." if development_mode else ""}private.coffee/blog/{post_dir.name}/"
)
blog_posts.append(front_matter)
blog_posts.sort(key=lambda x: x.get("date", ""), reverse=True)
context = {
"development_mode": development_mode,
"posts": blog_posts,
"current_time": datetime.datetime.now()
.astimezone()
.strftime("%a, %d %b %Y %H:%M:%S %z"),
}
render_template_to_file("blog/rss.xml", "blog/rss.xml", **context)
logging.info("RSS feed generated successfully.")
def generate_static_pages(development_mode=False, data={}, template_kwargs={}):
# Iterate over all templates in the templates directory
templates_path = pathlib.Path("templates")
for template_file in templates_path.glob("*.html"):
template_name = template_file.stem
context = template_kwargs.copy()
context["path"] = f"{template_name}.html" if template_name != "index" else ""
if template_name == "index":
# Get featured services for the homepage
featured_services = [
service
for service in data["services"]["services"]
if service.get("featured", False)
and not service.get("exclude_from_index", False)
]
# Limit to 3 featured services if there are more
# TODO: Do something smarter here
if len(featured_services) > 6:
featured_services = featured_services[:3]
context.update(
{"services": data["services"], "featured_services": featured_services}
)
if template_name == "services":
# Extract all categories from services
categories = sorted(
list(
set(
[
service.get("category", "Uncategorized")
for service in data["services"]["services"]
if not service.get("exclude_from_index", False)
]
)
)
)
context.update({"services": data["services"], "categories": categories})
if template_name == "simple":
context.update({"services": data["services"]})
if template_name == "bridges":
context.update({"bridges": data["bridges"]})
if template_name.startswith("membership"):
allow_current = development_mode
finances_month, finances_year = get_latest_month(
data["finances"], allow_current
)
finances_period = datetime.date(finances_year, finances_month, 1)
finances_period_str = finances_period.strftime("%B %Y")
finances_table = generate_transparency_table(
get_transparency_data(
data["finances"], finances_year, finances_month, allow_current
)
)
context.update(
{
"finances": finances_table,
"finances_period": finances_period_str,
}
)
if template_name == "transparency":
finance_data = {}
for year in sorted(data["finances"].keys(), reverse=True):
for month in sorted(data["finances"][year].keys(), reverse=True):
if year not in finance_data:
finance_data[year] = {}
finance_data[year][month] = generate_transparency_table(
get_transparency_data(data["finances"], year, month, True)
)
context.update({"finances": finance_data})
render_template_to_file(
f"{template_name}.html", f"{template_name}.html", **context
)
logging.info("Static pages generated successfully.")
def generate_metrics(data):
balances = get_transparency_data(data["finances"], allow_current=True)[
"end_balance"
]
response = (
"# HELP privatecoffee_balance The balance of the private.coffee account\n"
)
response += "# TYPE privatecoffee_balance gauge\n"
for currency, balance in balances.items():
response += f'privatecoffee_balance{{currency="{currency}"}} {balance}\n'
metrics_path = output_dir / "metrics.txt"
with open(metrics_path, "w", encoding="utf-8") as f:
f.write(response)
logging.info("Metrics generated successfully.")
def autoselect_theme():
# Load schedule from file
json_content = (
pathlib.Path(__file__).parent / "data" / "theme_schedule.jsonc"
).read_text()
# Remove comments
json_content = "\n".join(
line.split("//", 1)[0] for line in json_content.split("\n")
)
schedule = json.loads(json_content)
# Find the current theme
current_time = datetime.datetime.now().timestamp()
for theme in schedule:
start_time = datetime.datetime.strptime(theme["start"], "%Y-%m-%d").replace(
hour=0, minute=0, second=0
)
# Special case for recurring themes - if the start time is *far* in the past, assume it's recurring
if start_time.year < 2000:
start_time = start_time.replace(year=datetime.datetime.now().year)
end_time = datetime.datetime.strptime(theme["end"], "%Y-%m-%d").replace(
hour=23, minute=59, second=59
)
if end_time.year < 2000:
end_time = end_time.replace(year=datetime.datetime.now().year)
# Special case for themes that span the new year
if start_time > end_time:
end_time = end_time.replace(year=end_time.year + 1)
if start_time.timestamp() <= current_time <= end_time.timestamp():
logging.info(f"Selected theme: {theme['name']}")
return theme["name"]
logging.info("No theme selected or scheduled, defaulting to plain.")
return "plain"
def generate_static_site(
development_mode: bool = False,
theme: Optional[str] = None,
domains: Optional[str] = None,
):
if not theme:
theme = autoselect_theme()
# Common context
template_kwargs = {
"timestamp": int(datetime.datetime.now().timestamp()),
"theme": theme,
}
if development_mode:
template_kwargs.update(
{
"warning": env.get_template("prod-warning.html").render(),
}
)
data = {}
# Load services data
data["services"] = json.loads(
(pathlib.Path(__file__).parent / "data" / "services.json").read_text()
)
# Load finances data
data["finances"] = json.loads(
(pathlib.Path(__file__).parent / "data" / "finances.json").read_text()
)
# Load bridges data
data["bridges"] = json.loads(
(pathlib.Path(__file__).parent / "data" / "bridges.json").read_text()
)
# Generate static pages
generate_static_pages(development_mode, data, template_kwargs)
# Generate blog section
generate_blog_html(template_kwargs)
generate_blog_rss(development_mode)
# Generate metrics
generate_metrics(data)
# Copy static assets
for folder in ["assets", "data"]:
src = pathlib.Path(folder)
dst = output_dir / folder
if dst.exists():
shutil.rmtree(dst)
shutil.copytree(src, dst)
# Create .domains for Forgejo Pages
domains_dest_path = output_dir / ".domains"
if domains_dest_path.exists():
os.remove(domains_dest_path)
if domains:
for domain in domains.split(","):
domain = domain.strip()
if domain:
with open(domains_dest_path, "a", encoding="utf-8") as f:
f.write(f"{domain}\n")
else:
# Default to domains from data/domains.txt
domains_path = pathlib.Path("data/domains.txt")
if domains_path.exists():
with open(domains_dest_path, "w", encoding="utf-8") as f:
f.write(domains_path.read_text())
# Copy the .well-known directory
well_known_src = pathlib.Path("assets") / ".well-known"
well_known_dst = output_dir / ".well-known"
if well_known_src.exists():
if well_known_dst.exists():
shutil.rmtree(well_known_dst)
shutil.copytree(well_known_src, well_known_dst)
# Create _redirects file for Forgejo Pages
redirects_dst = output_dir / "_redirects"
redirects_src = pathlib.Path("data") / "redirects.txt"
if redirects_src.exists():
if redirects_dst.exists():
os.remove(redirects_dst)
with open(redirects_dst, "w", encoding="utf-8") as f:
f.write(redirects_src.read_text())
logging.info("Static site generated successfully.")
if __name__ == "__main__":
parser = ArgumentParser(description="Generate the private.coffee static site.")
parser.add_argument("--dev", action="store_true", help="Enable development mode")
parser.add_argument(
"--serve", action="store_true", help="Serve the site after building"
)
parser.add_argument(
"--port", type=int, default=8000, help="Port to serve the site on"
)
parser.add_argument("--theme", type=str, help="Theme to use for the site")
parser.add_argument(
"--domains",
type=str,
help="Domains to use for Forgejo Pages (default: domains from data/domains.txt)",
)
parser.add_argument("--debug", action="store_true", help="Enable debug output")
args = parser.parse_args()
if os.environ.get("PRIVATECOFFEE_DEV"):
args.dev = True
if os.environ.get("PRIVATECOFFEE_THEME"):
args.theme = os.environ["PRIVATECOFFEE_THEME"]
if os.environ.get("PRIVATECOFFEE_PORT"):
args.serve = True
args.port = int(os.environ["PRIVATECOFFEE_PORT"])
if os.environ.get("PRIVATECOFFEE_DOMAINS"):
args.domains = os.environ["PRIVATECOFFEE_DOMAINS"]
if os.environ.get("PRIVATECOFFEE_DEBUG"):
logging.getLogger().setLevel(logging.DEBUG)
generate_static_site(
development_mode=args.dev, theme=args.theme, domains=args.domains
)
if args.serve:
server = TCPServer(("", args.port), StaticPageHandler)
logging.info(f"Serving on http://localhost:{args.port}")
thread = Thread(target=server.serve_forever)
thread.start()
thread.join()

318
membership-rallly.html Normal file
View file

@ -0,0 +1,318 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="assets/img/logo-inv_grad.png" />
<title>
Membership / Donations
- Private.coffee</title>
<link rel="stylesheet"
href="assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/membership-rallly.html"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<div class="text-center mb-5">
<h1 class="special-header fancy-text-primary">Membership/Donations</h1>
<p class="lead">
Private.coffee is a non-profit organization dedicated to supporting
privacy and digital sovereignty. We fund our activities and running
infrastructure costs through membership fees. Donations allow us to expand
our services and reach more people.
</p>
</div>
<div class="alert alert-info">
<p>
<strong>Welcome to Private.coffee!</strong> Rallly Pro is free for all logged-in users. Upon first login, it may take up to five minutes for your account to be upgraded. If you have any issues, please contact us at <a href="mailto:support@private.coffee">support@private.coffee</a>
</p>
<p>
If you find our services useful, please consider supporting us through a donation or becoming a supporting member. This will help us keep our free services running and improve our offerings. See below for more information.
</p>
</div>
<div class="row">
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Membership</h5>
<p class="card-text">
Membership fees help cover the costs of our day-to-day activities,
server infrastructure, domain names, and other running operating
expenses. This allows us to provide services to our members and the
public.
</p>
<p class="card-text">Membership starts at € 5 / month!</p>
<a href="https://pcof.fi/join" class="btn btn-primary">Join us now!</a>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Bank Donations</h5>
<p class="card-text">
Even if you're not a member, you can still support us by making a
direct donation to our bank account. Your donation will be used to
fund our activities and expand our services.
</p>
<p class="card-text">
<b>Account holder:</b> Private.coffee
</p>
<p class="card-text">
<b>IBAN:</b> AT35 2081 5000 4554 0812
</p>
<p class="card-text">
<b>BIC:</b> STSPAT2GXXX
</p>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Credit card, PayPal</h5>
<p class="card-text">
If you prefer to use a credit card, PayPal, or other payment methods,
you can use one of the links below. At Stripe, you can use different
payment methods depending on your location, including credit cards,
Apple Pay, Google Pay, and more. At PayPal, you can use your PayPal
account or a credit card. Unfortunately, those options are not the
most privacy-friendly, but since they are convenient for many people,
we offer them as an option. You can also use both options on Ko-fi,
which also allows you to set up a recurring donation.
</p>
<a href="https://donate.stripe.com/3cs7tfdmp2wq7II9AA" class="btn btn-primary">Donate via Stripe</a>
<a href="https://paypal.me/privatecoffee" class="btn btn-primary">Donate via PayPal</a>
<a href="https://ko-fi.com/privatecoffee" class="btn btn-primary">Donate via Ko-fi</a>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Crypto Donations</h5>
<p class="card-text">
While our expenses are generally in fiat currency, we accept
donations in cryptocurrencies, too.
</p>
<p class="card-text">
<b>Bitcoin (BTC):</b>
<code>bc1qnu7r5sed4afacfpgx5za8hsyhaj4rs45dpm26k</code>
</p>
<p class="card-text">
<b>Monero (XMR):</b>
<code>487Ny4iBk2pKGJwjyYrumFD8xFmrS6jCSXNA8e5EvVJ49GyS54CRDVz514MBnXgNT1EioKYiagHs33sLzUAFj8i3Pwg3AMS</code>
</p>
<p class="card-text">
<b>Ethereum (ETH):</b> <code>Coming soon&trade;</code>
</p>
<p class="card-text">
If your client supports OpenAlias, you can just send your donation
to <code>private.coffee</code>.
</p>
</div>
</div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for May 2025</h5>
<p class="card-text">
We believe in transparency and accountability. Below is a summary of our
income and expenses for the last month, so you can see how your
donations are being used.
</p>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €135.07</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €453.46</td><td></td><td></td></tr><tr><td>Donations</td><td>+ €112.00</td><td></td><td></td></tr><tr><td>Reimbursements*</td><td>+ €160.00</td><td></td><td></td></tr><tr><td>Bank Fees</td><td>- €4.08</td><td></td><td></td></tr><tr><td>Server Rent</td><td>- €237.24</td><td></td><td></td></tr><tr><td>Domains</td><td>- €9.00</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €725.46</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €250.32</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €610.21</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
<p><b>Notes:</b></p><ul><li>Reimbursements: Reimbursements for hoodies</li></ul></div>
<p class="card-text">
Want to know how we got here? Check out all of our
<a href="/transparency.html">transparency reports</a> for more
information.
</p>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5>Central Register of Associations (ZVR) Number: 1758485319</h5>
<p>
Our statutes can be found in our Git
<a href="https://git.private.coffee/PrivateCoffee/statuten">in German (legally binding)</a>
and
<a href="https://git.private.coffee/PrivateCoffee/Statuten/src/branch/english">in English</a>.
</p>
<p class="contact-info" id="contact-info">
Interested in joining the association? Reach out via
<a href="mailto:support@private.coffee">email</a> or
<a href="https://matrix.pcof.fi/#/#private.coffee:private.coffee">Matrix</a>
for more information.
</p>
</div>
</div>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="legal.html">Legal Notice</a>
</li>
<li>
<a href="privacy.html">Privacy Notice</a>
</li>
<li>
<a href="terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

310
membership.html Normal file
View file

@ -0,0 +1,310 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="assets/img/logo-inv_grad.png" />
<title>
Membership / Donations
- Private.coffee</title>
<link rel="stylesheet"
href="assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/membership.html"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<div class="text-center mb-5">
<h1 class="special-header fancy-text-primary">Membership/Donations</h1>
<p class="lead">
Private.coffee is a non-profit organization dedicated to supporting
privacy and digital sovereignty. We fund our activities and running
infrastructure costs through membership fees. Donations allow us to expand
our services and reach more people.
</p>
</div>
<div class="row">
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Membership</h5>
<p class="card-text">
Membership fees help cover the costs of our day-to-day activities,
server infrastructure, domain names, and other running operating
expenses. This allows us to provide services to our members and the
public.
</p>
<p class="card-text">Membership starts at € 5 / month!</p>
<a href="https://pcof.fi/join" class="btn btn-primary">Join us now!</a>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Bank Donations</h5>
<p class="card-text">
Even if you're not a member, you can still support us by making a
direct donation to our bank account. Your donation will be used to
fund our activities and expand our services.
</p>
<p class="card-text">
<b>Account holder:</b> Private.coffee
</p>
<p class="card-text">
<b>IBAN:</b> AT35 2081 5000 4554 0812
</p>
<p class="card-text">
<b>BIC:</b> STSPAT2GXXX
</p>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Credit card, PayPal</h5>
<p class="card-text">
If you prefer to use a credit card, PayPal, or other payment methods,
you can use one of the links below. At Stripe, you can use different
payment methods depending on your location, including credit cards,
Apple Pay, Google Pay, and more. At PayPal, you can use your PayPal
account or a credit card. Unfortunately, those options are not the
most privacy-friendly, but since they are convenient for many people,
we offer them as an option. You can also use both options on Ko-fi,
which also allows you to set up a recurring donation.
</p>
<a href="https://donate.stripe.com/3cs7tfdmp2wq7II9AA" class="btn btn-primary">Donate via Stripe</a>
<a href="https://paypal.me/privatecoffee" class="btn btn-primary">Donate via PayPal</a>
<a href="https://ko-fi.com/privatecoffee" class="btn btn-primary">Donate via Ko-fi</a>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Crypto Donations</h5>
<p class="card-text">
While our expenses are generally in fiat currency, we accept
donations in cryptocurrencies, too.
</p>
<p class="card-text">
<b>Bitcoin (BTC):</b>
<code>bc1qnu7r5sed4afacfpgx5za8hsyhaj4rs45dpm26k</code>
</p>
<p class="card-text">
<b>Monero (XMR):</b>
<code>487Ny4iBk2pKGJwjyYrumFD8xFmrS6jCSXNA8e5EvVJ49GyS54CRDVz514MBnXgNT1EioKYiagHs33sLzUAFj8i3Pwg3AMS</code>
</p>
<p class="card-text">
<b>Ethereum (ETH):</b> <code>Coming soon&trade;</code>
</p>
<p class="card-text">
If your client supports OpenAlias, you can just send your donation
to <code>private.coffee</code>.
</p>
</div>
</div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for May 2025</h5>
<p class="card-text">
We believe in transparency and accountability. Below is a summary of our
income and expenses for the last month, so you can see how your
donations are being used.
</p>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €135.07</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €453.46</td><td></td><td></td></tr><tr><td>Donations</td><td>+ €112.00</td><td></td><td></td></tr><tr><td>Reimbursements*</td><td>+ €160.00</td><td></td><td></td></tr><tr><td>Bank Fees</td><td>- €4.08</td><td></td><td></td></tr><tr><td>Server Rent</td><td>- €237.24</td><td></td><td></td></tr><tr><td>Domains</td><td>- €9.00</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €725.46</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €250.32</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €610.21</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
<p><b>Notes:</b></p><ul><li>Reimbursements: Reimbursements for hoodies</li></ul></div>
<p class="card-text">
Want to know how we got here? Check out all of our
<a href="/transparency.html">transparency reports</a> for more
information.
</p>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5>Central Register of Associations (ZVR) Number: 1758485319</h5>
<p>
Our statutes can be found in our Git
<a href="https://git.private.coffee/PrivateCoffee/statuten">in German (legally binding)</a>
and
<a href="https://git.private.coffee/PrivateCoffee/Statuten/src/branch/english">in English</a>.
</p>
<p class="contact-info" id="contact-info">
Interested in joining the association? Reach out via
<a href="mailto:support@private.coffee">email</a> or
<a href="https://matrix.pcof.fi/#/#private.coffee:private.coffee">Matrix</a>
for more information.
</p>
</div>
</div>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="legal.html">Legal Notice</a>
</li>
<li>
<a href="privacy.html">Privacy Notice</a>
</li>
<li>
<a href="terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

5
metrics.txt Normal file
View file

@ -0,0 +1,5 @@
# HELP privatecoffee_balance The balance of the private.coffee account
# TYPE privatecoffee_balance gauge
privatecoffee_balance{currency="EUR"} 610.21
privatecoffee_balance{currency="BTC"} 0.000434
privatecoffee_balance{currency="XMR"} 1.447661805527

350
privacy.html Normal file
View file

@ -0,0 +1,350 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="assets/img/logo-inv_grad.png" />
<title>
Privacy Policy
- Private.coffee</title>
<link rel="stylesheet"
href="assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/privacy.html"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container">
<div class="text-center mb-5">
<h1 class="special-header fancy-text-primary">Privacy Policy</h1>
<p class="lead">
This is the privacy policy for the website private.coffee. It describes
how we collect and use your personal data.
</p>
</div>
<div class="section">
<p>
This privacy policy is effective as of 2024-04-26. It may be updated from
time to time, so please check back regularly.
</p>
<p>
If you have any questions about this privacy policy, please contact us at
<a href="mailto:support@private.coffee">support@private.coffee</a>.
</p>
</div>
<div class="section">
<h2>Who are we?</h2>
<p>The data controller for private.coffee is:</p>
<address>
Private.coffee &dash; Verein zur Förderung von Privatsphäre und digitaler
Souver&auml;nit&auml;t
<br />
c/o Klaus-Uwe Mitterer
<br />
Gartengasse 22/7/3
<br />
8010 Graz
<br />
Austria
<br />
</address>
<p>Central Register of Associations (ZVR) Number: 1758485319</p>
<p>
Email:
<a href="mailto:support@private.coffee">support@private.coffee</a>
</p>
</div>
<div class="section">
<h2>What data do we collect?</h2>
<p>We collect the following data from you:</p>
<ul>
<li>
Your IP address, which is automatically collected by our web server for
some of our services.
</li>
<li>
Any data you provide to us, such as your email address, when you create
an account on one of our services.
</li>
<li>
Usage data that is collected automatically by our services, such as the
time you last logged in, or the number of times you have logged in, as
well as any content you create using our services.
</li>
<li>
Any information, including personal data and payment information, that
you provide to us when you make a donation or join our association.
</li>
</ul>
</div>
<div class="section">
<h2>How do we use your data?</h2>
<p>
We use your data to provide you with the services you requested. This
includes:
</p>
<ul>
<li>Communication between our web server and your browser</li>
<li>Storing your preferences or your created content</li>
<li>Detection of abuse or resource exhaustion on our servers</li>
<li>Providing support to you</li>
<li>Processing donations and memberships</li>
</ul>
<p>All of those are what is called "legitimate interests" in legal speak.</p>
<p>
We do not use your data for any other purposes, including marketing,
advertising, or tracking, we do not share your data with third parties
(unless required by law), we do not use your data to create profiles or
make automated decisions, and we do not cross-reference your data between
different services or any other sources.
</p>
</div>
<div class="section">
<h2>Where do we store your data?</h2>
<p>
We store your data on our web servers, which are located in Austria. We
also use servers in Germany, but those are not public-facing and do not
store or process any personal data.
</p>
</div>
<div class="section">
<h2>How long do we store your data?</h2>
<ul>
<li>
IP addresses collected by our web server are stored for up to 48 hours.
After that, the log files that contain them are deleted automatically.
</li>
<li>
Data associated with an account you have on one of our services is
stored for as long as you have an account on that service. If you delete
your account, your data will be deleted automatically. The service will
have a dedicated privacy policy, please consult that if you have any
specific questions.
</li>
<li>
If you send a support request to us, we will store your email address
and any other data you provide to us for up to 30 days in our support
system. After that, the data will be deleted automatically.
</li>
<li>
Data associated with a donation is stored for as long as required by
law, which is currently 7 years in Austria. After that, the data will be
deleted.
</li>
<li>
Data associated with a membership is stored for as long as you are a
member of our association. If you leave the association, your data will
be deleted automatically. This does not apply to data that is required
by law to be stored for a longer period of time, such as financial
records, which are stored for 7 years regardless of your membership
status.
</li>
</ul>
</div>
<div class="section">
<h2>What are your data protection rights?</h2>
<p>You have the following data protection rights:</p>
<ul>
<li>You have the right to request access to your personal data.</li>
<li>You have the right to request correction of your personal data.</li>
<li>You have the right to request erasure of your personal data.</li>
<li>
You have the right to request restriction of processing of your personal
data.
</li>
<li>You have the right to object to processing of your personal data.</li>
<li>You have the right to request transfer of your personal data.</li>
</ul>
<p>If you make a request, we have one month to respond to you.</p>
<p>
If you would like to exercise any of these rights, please contact us at
<a href="mailto:support@private.coffee">support@private.coffee</a>.
</p>
<p>
Your privacy is important to us - after all, that's why we're all here -
and we will do our best to respond to your request as soon as possible.
Please note that we may need to verify your identity before we can respond
to your request - we will not share your data with anyone else.
</p>
<p>
If you are not satisfied with our response, or believe that we are
processing your data in a way that is not compliant with the law, you have
the right to lodge a complaint with the supervisory authority in your
country. In Austria, this is the Austrian Data Protection Authority (<a href="https://www.dsb.gv.at/">https://www.dsb.gv.at/</a>). However, we like to think of ourselves as nice people and will try to
help you out directly, and are always open to suggestions for improvement,
so please do get in touch with us if you have any questions or concerns.
</p>
</div>
<div class="section">
<h2>What are cookies?</h2>
<p>
Cookies are small text files that are placed on your computer or mobile
device when you visit a website. They are widely used to make websites
work, or work more efficiently, as well as to provide information to the
owners of the site. Cookies are stored on your device, and can be accessed
by the website that created them. They are not harmful to your device, and
do not directly contain any personal data, but are used by our services to
identify you between multiple visits.
</p>
<p>
Cookies are used on some of our services to provide you with a better
experience. For example, we use cookies to remember your preferences and
settings - for example, to allow you to login to our services - and to
provide you with a better experience when browsing our services. We do not
use cookies to track your activity, either on our services or on other
websites. In legal/technical terms, we exclusively use "strictly
necessary" first-party cookies, which is also why you don't see any cookie
banners on our website.
</p>
</div>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="legal.html">Legal Notice</a>
</li>
<li>
<a href="privacy.html">Privacy Notice</a>
</li>
<li>
<a href="terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

View file

@ -1,6 +0,0 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
]
}

View file

@ -1,4 +0,0 @@
jinja2
markdown2[all]
pyyaml
pillow

3080
services.html Normal file

File diff suppressed because it is too large Load diff

448
simple.html Normal file
View file

@ -0,0 +1,448 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Private.coffee</title>
</head>
<body>
<div style="font-family: Arial, sans-serif;
background-color: #f2f2f2;
color: #333;
line-height: 1.6;
padding: 20px;
max-width: 600px;
margin: auto">
<h2 style="color: #333;">Welcome to Private.coffee</h2>
<p>Thanks for using our Element instance! Now, why don't you join our rooms?</p>
<ul style="list-style: none; padding: 0;">
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://element.private.coffee/#/#coffeespace:private.coffee">#coffeespace:private.coffee</a> - The Private.coffee Space, containing all rooms
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://element.private.coffee/#/#private.coffee:private.coffee">#private.coffee:private.coffee</a> - General support for our services
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://element.private.coffee/#/#matrix:private.coffee">#matrix:private.coffee</a> - Support for our Matrix server
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://element.private.coffee/#/#coffeebreak:private.coffee">#coffeebreak:private.coffee</a> - ☕ Coffee Break ☕ - our off-topic room
</li>
</ul>
<hr>
<p>Private.coffee operates a collection of services that respect your privacy, here are some others:</p>
<ul style="list-style: none; padding: 0;">
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://cryptpad.private.coffee">CryptPad</a> - Private, encrypted, real-time collaborative editor.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://coffeegpt.private.coffee">CoffeeGPT</a> - CoffeeGPT is a text and image generation service, only available for members of Private.coffee.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://transfer.coffee">Transfer.coffee</a> - Transfer files securely using peer-to-peer connections.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://myip.coffee">MyIP.Coffee</a> - Check your IP address.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://overleaf.private.coffee">Overleaf</a> - Overleaf is an online LaTeX editor for writing and sharing documents.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://cuddly.space">Mastodon</a> - Mastodon is a decentralized social network.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://cuddly.tube">PeerTube</a> - PeerTube is a decentralized video hosting platform.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://cuddly.pics">Pixelfed</a> - Pixelfed is a decentralized photo sharing platform.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://git.private.coffee">Forgejo</a> - Forgejo is our in-house Git forge.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://bbb.private.coffee">BigBlueButton</a> - BigBlueButton is an open-source video conferencing system.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://jitsi.private.coffee">Jitsi</a> - Jitsi is an open-source video conferencing system.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://ducks.now">Ducks.now</a> -
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://hedgedoc.private.coffee">HedgeDoc</a> - HedgeDoc is an open-source collaborative markdown editor.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://facilmap.private.coffee">FacilMap</a> - FacilMap is an open-source map editor.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://ots.private.coffee">OTS - One Time Secrets</a> - OTS is a service for sharing secrets securely.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://cuddly.pw">AliasVault</a> - AliasVault is a password manager with built-in email aliasing.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://qrmaker.private.coffee">QRMaker</a> - QRMaker is a service for generating QR codes.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://freshrss.private.coffee">FreshRSS</a> - FreshRSS is a RSS feed reader.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://redlib.private.coffee">redlib</a> - redlib is a privacy-friendly alternative front-end to Reddit.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://cyberchef.private.coffee">CyberChef</a> - CyberChef is a web app for encryption, encoding, compression, and data analysis.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://traveling.coffee">Travelynx</a> - Travelynx is a service for logging your rail journeys. (German)
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://alltube.private.coffee">AllTube</a> - Download videos from YouTube, Vimeo, and more.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://structables.private.coffee">Structables</a> - Browse Instructables without being tracked.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://quetre.private.coffee">Quetre</a> - Quetre is a privacy-friendly alternative front-end to Quora.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://wikimore.private.coffee">Wikimore</a> - Wikimore is an alternative front-end to Wikimedia wikis.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://priviblur.private.coffee">Priviblur</a> - Priviblur is a privacy-friendly alternative front-end to Tumblr.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://biblioreads.private.coffee">BiblioReads</a> - BiblioReads is a privacy-friendly alternative front-end to Goodreads.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://small.private.coffee">Small</a> - Small is a privacy-friendly alternative front-end to Medium.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://scribe.private.coffee">Scribe</a> - Scribe is a privacy-friendly alternative front-end to Medium.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://tent.private.coffee">Tent</a> - Tent is a privacy-friendly alternative front-end to Bandcamp.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://soundcloak.private.coffee">Soundcloak</a> - Soundcloak is a privacy-friendly alternative front-end to Soundcloud.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://wishthis.private.coffee">wishthis</a> - wishthis is a service for creating and sharing wishlists.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://breezewiki.private.coffee">BreezeWiki</a> - BreezeWiki is a privacy-friendly alternative front-end to Fandom.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://ducksforducks.private.coffee">Ducks for Ducks</a> - Ducks for Ducks is a privacy-friendly alternative front-end to Geeks for Geeks.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://penpot.private.coffee">Penpot</a> - Penpot is an open-source design and prototyping platform.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://pcof.fi">YOURLS</a> - URL shortener for creating handy links.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://rallly.private.coffee">Rallly</a> - Rallly is a free collaborative scheduling service for voting and polls.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://librey.private.coffee">LibreY</a> - Privacy-friendly metasearch engine.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://gothub.private.coffee">GotHub</a> - Alternative GitHub interface that respects privacy.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://binternet.private.coffee">Binternet</a> - Binternet is a privacy-friendly alternative front-end to Pinterest.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://monerooo.private.coffee">Moner.ooo</a> - Moner.ooo is a service for checking Monero/fiat exchange rates.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://httpbin.private.coffee">httpbin</a> - httpbin is a service for testing HTTP requests.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://overpass.private.coffee">Overpass</a> - Overpass is an API for OpenStreetMap.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://googledonts.private.coffee">GoogleDonts</a> - GoogleDonts is a privacy-friendly proxy to Google Fonts.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://nocdnbs.private.coffee">nocdnbs</a> - nocdnbs is a privacy-friendly proxy to cdnjs.cloudflare.com
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://nobsdelivr.private.coffee">nobsdelivr</a> - nobsdelivr is a privacy-friendly proxy to cdn.jsdelivr.net
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://typenot.private.coffee">TypeNot</a> - TypeNot is a privacy-friendly proxy to Typekit.
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://mjnml.private.coffee">mjnml</a> - mjnml is a privacy-friendly MJML renderer.
</li>
</ul>
<p>
For hosting inquiries for privacy-related, social, or wholesome projects, <a href="mailto:support@private.coffee"
style="color: #1a5dab;
text-decoration: none">get in touch</a>!
</p>
</div>
</body>
</html>

View file

@ -1,58 +0,0 @@
{% extends "base.html" %}
{% block title %}
Blog
{% endblock title %}
{% block content %}
<div class="container my-5">
<h1>Blog{% if tag %} index for tag {{ tag }}{% endif %}</h1>
<ul class="list-unstyled">
{% for post in posts %}
<li class="d-flex align-items-center mb-4 p-3 border-bottom">
{% if post.thumbnail %}
<img src="{{ relative_path }}blog/{{ post.slug }}/{{ post.thumbnail }}"
alt="{{ post.title }} thumbnail"
class="me-3"
style="width: 150px;
height: 150px">
{% endif %}
<div>
<h2>
<a href="{{ relative_path }}blog/{{ post.slug }}/index.html">{{ post.title }}</a>
</h2>
<small class="text-muted">by {{ post.author }}, published {{ post.date }}</small>
{% if post.tags %}
<br>
<small class="text-muted">tags:
{% for tag in post.tags %}<a href="{{ relative_path }}blog/tag/{{ tag }}">{{ tag }}</a>{% endfor %}
</small>
{% endif %}
<p>
{{ post.excerpt }} <a href="{{ relative_path }}blog/{{ post.slug }}/index.html">[read more]</a>
</p>
</div>
</li>
{% endfor %}
</ul>
<nav class="mt-4">
<ul class="pagination justify-content-center">
{% if current_page > 1 %}
<li class="page-item">
<a class="page-link"
href="{{ relative_path }}blog/page/{{ current_page - 1 }}/">Previous</a>
</li>
{% endif %}
{% for i in range(1, total_pages + 1) %}
<li class="page-item {% if i == current_page %}active{% endif %}">
<a class="page-link" href="{{ relative_path }}blog/page/{{ i }}/">{{ i }}</a>
</li>
{% endfor %}
{% if current_page < total_pages %}
<li class="page-item">
<a class="page-link"
href="{{ relative_path }}blog/page/{{ current_page + 1 }}/">Next</a>
</li>
{% endif %}
</ul>
</nav>
</div>
{% endblock content %}

View file

@ -1,17 +0,0 @@
{% extends "base.html" %}
{% block title %}
{{ title }}
{% endblock title %}
{% block content %}
<div class="container my-5">
<h1>{{ title }}</h1>
<p>
<small>by <a href="{{ author_url }}">{{ author }}</a>, published {{ date }}</small>
</p>
<div>{{ content|safe }}</div>
<hr>
<p>
<small>This post by <a href="{{ author_url }}">{{ author }}</a> is licensed under the <a href="{{ license_url }}">{{ license }}</a>.</small>
</p>
</div>
{% endblock content %}

View file

@ -1,24 +0,0 @@
<?xml version="1.0"?>
<rss version="2.0"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Private.coffee Blog</title>
<link>https://{% if development_mode %}dev.{% endif %}private.coffee/blog</link>
<atom:link href="https://{% if development_mode %}dev.{% endif %}private.coffee/blog/rss.xml" rel="self" type="application/rss+xml" />
<description>Your dose of private caffeine!</description>
<pubDate>{{ current_time }}</pubDate>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
{% for post in posts %}
<item>
<title>{{ post.title }}</title>
<description>{{ post.description|safe }}</description>
<pubDate>{{ post.date }}</pubDate>
<guid>{{ post.link }}</guid>
<link>{{ post.link }}</link>
<dc:creator><![CDATA[{{ post.author }}]]></dc:creator>
</item>
{% endfor %}
</channel>
</rss>

View file

@ -1,29 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bridges and bots</title>
</head>
<body>
<div style="font-family: Arial, sans-serif;
background-color: #f2f2f2;
color: #333;
line-height: 1.6;
padding: 20px;
max-width: 600px;
margin: auto">
<h2 style="color: #333;">Bridges and bots</h2>
<p>These are the bridges and bots available to Private.coffee Matrix users:</p>
<ul style="list-style: none; padding: 0;">
{% for bridge in bridges.bridges %}
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://matrix.pcof.fi/#/{{ bridge.mxid }}">{{ bridge.name }}</a> - {{ bridge.mxid }}
</li>
{% endfor %}
</ul>
</div>
</body>
</html>

View file

@ -1,171 +0,0 @@
{% extends "base.html" %}
{% block title %}
Home
{% endblock title %}
{% block content
%}
<header class="bg-primary-gradient">
<div class="container pt-4 pt-xl-5 pb-4 pb-xl-5">
<div class="row gy-5 pt-5">
<div class="col-md-8 col-xl-6 text-center text-md-start mx-auto">
<div class="text-center">
<h2>Open-source software is best served hot</h2>
</div>
<p class="text-center special-header fancy-text-primary mb-0"
style="font-weight: 500">Private.coffee</p>
</div>
<div class="col-12 col-lg-10 mx-auto justify-content-center d-flex">
<div id="logoContainer"></div>
</div>
</div>
</div>
</header>
<section class="bg-light">
<div class="container py-5">
<div class="row">
<div class="col-md-8 col-xl-6 text-center mx-auto">
<p class="fw-bold mb-2 text-primary">Featured Services</p>
<h3 class="fw-bold">Privacy-respecting alternatives to common services</h3>
<p class="text-muted">
These are just a few of our services. <a href="/services.html">View all services →</a>
</p>
</div>
</div>
<div class="row row-cols-1 row-cols-md-3 g-4 mt-2">
{% for service in featured_services %}
<div class="col">
<div class="card h-100 shadow-sm">
<div class="card-body">
<div class="d-flex align-items-center mb-3">
{% if service.icon %}
<div class="bs-icon-md bs-icon-circle bs-icon-primary me-3">{{ service.icon | icon | safe }}</div>
{% endif %}
<h5 class="card-title mb-0">{{ service.name }}</h5>
</div>
<p class="card-text">{{ service.short_description }}</p>
</div>
<div class="card-footer bg-transparent border-top-0">
<a href="{{ service.links[0].url }}" class="btn btn-primary btn-sm">Try it now</a>
{% if service.homemade %}
<a href="{{ service.homemade }}"
class="btn btn-outline-secondary btn-sm">
<small>Source Code</small>
</a>
{% endif %}
</div>
</div>
</div>
{% endfor %}
</div>
<div class="text-center mt-4">
<a href="/services.html" class="btn btn-outline-primary">View All Services</a>
</div>
</div>
</section>
<section class="bg-white">
<div class="container bg-white py-5">
<div class="row">
<div class="col-md-8 col-xl-6 text-center mx-auto">
<p class="fw-bold mb-2 text-primary">Our Mission</p>
<h3 class="fw-bold">
Private.coffee is a non-profit association dedicated to supporting privacy and digital sovereignty.
</h3>
<p class="text-muted">
We provide privacy-respecting alternatives to common services, educate users about digital privacy,
and advocate for a more private and secure internet.
</p>
<p class="text-muted">
We are always looking for volunteers and contributors, and you can also support us by donating or becoming
a member of our association. Your support enables us to provide free and open-source software solutions
that respect your privacy and digital rights.
</p>
<a href="/membership.html" class="btn btn-primary btn-sm">Join us</a>
</div>
</div>
</div>
</section>
<section class="bg-primary-gradient">
<div class="container py-5">
<div class="row align-items-center">
<div class="col">
<p class="text-end special-header fancy-text-primary mb-0">Privacy</p>
</div>
<div class="col">
<p class="text-start mb-1" style="font-size: 1.6rem">
from the <strong>community</strong>
</p>
<p class="text-start mb-0" style="font-size: 1.6rem">
for the <strong>community</strong>
</p>
</div>
</div>
<div class="mx-auto" style="max-width: 900px">
<div class="row row-cols-1 row-cols-md-2 d-flex justify-content-center">
<div class="col mb-4">
<div class="card bg-primary-subtle">
<div class="card-body text-center px-4 py-5 px-md-5">
<p class="fw-bold text-primary card-text mb-2">Join or donate</p>
<h5 class="fw-bold card-title mb-3">Be a part of the open source community!</h5>
<a class="btn btn-primary btn-sm" href="/membership.html">Learn more</a>
</div>
</div>
</div>
<div class="col mb-4">
<div class="card bg-secondary-subtle">
<div class="card-body text-center px-4 py-5 px-md-5">
<p class="fw-bold text-secondary card-text mb-2">Private Hosting</p>
<h5 class="fw-bold card-title mb-3">Interested in Hosting Services?</h5>
<a class="btn btn-secondary btn-sm" href="mailto:support@private.coffee">Get in touch</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="py-5">
<div class="container">
<div class="row mb-5">
<div class="col-md-8 col-xl-6 text-center mx-auto">
<p class="fw-bold mb-2 text-primary">Contacts</p>
<h2 class="fw-bold">How you can reach us</h2>
</div>
</div>
<div class="row d-flex justify-content-center">
<div class="col-md-4 col-xl-4 d-flex justify-content-center justify-content-xl-start">
<div class="d-flex flex-wrap flex-md-column justify-content-md-start align-items-md-start h-100">
<div class="d-flex align-items-center p-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md">
{{ "envelope" | icon | safe }}
</div>
<div class="px-2">
<h6 class="fw-bold mb-0">Email</h6>
<p class="text-muted mb-0">
<a href="mailto:support@private.coffee">support@private.coffee</a>
<small><a href="{{ relative_path }}assets/support@private.coffee.asc">[PGP]</a></small>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="row d-flex justify-content-center">
<div class="col-md-4 col-xl-4 d-flex justify-content-center justify-content-xl-start">
<div class="d-flex flex-wrap flex-md-column justify-content-md-start align-items-md-start h-100">
<div class="d-flex align-items-center p-3">
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md">
{{ "matrix-logo" | icon | safe }}
</div>
<div class="px-2">
<h6 class="fw-bold mb-0">Matrix</h6>
<p class="text-muted mb-0">
<a href="https://matrix.pcof.fi/#/#private.coffee:private.coffee">#private.coffee:private.coffee</a>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
{% endblock content %}

View file

@ -1,47 +0,0 @@
{% extends "base.html" %}
{% block title %}Legal Notice{% endblock title %}
{% block content %}
<section>
<div class="container py-5">
<div class="row align-items-center">
<div class="col">
<p class="text-end special-header fancy-text-primary mb-0">Legal Notice</p>
</div>
<div class="col">
<p class="text-start mb-1" style="font-size: 1.6rem">
from the <strong>community</strong>
</p>
<p class="text-start mb-0" style="font-size: 1.6rem">
for the <strong>community</strong>
</p>
</div>
</div>
<div class="container">
<p>This is a legal notice for the website private.coffee</p>
<p>The website private.coffee is run by the following entity:</p>
<address>
Private.coffee &dash; Verein zur Förderung von Privatsphäre und
digitaler Souver&auml;nit&auml;t
<br />
c/o Klaus-Uwe Mitterer
<br />
Gartengasse 22/7/3
<br />
8010 Graz
<br />
Austria
<br />
</address>
<p>Central Register of Associations (ZVR) Number: 1758485319</p>
<p>
Email:
<a href="mailto:support@private.coffee">support@private.coffee</a>
(PGP key: <a href="{{ relative_path }}assets/support@private.coffee.asc">F262CF22D540CDBB90D7A82BA5F5E7AA321941FA</a>)
</p>
<p>
For security-related issues, please see <a href="https://security.private.coffee/">our security page</a>.
</p>
</div>
</div>
</section>
{% endblock content %}

View file

@ -1,11 +0,0 @@
{% extends "membership.html" %}
{% block serviceinfo %}
<div class="alert alert-info">
<p>
<strong>Welcome to Private.coffee!</strong> Rallly Pro is free for all logged-in users. Upon first login, it may take up to five minutes for your account to be upgraded. If you have any issues, please contact us at <a href="mailto:support@private.coffee">support@private.coffee</a>
</p>
<p>
If you find our services useful, please consider supporting us through a donation or becoming a supporting member. This will help us keep our free services running and improve our offerings. See below for more information.
</p>
</div>
{% endblock serviceinfo %}

View file

@ -1,136 +0,0 @@
{% extends "base.html" %}
{% block title %}
Membership / Donations
{% endblock title %}
{% block content %}
<div class="container my-5">
<div class="text-center mb-5">
<h1 class="special-header fancy-text-primary">Membership/Donations</h1>
<p class="lead">
Private.coffee is a non-profit organization dedicated to supporting
privacy and digital sovereignty. We fund our activities and running
infrastructure costs through membership fees. Donations allow us to expand
our services and reach more people.
</p>
</div>
{% block serviceinfo %}
{% endblock serviceinfo %}
<div class="row">
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Membership</h5>
<p class="card-text">
Membership fees help cover the costs of our day-to-day activities,
server infrastructure, domain names, and other running operating
expenses. This allows us to provide services to our members and the
public.
</p>
<p class="card-text">Membership starts at € 5 / month!</p>
<a href="https://pcof.fi/join" class="btn btn-primary">Join us now!</a>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Bank Donations</h5>
<p class="card-text">
Even if you're not a member, you can still support us by making a
direct donation to our bank account. Your donation will be used to
fund our activities and expand our services.
</p>
<p class="card-text">
<b>Account holder:</b> Private.coffee
</p>
<p class="card-text">
<b>IBAN:</b> AT35 2081 5000 4554 0812
</p>
<p class="card-text">
<b>BIC:</b> STSPAT2GXXX
</p>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Credit card, PayPal</h5>
<p class="card-text">
If you prefer to use a credit card, PayPal, or other payment methods,
you can use one of the links below. At Stripe, you can use different
payment methods depending on your location, including credit cards,
Apple Pay, Google Pay, and more. At PayPal, you can use your PayPal
account or a credit card. Unfortunately, those options are not the
most privacy-friendly, but since they are convenient for many people,
we offer them as an option. You can also use both options on Ko-fi,
which also allows you to set up a recurring donation.
</p>
<a href="https://donate.stripe.com/3cs7tfdmp2wq7II9AA" class="btn btn-primary">Donate via Stripe</a>
<a href="https://paypal.me/privatecoffee" class="btn btn-primary">Donate via PayPal</a>
<a href="https://ko-fi.com/privatecoffee" class="btn btn-primary">Donate via Ko-fi</a>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">Crypto Donations</h5>
<p class="card-text">
While our expenses are generally in fiat currency, we accept
donations in cryptocurrencies, too.
</p>
<p class="card-text">
<b>Bitcoin (BTC):</b>
<code>bc1qnu7r5sed4afacfpgx5za8hsyhaj4rs45dpm26k</code>
</p>
<p class="card-text">
<b>Monero (XMR):</b>
<code>487Ny4iBk2pKGJwjyYrumFD8xFmrS6jCSXNA8e5EvVJ49GyS54CRDVz514MBnXgNT1EioKYiagHs33sLzUAFj8i3Pwg3AMS</code>
</p>
<p class="card-text">
<b>Ethereum (ETH):</b> <code>Coming soon&trade;</code>
</p>
<p class="card-text">
If your client supports OpenAlias, you can just send your donation
to <code>private.coffee</code>.
</p>
</div>
</div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for {{ finances_period }}</h5>
<p class="card-text">
We believe in transparency and accountability. Below is a summary of our
income and expenses for the last month, so you can see how your
donations are being used.
</p>
<div class="table-responsive">{{ finances|safe }}</div>
<p class="card-text">
Want to know how we got here? Check out all of our
<a href="/transparency.html">transparency reports</a> for more
information.
</p>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5>Central Register of Associations (ZVR) Number: 1758485319</h5>
<p>
Our statutes can be found in our Git
<a href="https://git.private.coffee/PrivateCoffee/statuten">in German (legally binding)</a>
and
<a href="https://git.private.coffee/PrivateCoffee/Statuten/src/branch/english">in English</a>.
</p>
<p class="contact-info" id="contact-info">
Interested in joining the association? Reach out via
<a href="mailto:support@private.coffee">email</a> or
<a href="https://matrix.pcof.fi/#/#private.coffee:private.coffee">Matrix</a>
for more information.
</p>
</div>
</div>
</div>
{% endblock content %}

View file

@ -1,188 +0,0 @@
{% extends "base.html" %}
{% block title %}Privacy Policy{% endblock %}
{% block content %}
<div class="container">
<div class="text-center mb-5">
<h1 class="special-header fancy-text-primary">Privacy Policy</h1>
<p class="lead">
This is the privacy policy for the website private.coffee. It describes
how we collect and use your personal data.
</p>
</div>
<div class="section">
<p>
This privacy policy is effective as of 2024-04-26. It may be updated from
time to time, so please check back regularly.
</p>
<p>
If you have any questions about this privacy policy, please contact us at
<a href="mailto:support@private.coffee">support@private.coffee</a>.
</p>
</div>
<div class="section">
<h2>Who are we?</h2>
<p>The data controller for private.coffee is:</p>
<address>
Private.coffee &dash; Verein zur Förderung von Privatsphäre und digitaler
Souver&auml;nit&auml;t
<br />
c/o Klaus-Uwe Mitterer
<br />
Gartengasse 22/7/3
<br />
8010 Graz
<br />
Austria
<br />
</address>
<p>Central Register of Associations (ZVR) Number: 1758485319</p>
<p>
Email:
<a href="mailto:support@private.coffee">support@private.coffee</a>
</p>
</div>
<div class="section">
<h2>What data do we collect?</h2>
<p>We collect the following data from you:</p>
<ul>
<li>
Your IP address, which is automatically collected by our web server for
some of our services.
</li>
<li>
Any data you provide to us, such as your email address, when you create
an account on one of our services.
</li>
<li>
Usage data that is collected automatically by our services, such as the
time you last logged in, or the number of times you have logged in, as
well as any content you create using our services.
</li>
<li>
Any information, including personal data and payment information, that
you provide to us when you make a donation or join our association.
</li>
</ul>
</div>
<div class="section">
<h2>How do we use your data?</h2>
<p>
We use your data to provide you with the services you requested. This
includes:
</p>
<ul>
<li>Communication between our web server and your browser</li>
<li>Storing your preferences or your created content</li>
<li>Detection of abuse or resource exhaustion on our servers</li>
<li>Providing support to you</li>
<li>Processing donations and memberships</li>
</ul>
<p>All of those are what is called "legitimate interests" in legal speak.</p>
<p>
We do not use your data for any other purposes, including marketing,
advertising, or tracking, we do not share your data with third parties
(unless required by law), we do not use your data to create profiles or
make automated decisions, and we do not cross-reference your data between
different services or any other sources.
</p>
</div>
<div class="section">
<h2>Where do we store your data?</h2>
<p>
We store your data on our web servers, which are located in Austria. We
also use servers in Germany, but those are not public-facing and do not
store or process any personal data.
</p>
</div>
<div class="section">
<h2>How long do we store your data?</h2>
<ul>
<li>
IP addresses collected by our web server are stored for up to 48 hours.
After that, the log files that contain them are deleted automatically.
</li>
<li>
Data associated with an account you have on one of our services is
stored for as long as you have an account on that service. If you delete
your account, your data will be deleted automatically. The service will
have a dedicated privacy policy, please consult that if you have any
specific questions.
</li>
<li>
If you send a support request to us, we will store your email address
and any other data you provide to us for up to 30 days in our support
system. After that, the data will be deleted automatically.
</li>
<li>
Data associated with a donation is stored for as long as required by
law, which is currently 7 years in Austria. After that, the data will be
deleted.
</li>
<li>
Data associated with a membership is stored for as long as you are a
member of our association. If you leave the association, your data will
be deleted automatically. This does not apply to data that is required
by law to be stored for a longer period of time, such as financial
records, which are stored for 7 years regardless of your membership
status.
</li>
</ul>
</div>
<div class="section">
<h2>What are your data protection rights?</h2>
<p>You have the following data protection rights:</p>
<ul>
<li>You have the right to request access to your personal data.</li>
<li>You have the right to request correction of your personal data.</li>
<li>You have the right to request erasure of your personal data.</li>
<li>
You have the right to request restriction of processing of your personal
data.
</li>
<li>You have the right to object to processing of your personal data.</li>
<li>You have the right to request transfer of your personal data.</li>
</ul>
<p>If you make a request, we have one month to respond to you.</p>
<p>
If you would like to exercise any of these rights, please contact us at
<a href="mailto:support@private.coffee">support@private.coffee</a>.
</p>
<p>
Your privacy is important to us - after all, that's why we're all here -
and we will do our best to respond to your request as soon as possible.
Please note that we may need to verify your identity before we can respond
to your request - we will not share your data with anyone else.
</p>
<p>
If you are not satisfied with our response, or believe that we are
processing your data in a way that is not compliant with the law, you have
the right to lodge a complaint with the supervisory authority in your
country. In Austria, this is the Austrian Data Protection Authority (<a href="https://www.dsb.gv.at/">https://www.dsb.gv.at/</a>). However, we like to think of ourselves as nice people and will try to
help you out directly, and are always open to suggestions for improvement,
so please do get in touch with us if you have any questions or concerns.
</p>
</div>
<div class="section">
<h2>What are cookies?</h2>
<p>
Cookies are small text files that are placed on your computer or mobile
device when you visit a website. They are widely used to make websites
work, or work more efficiently, as well as to provide information to the
owners of the site. Cookies are stored on your device, and can be accessed
by the website that created them. They are not harmful to your device, and
do not directly contain any personal data, but are used by our services to
identify you between multiple visits.
</p>
<p>
Cookies are used on some of our services to provide you with a better
experience. For example, we use cookies to remember your preferences and
settings - for example, to allow you to login to our services - and to
provide you with a better experience when browsing our services. We do not
use cookies to track your activity, either on our services or on other
websites. In legal/technical terms, we exclusively use "strictly
necessary" first-party cookies, which is also why you don't see any cookie
banners on our website.
</p>
</div>
</div>
{% endblock %}

View file

@ -1,209 +0,0 @@
{% extends "base.html" %}
{% block title %}
Services
{% endblock title %}
{% block content %}
<div class="container py-5">
<div class="text-center mb-5">
<h1 class="special-header fancy-text-primary">Our Services</h1>
<p class="lead">
Private.coffee provides a collection of privacy-respecting services as alternatives to common commercial offerings.
All our services those open-source and designed with privacy in mind - some by us, some by others.
</p>
</div>
<!-- Service Categories Navigation -->
<div class="mb-4 text-center">
<div class="category-nav">
<a href="#featured" class="btn btn-outline-primary m-1">Featured Services</a>
{% for category in categories %}
<a href="#{{ category|lower|replace(' ', '-') }}"
class="btn btn-outline-primary m-1">{{ category }}</a>
{% endfor %}
</div>
</div>
<!-- Featured Services Section -->
<div id="featured" class="service-section mb-5">
<h2 class="mb-4">Featured Services</h2>
<div class="accordion">
{% for service in services.services %}
{% if service.featured and not service.exclude_from_index %}
<details class="accordion-item">
<summary class="accordion-header">
{% if service.icon %}
<div class="bs-icon-lg d-flex justify-content-center align-items-center bs-icon"
title="{{ service.name }}">{{ service.icon | icon | safe }}</div>
{% endif %}
{{ service.name }}
{% if service.tiny_description %}- {{ service.tiny_description }}{% endif %}
{% if service.homemade %}
<a href="{{ service.homemade }}">
<div class="bs-icon-sm bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-sm homemade"
title="Made by Private.coffee">{{ "coffee" | icon | safe }}</div>
</a>
{% endif %}
{% if service.upstream %}
<a href="{{ service.upstream }}">
<div class="bs-icon-sm bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-sm upstream"
title="Upstream project">{{ "code" | icon | safe }}</div>
</a>
{% endif %}
{% if service.fork %}
<a href="{{ service.fork }}">
<div class="bs-icon-sm bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-sm fork"
title="Runs on a fork of the original software">
{{ "git-branch" | icon | safe }}
</div>
</a>
{% endif %}
{% if service.members_only %}
<a href="/membership.html">
<div class="bs-icon-sm bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-sm members-only"
title="Members only">{{ "star" | icon | safe }}</div>
</a>
{% endif %}
<div class="accordion-icon">&#9660;</div>
</summary>
<div class="accordion-body">
<p class="text-muted card-text mb-4">{{ service.long_description }}</p>
{% for link in service.links %}
{% if link.alternatives %}
<div class="button-wrapper dropdown">
<div class="btn btn-primary w-100 shadow">
<a class="main-link" href="{{ link.url }}">{{ link.name }}</a>
<div class="dropdown-toggle-area">&#9660;</div>
</div>
<div class="dropdown-content">
{% for alternative in link.alternatives %}<a href="{{ alternative.url }}">{{ alternative.name }}</a>{% endfor %}
</div>
</div>
{% else %}
<a class="button-wrapper btn btn-primary shadow w-100 text-center"
href="{{ link.url }}">{{ link.name }}</a>
{% endif %}
{% endfor %}
</div>
</details>
{% endif %}
{% endfor %}
</div>
</div>
<!-- Category Sections -->
{% for category in categories %}
<div id="{{ category|lower|replace(' ', '-') }}"
class="service-section mb-5">
<h2 class="mb-4">{{ category }}</h2>
<div class="accordion">
{% for service in services.services %}
{% if service.category == category and not service.exclude_from_index %}
<details class="accordion-item">
<summary class="accordion-header">
{% if service.icon %}
<div class="bs-icon-lg d-flex justify-content-center align-items-center bs-icon"
title="{{ service.name }}">{{ service.icon | icon | safe }}</div>
{% endif %}
{{ service.name }}
{% if service.tiny_description %}- {{ service.tiny_description }}{% endif %}
{% if service.homemade %}
<a href="{{ service.homemade }}">
<div class="bs-icon-sm bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-sm homemade"
title="Made by Private.coffee">{{ "coffee" | icon | safe }}</div>
</a>
{% endif %}
{% if service.upstream %}
<a href="{{ service.upstream }}">
<div class="bs-icon-sm bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-sm upstream"
title="Upstream project">{{ "code" | icon | safe }}</div>
</a>
{% endif %}
{% if service.fork %}
<a href="{{ service.fork }}">
<div class="bs-icon-sm bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-sm fork"
title="Runs on a fork of the original software">
{{ "git-branch" | icon | safe }}
</div>
</a>
{% endif %}
{% if service.members_only %}
<a href="/membership.html">
<div class="bs-icon-sm bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-sm members-only"
title="Members only">{{ "star" | icon | safe }}</div>
</a>
{% endif %}
<div class="accordion-icon">&#9660;</div>
</summary>
<div class="accordion-body">
<p class="text-muted card-text mb-4">{{ service.long_description }}</p>
{% for link in service.links %}
{% if link.alternatives %}
<div class="button-wrapper dropdown">
<div class="btn btn-primary w-100 shadow">
<a class="main-link" href="{{ link.url }}">{{ link.name }}</a>
<div class="dropdown-toggle-area">&#9660;</div>
</div>
<div class="dropdown-content">
{% for alternative in link.alternatives %}<a href="{{ alternative.url }}">{{ alternative.name }}</a>{% endfor %}
</div>
</div>
{% else %}
<a class="button-wrapper btn btn-primary shadow w-100 text-center"
href="{{ link.url }}">{{ link.name }}</a>
{% endif %}
{% endfor %}
</div>
</details>
{% endif %}
{% endfor %}
</div>
</div>
{% endfor %}
<!-- Back to top -->
<div class="text-center mb-4">
<a href="#" class="btn btn-outline-primary">Back to Top</a>
</div>
<!-- Legend -->
<div class="row mt-5">
<div class="col-md-8 col-xl-6 text-center mx-auto services-legend">
<h4 class="fw-bold mb-2 text-primary">Legend</h4>
<div class="row row-cols-1 row-cols-md-2">
<div class="col">
<div class="d-flex align-items-center">
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md">
{{ "coffee" | icon | safe }}
</div>
<p class="px-2 mb-0">Made by Private.coffee*</p>
</div>
</div>
<div class="col">
<div class="d-flex align-items-center">
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md">
{{ "code" | icon | safe }}
</div>
<p class="px-2 mb-0">Upstream project*</p>
</div>
</div>
<div class="col">
<div class="d-flex align-items-center">
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md">
{{ "git-branch" | icon | safe }}
</div>
<p class="px-2 mb-0">Runs on a fork of the original software*</p>
</div>
</div>
<div class="col">
<div class="d-flex align-items-center">
<div class="bs-icon-md bs-icon-circle bs-icon-primary shadow d-flex flex-shrink-0 justify-content-center align-items-center d-inline-block bs-icon bs-icon-md">
{{ "star" | icon | safe }}
</div>
<p class="px-2 mb-0">For members of the association only</p>
</div>
</div>
</div>
<div class="row row-cols-1 row-cols-md-1">
<div class="col">
<p class="text-muted mt-3">*Click the symbol to go to the source code!</p>
</div>
</div>
</div>
</div>
</div>
{% endblock content %}

View file

@ -1,60 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Private.coffee</title>
</head>
<body>
<div style="font-family: Arial, sans-serif;
background-color: #f2f2f2;
color: #333;
line-height: 1.6;
padding: 20px;
max-width: 600px;
margin: auto">
<h2 style="color: #333;">Welcome to Private.coffee</h2>
<p>Thanks for using our Element instance! Now, why don't you join our rooms?</p>
<ul style="list-style: none; padding: 0;">
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://element.private.coffee/#/#coffeespace:private.coffee">#coffeespace:private.coffee</a> - The Private.coffee Space, containing all rooms
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://element.private.coffee/#/#private.coffee:private.coffee">#private.coffee:private.coffee</a> - General support for our services
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://element.private.coffee/#/#matrix:private.coffee">#matrix:private.coffee</a> - Support for our Matrix server
</li>
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="https://element.private.coffee/#/#coffeebreak:private.coffee">#coffeebreak:private.coffee</a> - ☕ Coffee Break ☕ - our off-topic room
</li>
</ul>
<hr>
<p>Private.coffee operates a collection of services that respect your privacy, here are some others:</p>
<ul style="list-style: none; padding: 0;">
{% for service in services.services %}
{% if not service.exclude_from_simple %}
<li style="padding: 8px 0;">
<a style="color: #1a5dab;
text-decoration: none"
href="{{ service.url }}">{{ service.name }}</a> - {{ service.short_description }}
</li>
{% endif %}
{% endfor %}
</ul>
<p>
For hosting inquiries for privacy-related, social, or wholesome projects, <a href="mailto:support@private.coffee"
style="color: #1a5dab;
text-decoration: none">get in touch</a>!
</p>
</div>
</body>
</html>

View file

@ -1,160 +0,0 @@
{% extends "base.html" %}
{% block title %}Terms of Service{% endblock %}
{% block content %}
<div class="container">
<div class="text-center mb-5">
<h1 class="special-header fancy-text-primary">Terms of Service</h1>
<p class="lead">
These are the terms of service for the website private.coffee and all
services provided under this domain and its subdomains. Please read them
carefully.
</p>
</div>
<div class="section">
<h2>1. Who are we?</h2>
<p>The website private.coffee is run by:</p>
<address>
Private.coffee &dash; Verein zur Förderung von Privatsphäre und digitaler
Souver&auml;nit&auml;t
<br />
c/o Klaus-Uwe Mitterer
<br />
Gartengasse 22/7/3
<br />
8010 Graz
<br />
Austria
<br />
</address>
<p>Central Register of Associations (ZVR) Number: 1758485319</p>
<p>
Email:
<a href="mailto:support@private.coffee">support@private.coffee</a>
</p>
</div>
<div class="section">
<h2>2. What services do we provide?</h2>
<p>
The website private.coffee provides a collection of services that respect
your privacy. These services include:
</p>
<ul>
<li>Information about the Private.coffee association</li>
<li>
Proxy servers to several proprietary services (like YouTube, Twitter,
etc.)
</li>
<li>Matrix server</li>
<li>etc.</li>
</ul>
<p>
You can find more information about these services on the
<a href="/">main page</a>.
</p>
</div>
<div class="section">
<h2>3. What are your obligations?</h2>
<p>
a. We provide these services to you for free. In return, we ask you to
respect our terms of service. If you do not respect our terms of service, we
reserve the right to terminate your account and delete your data.
</p>
<p>
b. We hope that our community will be diverse, respectful and friendly. As
such, any form of harassment, bullying, or abuse will not be tolerated. If
you are found to be harassing, bullying, or abusing other users, spreading
hate, lies or misinformation, we will terminate your account and delete your
data. Note that we may and will report you to the appropriate authorities if
we find your actions to be illegal. If you find yourself on the receiving
end of harassment, bullying, or abuse, please report it to us as soon as
possible.
</p>
<p>
c. You are responsible for your own actions and any content you post on our
services.
</p>
<p>
d. You are responsible for keeping your passwords, devices, private keys,
etc., secure. If you lose access, we may not be able to recover your data.
If third parties gain access to your account, we will not be able to prevent
them from accessing your data or restore any data that was lost.
</p>
<p>
e. You are required to follow the laws governing our platform (especially
the laws of Austria and the European Union) as well as any laws or
regulations that apply to you personally. If you are found to be violating
the law, we will terminate your account and delete your data. If we are
required to do so by law, we will also report you to the authorities, or
cooperate with the authorities in any way necessary.
</p>
<p>
f. You are responsible for any damage you cause to our services or other
users. This includes, but is not limited to, denial of service attacks,
spamming, etc. If you are found to be causing damage to our services or
other users, we will terminate your account and delete your data. We may
also report you to the appropriate authorities and request compensation for
any damage you caused, including legal fees.
</p>
<p>
g. If you are a minor, you may be legally required to have a parent's or
guardian's permission to use our services. Unless otherwise stated, our
services are not intended for minors.
</p>
<p>
h. In the end, this is our platform, and you are our guest. We reserve the
right to terminate your account and delete your data at any time for any
reason. We will try to give you as much notice as possible before doing so,
but we are not required to do so.
</p>
</div>
<div class="section">
<h2>4. What are our obligations?</h2>
<p>
a. We will do our best to provide you with a stable and reliable service.
However, we cannot guarantee that our services will be available at all
times. We may need to take our services offline for maintenance or other
reasons. In case of scheduled outages, will try to give you as much notice
as possible.
</p>
<p>
b. We will do our best to keep your data secure. However, we cannot
guarantee that your data will be secure at all times. We will do our best to
prevent unauthorized access to your data, but we cannot guarantee that we
will be able to do so. If we become aware of any unauthorized access to your
data, we will notify you as soon as possible and take all reasonable steps
to prevent further unauthorized access. However, we are not responsible for
any damage that may result from unauthorized access to your data.
</p>
<p>
c. We will do our best to prevent data loss. However, we cannot guarantee
that your data will not be lost at any time. We will do our best to prevent
data loss, but we cannot guarantee that we will be able to do so. If we
become aware of any data loss, we will take all reasonable steps to restore
your data. If we are unable to restore your data, we are not responsible for
any damage that may result from the loss of your data.
</p>
<p>
d. We will do our best to keep our services available free of charge. If at
any time we decide to cease our operations, or start charging for our
services, we will give you as much notice as possible. We will also try to
find a suitable replacement for our services and, where possible, help you
migrate your data to the new service.
</p>
<p>
e. We commit to providing you with a service that respects your privacy. We
will not sell your data to third parties, and we will not use your data for
any purpose other than providing you with our services. We will not share
your data with third parties unless we are required to do so by law.
</p>
<p>
f. We commit to keeping our community diverse, respectful and friendly. As
such, we will actively monitor and moderate our community. We will not
tolerate any form of harassment, bullying, or abuse. If we become aware of
any harassment, bullying, or abuse, we will take all reasonable steps to
prevent it from continuing. If we are unable to prevent it from continuing,
we will terminate the accounts of the users involved and delete their data.
We may also report the users involved to the appropriate authorities.
</p>
</div>
</div>
{% endblock %}

View file

@ -1,28 +0,0 @@
{% extends "base.html" %}
{% block title %}Membership / Donations{% endblock %}
{% block content %}
<div class="container my-5">
<div class="text-center mb-5">
<h1 class="special-header fancy-text-primary">Transparency</h1>
<p class="lead">
Private.coffee is funded by its members and donations. We believe in
transparency and accountability. Below you can find financial reports for
each month since our inception.
</p>
</div>
<div class="alert alert-warning">
<strong>Notice:</strong> The data is manually updated, so data for the
current month may be a little outdated.
</div>
{% for year, year_data in finances.items() %}
{% for month, month_data in year_data.items() %}
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for {{ month|month_name }} {{ year }}</h5>
<div class="table-responsive">{{ month_data|safe }}</div>
</div>
</div>
{% endfor %}
{% endfor %}
</div>
{% endblock %}

322
terms.html Normal file
View file

@ -0,0 +1,322 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="assets/img/logo-inv_grad.png" />
<title>
Terms of Service
- Private.coffee</title>
<link rel="stylesheet"
href="assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/terms.html"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container">
<div class="text-center mb-5">
<h1 class="special-header fancy-text-primary">Terms of Service</h1>
<p class="lead">
These are the terms of service for the website private.coffee and all
services provided under this domain and its subdomains. Please read them
carefully.
</p>
</div>
<div class="section">
<h2>1. Who are we?</h2>
<p>The website private.coffee is run by:</p>
<address>
Private.coffee &dash; Verein zur Förderung von Privatsphäre und digitaler
Souver&auml;nit&auml;t
<br />
c/o Klaus-Uwe Mitterer
<br />
Gartengasse 22/7/3
<br />
8010 Graz
<br />
Austria
<br />
</address>
<p>Central Register of Associations (ZVR) Number: 1758485319</p>
<p>
Email:
<a href="mailto:support@private.coffee">support@private.coffee</a>
</p>
</div>
<div class="section">
<h2>2. What services do we provide?</h2>
<p>
The website private.coffee provides a collection of services that respect
your privacy. These services include:
</p>
<ul>
<li>Information about the Private.coffee association</li>
<li>
Proxy servers to several proprietary services (like YouTube, Twitter,
etc.)
</li>
<li>Matrix server</li>
<li>etc.</li>
</ul>
<p>
You can find more information about these services on the
<a href="/">main page</a>.
</p>
</div>
<div class="section">
<h2>3. What are your obligations?</h2>
<p>
a. We provide these services to you for free. In return, we ask you to
respect our terms of service. If you do not respect our terms of service, we
reserve the right to terminate your account and delete your data.
</p>
<p>
b. We hope that our community will be diverse, respectful and friendly. As
such, any form of harassment, bullying, or abuse will not be tolerated. If
you are found to be harassing, bullying, or abusing other users, spreading
hate, lies or misinformation, we will terminate your account and delete your
data. Note that we may and will report you to the appropriate authorities if
we find your actions to be illegal. If you find yourself on the receiving
end of harassment, bullying, or abuse, please report it to us as soon as
possible.
</p>
<p>
c. You are responsible for your own actions and any content you post on our
services.
</p>
<p>
d. You are responsible for keeping your passwords, devices, private keys,
etc., secure. If you lose access, we may not be able to recover your data.
If third parties gain access to your account, we will not be able to prevent
them from accessing your data or restore any data that was lost.
</p>
<p>
e. You are required to follow the laws governing our platform (especially
the laws of Austria and the European Union) as well as any laws or
regulations that apply to you personally. If you are found to be violating
the law, we will terminate your account and delete your data. If we are
required to do so by law, we will also report you to the authorities, or
cooperate with the authorities in any way necessary.
</p>
<p>
f. You are responsible for any damage you cause to our services or other
users. This includes, but is not limited to, denial of service attacks,
spamming, etc. If you are found to be causing damage to our services or
other users, we will terminate your account and delete your data. We may
also report you to the appropriate authorities and request compensation for
any damage you caused, including legal fees.
</p>
<p>
g. If you are a minor, you may be legally required to have a parent's or
guardian's permission to use our services. Unless otherwise stated, our
services are not intended for minors.
</p>
<p>
h. In the end, this is our platform, and you are our guest. We reserve the
right to terminate your account and delete your data at any time for any
reason. We will try to give you as much notice as possible before doing so,
but we are not required to do so.
</p>
</div>
<div class="section">
<h2>4. What are our obligations?</h2>
<p>
a. We will do our best to provide you with a stable and reliable service.
However, we cannot guarantee that our services will be available at all
times. We may need to take our services offline for maintenance or other
reasons. In case of scheduled outages, will try to give you as much notice
as possible.
</p>
<p>
b. We will do our best to keep your data secure. However, we cannot
guarantee that your data will be secure at all times. We will do our best to
prevent unauthorized access to your data, but we cannot guarantee that we
will be able to do so. If we become aware of any unauthorized access to your
data, we will notify you as soon as possible and take all reasonable steps
to prevent further unauthorized access. However, we are not responsible for
any damage that may result from unauthorized access to your data.
</p>
<p>
c. We will do our best to prevent data loss. However, we cannot guarantee
that your data will not be lost at any time. We will do our best to prevent
data loss, but we cannot guarantee that we will be able to do so. If we
become aware of any data loss, we will take all reasonable steps to restore
your data. If we are unable to restore your data, we are not responsible for
any damage that may result from the loss of your data.
</p>
<p>
d. We will do our best to keep our services available free of charge. If at
any time we decide to cease our operations, or start charging for our
services, we will give you as much notice as possible. We will also try to
find a suitable replacement for our services and, where possible, help you
migrate your data to the new service.
</p>
<p>
e. We commit to providing you with a service that respects your privacy. We
will not sell your data to third parties, and we will not use your data for
any purpose other than providing you with our services. We will not share
your data with third parties unless we are required to do so by law.
</p>
<p>
f. We commit to keeping our community diverse, respectful and friendly. As
such, we will actively monitor and moderate our community. We will not
tolerate any form of harassment, bullying, or abuse. If we become aware of
any harassment, bullying, or abuse, we will take all reasonable steps to
prevent it from continuing. If we are unable to prevent it from continuing,
we will terminate the accounts of the users involved and delete their data.
We may also report the users involved to the appropriate authorities.
</p>
</div>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="legal.html">Legal Notice</a>
</li>
<li>
<a href="privacy.html">Privacy Notice</a>
</li>
<li>
<a href="terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>

451
transparency.html Normal file
View file

@ -0,0 +1,451 @@
<!DOCTYPE html>
<html data-bs-theme="light" lang="en">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<head>
<meta charset="utf8" />
<meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<meta name="description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="keywords"
content="privacy, digital sovereignty, non-profit, association, privacy-focused" />
<meta name="author" content="Private.coffee" />
<meta property="og:title"
content="Private.coffee - Open-source software is best served hot" />
<meta property="og:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://private.coffee/" />
<meta property="og:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<meta property="og:site_name" content="Private.coffee" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Private.coffee" />
<meta name="twitter:description"
content="Private.coffee is a privacy-focused non-profit association, dedicated to supporting privacy and digital sovereignty." />
<meta name="twitter:image"
content="https://private.coffee/assets/img/logo-inv_grad.png" />
<link rel="icon"
type="image/png"
href="assets/img/logo-inv_grad.png" />
<title>
Membership / Donations
- Private.coffee</title>
<link rel="stylesheet"
href="assets/dist/css/bootstrap.min.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/base.css?v=1751932861" />
<link rel="stylesheet"
href="assets/css/theme/plain.css?v=1751932861"
id="theme-stylesheet">
<link rel="stylesheet"
href="assets/dist/fonts/fonts.css?v=1751932861" />
</head>
<body>
<nav class="navbar navbar-expand-md py-3 navbar-light" id="mainNav">
<div class="container">
<div class="row d-lg-flex align-items-lg-center">
<div class="col p-0" id="logo-wrapper">
<a href="/">
<div id="smallLogoContainer"></div>
</a>
</div>
<div class="col d-flex">
<a class="navbar-brand d-flex align-items-center" href="/">
<p class="mb-0"
style="line-height: 1.2rem;
color: var(--bs-tertiary-color)">
<span class="ps-2 fancy-text-primary"><span style="color: rgb(35, 35, 35)">Private.coffee</span></span>
<br class="that-br" />
<span class="ps-2 slogan">Open-source software is best served hot</span>
</p>
</a>
</div>
</div>
<div class="navbar" id="navcol-1">
<ul class="navbar-nav mx-auto">
<li class="nav-item">
<a class="nav-link active" href="index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="services.html">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://status.private.coffee/">Status</a>
</li>
</ul>
<div class="theme-toggle-container me-2">
<a href="https://dark.private.coffee/transparency.html"
class="btn btn-outline-primary theme-toggle-btn"
aria-label="Switch to dark theme">
<span class="theme-icon dark-icon"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></span>
<span class="theme-icon light-icon" style="display: none;"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></span>
</a>
</div>
<a class="btn btn-primary shadow navbar-btn"
role="button"
href="membership.html">JOIN &amp; SUPPORT</a>
</div>
</div>
</nav>
<div class="alert alert-warning text-center" role="alert">
This is a development version of the Private.coffee website. For the live
version, please visit
<a href="https://private.coffee" class="alert-link">https://private.coffee</a>.
</div>
<div class="container my-5">
<div class="text-center mb-5">
<h1 class="special-header fancy-text-primary">Transparency</h1>
<p class="lead">
Private.coffee is funded by its members and donations. We believe in
transparency and accountability. Below you can find financial reports for
each month since our inception.
</p>
</div>
<div class="alert alert-warning">
<strong>Notice:</strong> The data is manually updated, so data for the
current month may be a little outdated.
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for May 2025</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €135.07</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €453.46</td><td></td><td></td></tr><tr><td>Donations</td><td>+ €112.00</td><td></td><td></td></tr><tr><td>Reimbursements*</td><td>+ €160.00</td><td></td><td></td></tr><tr><td>Bank Fees</td><td>- €4.08</td><td></td><td></td></tr><tr><td>Server Rent</td><td>- €237.24</td><td></td><td></td></tr><tr><td>Domains</td><td>- €9.00</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €725.46</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €250.32</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €610.21</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
<p><b>Notes:</b></p><ul><li>Reimbursements: Reimbursements for hoodies</li></ul></div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for April 2025</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €125.83</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €423.46</td><td></td><td></td></tr><tr><td>Donations</td><td>+ €300.00</td><td></td><td></td></tr><tr><td>Server Rent</td><td>- €382.98</td><td></td><td></td></tr><tr><td>Domains*</td><td>- €35.22</td><td></td><td></td></tr><tr><td>Marketing*</td><td>- €296.02</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €723.46</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €714.22</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €135.07</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
<p><b>Notes:</b></p><ul><li>Domains: Now separated from server costs for better clarity</li><li>Marketing: Branded shirts/hoodies for events, stickers</li></ul></div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for March 2025</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €193.97</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €373.46</td><td></td><td></td></tr><tr><td>Donations</td><td>+ €79.00</td><td></td><td></td></tr><tr><td>Server Rent</td><td>- €423.44</td><td></td><td></td></tr><tr><td>Bank Fees</td><td>- €60.76</td><td></td><td></td></tr><tr><td>Administrative Expenses*</td><td>- €36.40</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €452.46</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €520.60</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €125.83</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
<p><b>Notes:</b></p><ul><li>Administrative Expenses: Administrative fee for statute changes</li></ul></div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for February 2025</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €434.00</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €373.46</td><td></td><td></td></tr><tr><td>Donations</td><td>+ €175.00</td><td></td><td></td></tr><tr><td>Server Rent*</td><td>- €403.96</td><td></td><td></td></tr><tr><td>Hardware Costs*</td><td>- €209.53</td><td></td><td></td></tr><tr><td>Events*</td><td>- €175.00</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €548.46</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €788.49</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €193.97</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
<p><b>Notes:</b></p><ul><li>Server Rent: Renamed from 'Server Costs' to better differentiate between rented and owned servers</li><li>Hardware Costs: Components for server rack</li><li>Events: Food and drinks for General Assembly</li></ul></div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for January 2025</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €366.23</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €458.87</td><td></td><td></td></tr><tr><td>Donations</td><td>+ €15.00</td><td></td><td></td></tr><tr><td>Bank Fees</td><td>- €0.62</td><td></td><td></td></tr><tr><td>Server Costs</td><td>- €405.48</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €473.87</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €406.10</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €434.00</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for December 2024</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €390.15</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €427.65</td><td></td><td></td></tr><tr><td>Donations</td><td>+ €80.00</td><td></td><td></td></tr><tr><td>Bank Fees</td><td>- €56.48</td><td></td><td></td></tr><tr><td>Server Costs</td><td>- €399.29</td><td></td><td></td></tr><tr><td>Marketing*</td><td>- €75.80</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €507.65</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €531.57</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €366.23</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
<p><b>Notes:</b></p><ul><li>Marketing: Branded coffee mugs</li></ul></div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for November 2024</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €369.43</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €387.65</td><td></td><td></td></tr><tr><td>Server Costs</td><td>- €366.93</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €387.65</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €366.93</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €390.15</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for October 2024</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €402.75</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €407.65</td><td></td><td></td></tr><tr><td>Miscellaneous*</td><td>+ €0.01</td><td></td><td></td></tr><tr><td>Server Costs</td><td>- €440.98</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €407.66</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €440.98</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €369.43</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
<p><b>Notes:</b></p><ul><li>Miscellaneous: Bank account verification</li></ul></div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for September 2024</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €231.42</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €468.11</td><td></td><td></td></tr><tr><td>Server Costs</td><td>- €243.46</td><td></td><td></td></tr><tr><td>Bank Fees</td><td>- €53.32</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €468.11</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €296.78</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €402.75</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for August 2024</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €245.47</td><td>+ 1.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €402.42</td><td></td><td></td></tr><tr><td>Server Costs</td><td>- €416.47</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €402.42</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €416.47</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €231.42</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for July 2024</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €88.04</td><td>+ 0.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €422.42</td><td></td><td></td></tr><tr><td>Donations</td><td></td><td>+ 1.000000000 XMR</td><td></td></tr><tr><td>Server Costs</td><td>- €264.99</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €422.42</b></td><td><b>+ 1.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €264.99</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €245.47</b></td><td><b>+ 1.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for June 2024</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €72.29</td><td>+ 0.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €382.42</td><td></td><td></td></tr><tr><td>Server Costs</td><td>- €317.62</td><td></td><td></td></tr><tr><td>Bank Fees</td><td>- €49.05</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €382.42</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €366.67</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €88.04</b></td><td><b>+ 0.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for May 2024</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th><th class="currency-col" scope="col">Monero (XMR)</th><th class="currency-col" scope="col">Bitcoin (BTC)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>+ €112.33</td><td>0.000000000 XMR</td><td>0.000000000 BTC</td></tr><tr><td>Membership Fees</td><td>+ €390.00</td><td></td><td></td></tr><tr><td>Donations</td><td></td><td>+ 0.447661806 XMR</td><td>+ 0.000434000 BTC</td></tr><tr><td>Server Costs*</td><td>- €430.04</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €390.00</b></td><td><b>+ 0.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €430.04</b></td><td><b>0.000000000 XMR</b></td><td><b>0.000000000 BTC</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €72.29</b></td><td><b>+ 0.447661806 XMR</b></td><td><b>+ 0.000434000 BTC</b></td></tr>
</tbody>
</table>
<p><b>Notes:</b></p><ul><li>Server Costs: Includes setup costs and two monthly payments for new server</li></ul></div>
</div>
</div>
<div class="card shadow-sm mt-4">
<div class="card-body">
<h5 class="card-title">Transparency Report for April 2024</h5>
<div class="table-responsive">
<table class="table table-bordered table-transparency">
<thead class="table-light">
<tr>
<th scope="col">Category</th>
<th class="currency-col" scope="col">Euros (€)</th>
</tr>
</thead>
<tbody>
<tr class="transparency-start-balance-row"><td>Account Balance (start of month)</td><td>€0.00</td></tr><tr><td>Membership Fees</td><td>+ €365.00</td></tr><tr><td>Server Costs</td><td>- €216.57</td></tr><tr><td>Administrative Expenses*</td><td>- €36.10</td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €365.00</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €252.67</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €112.33</b></td></tr>
</tbody>
</table>
<p><b>Notes:</b></p><ul><li>Administrative Expenses: Administrative fee for the formation of the association</li></ul></div>
</div>
</div>
</div>
<footer class="bg-primary-gradient">
<div class="container py-4 py-lg-5">
<div class="row justify-content-center">
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column">
<h3 class="fs-6 fw-bold">Legal Stuff</h3>
<ul class="list-unstyled">
<li>
<a href="legal.html">Legal Notice</a>
</li>
<li>
<a href="privacy.html">Privacy Notice</a>
</li>
<li>
<a href="terms.html">Terms of Service</a>
</li>
</ul>
</div>
<div class="col-sm-4 col-md-3 text-center text-lg-start d-flex flex-column"></div>
<div class="col-lg-3 text-center text-lg-start d-flex flex-column align-items-center order-first align-items-lg-start order-lg-last">
<div class="fw-bold d-flex align-items-center mb-2">
<span class="bs-icon-sm bs-icon-circle bs-icon-primary d-flex justify-content-center align-items-center bs-icon me-2"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M80,56V24a8,8,0,0,1,16,0V56a8,8,0,0,1-16,0Zm40,8a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,120,64Zm32,0a8,8,0,0,0,8-8V24a8,8,0,0,0-16,0V56A8,8,0,0,0,152,64Zm96,56v8a40,40,0,0,1-37.51,39.91,96.59,96.59,0,0,1-27,40.09H208a8,8,0,0,1,0,16H32a8,8,0,0,1,0-16H56.54A96.3,96.3,0,0,1,24,136V88a8,8,0,0,1,8-8H208A40,40,0,0,1,248,120ZM200,96H40v40a80.27,80.27,0,0,0,45.12,72h69.76A80.27,80.27,0,0,0,200,136Zm32,24a24,24,0,0,0-16-22.62V136a95.78,95.78,0,0,1-1.2,15A24,24,0,0,0,232,128Z"></path></svg></span><span>Private.coffee</span>
</div>
<p class="text-muted">
Private.coffee is a privacy-focused non-profit association,
dedicated to supporting privacy and digital sovereignty.
</p>
</div>
</div>
<hr />
<div class="text-muted d-flex justify-content-between align-items-center pt-3">
<p class="mb-0">Made with ❤️ and ☕ by Private.coffee</p>
<p class="mb-0">
<a href="https://git.private.coffee/privatecoffee/privatecoffee-website">
<img src="https://shields.private.coffee/gitea/last-commit/privatecoffee/privatecoffee-website?gitea_url=https://git.private.coffee&logo=forgejo" />
</a>
<a href="https://pride.coffee"><svg xmlns="http://www.w3.org/2000/svg" width="135" height="20" role="img" aria-label="LGBTIQ+">
<!-- This file was created as part of the Private.coffee project
It is licensed under the MIT license
For more information, please visit https://private.coffee -->
<title>LGBTIQ+</title>
<rect rx="3" width="135" height="20" fill="#555"></rect>
<rect x="53" width="82" height="20" fill="#e05d44"></rect>
<rect x="66.5" width="68.5" height="20" fill="#fecc00"></rect>
<rect x="80" width="55" height="20" fill="#61c354"></rect>
<rect x="93.5" width="41.5" height="20" fill="#007ec6"></rect>
<rect x="107" width="28" height="20" fill="#744ca1"></rect>
<rect x="120.5" width="14.5" height="20" rx="3" ry="3" fill="#8b00ff"></rect>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="27" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></a>
</p>
</div>
</div>
</footer>
<script src="assets/js/theme-toggle.js?v=1751932861"></script>
</body>
</html>