Deploy static site

This commit is contained in:
Forgejo 2024-07-03 11:51:00 +00:00
commit 218dfb91b7
42 changed files with 3208 additions and 0 deletions

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
venv/
*.pyc
__pycache__/
build/

265
assets/css/base.css Normal file
View file

@ -0,0 +1,265 @@
/* 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
*/
/* General styles */
:root,
[data-bs-theme="light"] {
--bs-primary: #f570b9;
--bs-primary-rgb: 245, 112, 185;
--bs-primary-text-emphasis: #622d4a;
--bs-primary-bg-subtle: #fde2f1;
--bs-primary-border-subtle: #fbc6e3;
--bs-body-color: #232323;
--bs-body-color-rgb: 35, 35, 35;
--bs-secondary-color: rgba(35, 35, 35, 0.75);
--bs-secondary-color-rgb: 35, 35, 35, 0.75;
--bs-tertiary-color: rgba(35, 35, 35, 0.5);
--bs-tertiary-color-rgb: 35, 35, 35, 0.5;
--bs-body-font-family: Inconsolata, monospace;
}
.btn-primary {
--bs-btn-color: #000000;
--bs-btn-bg: #f570b9;
--bs-btn-border-color: #f570b9;
--bs-btn-hover-color: #000000;
--bs-btn-hover-bg: #f785c4;
--bs-btn-hover-border-color: #f67ec0;
--bs-btn-focus-shadow-rgb: 37, 17, 28;
--bs-btn-active-color: #000000;
--bs-btn-active-bg: #f78dc7;
--bs-btn-active-border-color: #f67ec0;
--bs-btn-disabled-color: #000000;
--bs-btn-disabled-bg: #f570b9;
--bs-btn-disabled-border-color: #f570b9;
color: #fff;
}
.btn-outline-primary {
--bs-btn-color: #f570b9;
--bs-btn-border-color: #f570b9;
--bs-btn-focus-shadow-rgb: 245, 112, 185;
--bs-btn-hover-color: #000000;
--bs-btn-hover-bg: #f570b9;
--bs-btn-hover-border-color: #f570b9;
--bs-btn-active-color: #000000;
--bs-btn-active-bg: #f570b9;
--bs-btn-active-border-color: #f570b9;
--bs-btn-disabled-color: #f570b9;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #f570b9;
}
h2 .special-header {
font-size: 10rem !important;
}
.special-header {
font-size: 4rem;
font-weight: 900;
}
.fancy-text-primary {
background: -webkit-linear-gradient(45deg, #ba77fc, #ff7f8c);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
p {
letter-spacing: 0.03rem;
font-size: 1.1rem;
}
h5 {
letter-spacing: 0.05rem;
}
.navbar-brand {
font-weight: 800 !important;
font-size: x-large;
}
.card-body :not(p):not(:first-child):not(.dropdown-content):not(.dropdown-toggle-area) {
margin-top: 10px;
}
.currency-col {
width: 200px;
white-space: nowrap;
text-align: right;
}
.table-transparency td:not(:first-child) {
text-align: right;
}
.section {
padding: 20px 0;
border-bottom: 1px solid #e0e0e0;
}
.alert-warning {
background-color: #fff3cd;
border-color: #ffeeba;
color: #856404;
padding: 15px;
margin-bottom: 20px;
border-radius: 4px;
}
.alert-warning .alert-link {
color: #856404;
font-weight: bold;
text-decoration: underline;
}
.alert-warning .alert-link:hover {
color: #604c2e;
}
.bs-icon.bs-icon-primary svg {
fill: var(--bs-primary-bg-subtle);
}
.bs-icon.bs-icon-lg svg {
fill: var(--bs-primary);
}
.bs-icon-circle svg {
fill: var(--bs-primary-bg-subtle);
}
.bg-pride-gradient {
background: linear-gradient(45deg, #FF7878, #FFC898, #FFF89A, #CDF2CA, #A2CDCD, #D1E8E4, #CAB8FF);
}
/* Responsive Styles */
@media (max-width: 991px) {
p.text-center.special-header {
font-size: 3rem;
}
.navbar .container {
display: flex;
flex-direction: column;
align-items: center;
}
.navbar .row {
flex-direction: column;
align-items: center;
}
.navbar .col {
text-align: center;
}
.navbar-brand p {
font-size: 0.9rem;
}
.navbar-brand span.fancy-text-primary {
font-size: 1.1rem;
}
.navbar-brand span {
display: block;
}
.navbar-nav {
display: flex;
flex-direction: row;
justify-content: center;
width: 100%;
padding: 0;
}
.navbar-nav .nav-item {
display: inline-block;
padding: 0 1rem;
}
.navbar-btn {
margin: 0 auto !important;
}
@media (max-width: 768px) {
.btn.btn-primary {
margin: 1rem auto;
display: block;
width: 80%;
}
h2 .special-header {
font-size: 6rem !important;
}
.special-header {
font-size: 2rem;
}
.that-br {
display: none;
}
.slogan {
display: none;
}
}
}
/* Dropdown Styles */
.dropdown {
position: relative;
display: inline-block;
width: 100%;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 100%;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.dropdown:hover .dropdown-content {
display: block;
}
.dropdown-toggle-area {
display: inline-block;
cursor: pointer;
color: white;
}
.btn-primary:has(.dropdown-toggle-area) {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
}
.btn-primary .main-link {
flex-grow: 1;
text-align: center;
color: white;
text-decoration: none;
}
.btn-primary .main-link:hover {
text-decoration: none;
color: black;
}

5
assets/dist/css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
<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>

After

Width:  |  Height:  |  Size: 430 B

1
assets/dist/icons/calendar.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M208,32H184V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,48v8a8,8,0,0,0,16,0V48h80v8a8,8,0,0,0,16,0V48h24V80H48V48ZM208,208H48V96H208V208Zm-96-88v64a8,8,0,0,1-16,0V132.94l-4.42,2.22a8,8,0,0,1-7.16-14.32l16-8A8,8,0,0,1,112,120Zm59.16,30.45L152,176h16a8,8,0,0,1,0,16H136a8,8,0,0,1-6.4-12.8l28.78-38.37A8,8,0,1,0,145.07,132a8,8,0,1,1-13.85-8A24,24,0,0,1,176,136,23.76,23.76,0,0,1,171.16,150.45Z"></path></svg>

After

Width:  |  Height:  |  Size: 604 B

1
assets/dist/icons/chats.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M216,80H184V48a16,16,0,0,0-16-16H40A16,16,0,0,0,24,48V176a8,8,0,0,0,13,6.22L72,154V184a16,16,0,0,0,16,16h93.59L219,230.22a8,8,0,0,0,5,1.78,8,8,0,0,0,8-8V96A16,16,0,0,0,216,80ZM66.55,137.78,40,159.25V48H168v88H71.58A8,8,0,0,0,66.55,137.78ZM216,207.25l-26.55-21.47a8,8,0,0,0-5-1.78H88V152h80a16,16,0,0,0,16-16V96h32Z"></path></svg>

After

Width:  |  Height:  |  Size: 438 B

1
assets/dist/icons/coffee.svg vendored Normal file
View file

@ -0,0 +1 @@
<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>

After

Width:  |  Height:  |  Size: 600 B

1
assets/dist/icons/database.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M128,24C74.17,24,32,48.6,32,80v96c0,31.4,42.17,56,96,56s96-24.6,96-56V80C224,48.6,181.83,24,128,24Zm80,104c0,9.62-7.88,19.43-21.61,26.92C170.93,163.35,150.19,168,128,168s-42.93-4.65-58.39-13.08C55.88,147.43,48,137.62,48,128V111.36c17.06,15,46.23,24.64,80,24.64s62.94-9.68,80-24.64ZM69.61,53.08C85.07,44.65,105.81,40,128,40s42.93,4.65,58.39,13.08C200.12,60.57,208,70.38,208,80s-7.88,19.43-21.61,26.92C170.93,115.35,150.19,120,128,120s-42.93-4.65-58.39-13.08C55.88,99.43,48,89.62,48,80S55.88,60.57,69.61,53.08ZM186.39,202.92C170.93,211.35,150.19,216,128,216s-42.93-4.65-58.39-13.08C55.88,195.43,48,185.62,48,176V159.36c17.06,15,46.23,24.64,80,24.64s62.94-9.68,80-24.64V176C208,185.62,200.12,195.43,186.39,202.92Z"></path></svg>

After

Width:  |  Height:  |  Size: 834 B

1
assets/dist/icons/envelope.svg vendored Normal file
View file

@ -0,0 +1 @@
<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>

After

Width:  |  Height:  |  Size: 360 B

1
assets/dist/icons/gift.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M216,72H180.92c.39-.33.79-.65,1.17-1A29.53,29.53,0,0,0,192,49.57,32.62,32.62,0,0,0,158.44,16,29.53,29.53,0,0,0,137,25.91a54.94,54.94,0,0,0-9,14.48,54.94,54.94,0,0,0-9-14.48A29.53,29.53,0,0,0,97.56,16,32.62,32.62,0,0,0,64,49.57,29.53,29.53,0,0,0,73.91,71c.38.33.78.65,1.17,1H40A16,16,0,0,0,24,88v32a16,16,0,0,0,16,16v64a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V136a16,16,0,0,0,16-16V88A16,16,0,0,0,216,72ZM149,36.51a13.69,13.69,0,0,1,10-4.5h.49A16.62,16.62,0,0,1,176,49.08a13.69,13.69,0,0,1-4.5,10c-9.49,8.4-25.24,11.36-35,12.4C137.7,60.89,141,45.5,149,36.51Zm-64.09.36A16.63,16.63,0,0,1,96.59,32h.49a13.69,13.69,0,0,1,10,4.5c8.39,9.48,11.35,25.2,12.39,34.92-9.72-1-25.44-4-34.92-12.39a13.69,13.69,0,0,1-4.5-10A16.6,16.6,0,0,1,84.87,36.87ZM40,88h80v32H40Zm16,48h64v64H56Zm144,64H136V136h64Zm16-80H136V88h80v32Z"></path></svg>

After

Width:  |  Height:  |  Size: 932 B

1
assets/dist/icons/git-branch.svg vendored Normal file
View file

@ -0,0 +1 @@
<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>

After

Width:  |  Height:  |  Size: 435 B

1
assets/dist/icons/images.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M216,40H72A16,16,0,0,0,56,56V72H40A16,16,0,0,0,24,88V200a16,16,0,0,0,16,16H184a16,16,0,0,0,16-16V184h16a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM72,56H216v62.75l-10.07-10.06a16,16,0,0,0-22.63,0l-20,20-44-44a16,16,0,0,0-22.62,0L72,109.37ZM184,200H40V88H56v80a16,16,0,0,0,16,16H184Zm32-32H72V132l36-36,49.66,49.66a8,8,0,0,0,11.31,0L194.63,120,216,141.38V168ZM160,84a12,12,0,1,1,12,12A12,12,0,0,1,160,84Z"></path></svg>

After

Width:  |  Height:  |  Size: 525 B

1
assets/dist/icons/leaf.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M223.45,40.07a8,8,0,0,0-7.52-7.52C139.8,28.08,78.82,51,52.82,94a87.09,87.09,0,0,0-12.76,49c.57,15.92,5.21,32,13.79,47.85l-19.51,19.5a8,8,0,0,0,11.32,11.32l19.5-19.51C81,210.73,97.09,215.37,113,215.94q1.67.06,3.33.06A86.93,86.93,0,0,0,162,203.18C205,177.18,227.93,116.21,223.45,40.07ZM153.75,189.5c-22.75,13.78-49.68,14-76.71.77l88.63-88.62a8,8,0,0,0-11.32-11.32L65.73,179c-13.19-27-13-54,.77-76.71,22.09-36.47,74.6-56.44,141.31-54.06C210.2,114.89,190.22,167.41,153.75,189.5Z"></path></svg>

After

Width:  |  Height:  |  Size: 598 B

1
assets/dist/icons/lightbulb.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M176,232a8,8,0,0,1-8,8H88a8,8,0,0,1,0-16h80A8,8,0,0,1,176,232Zm40-128a87.55,87.55,0,0,1-33.64,69.21A16.24,16.24,0,0,0,176,186v6a16,16,0,0,1-16,16H96a16,16,0,0,1-16-16v-6a16,16,0,0,0-6.23-12.66A87.59,87.59,0,0,1,40,104.49C39.74,56.83,78.26,17.14,125.88,16A88,88,0,0,1,216,104Zm-16,0a72,72,0,0,0-73.74-72c-39,.92-70.47,33.39-70.26,72.39a71.65,71.65,0,0,0,27.64,56.3A32,32,0,0,1,96,186v6h64v-6a32.15,32.15,0,0,1,12.47-25.35A71.65,71.65,0,0,0,200,104Zm-16.11-9.34a57.6,57.6,0,0,0-46.56-46.55,8,8,0,0,0-2.66,15.78c16.57,2.79,30.63,16.85,33.44,33.45A8,8,0,0,0,176,104a9,9,0,0,0,1.35-.11A8,8,0,0,0,183.89,94.66Z"></path></svg>

After

Width:  |  Height:  |  Size: 728 B

1
assets/dist/icons/link.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"></path></svg>

After

Width:  |  Height:  |  Size: 714 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z"></path></svg>

After

Width:  |  Height:  |  Size: 267 B

1
assets/dist/icons/markdown-logo.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M232,48H24A16,16,0,0,0,8,64V192a16,16,0,0,0,16,16H232a16,16,0,0,0,16-16V64A16,16,0,0,0,232,48Zm0,144H24V64H232V192ZM128,104v48a8,8,0,0,1-16,0V123.31L93.66,141.66a8,8,0,0,1-11.32,0L64,123.31V152a8,8,0,0,1-16,0V104a8,8,0,0,1,13.66-5.66L88,124.69l26.34-26.35A8,8,0,0,1,128,104Zm77.66,18.34a8,8,0,0,1,0,11.32l-24,24a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L168,132.69V104a8,8,0,0,1,16,0v28.69l10.34-10.35A8,8,0,0,1,205.66,122.34Z"></path></svg>

After

Width:  |  Height:  |  Size: 555 B

1
assets/dist/icons/mastodon-logo.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M184,32H72A40,40,0,0,0,32,72V192a40,40,0,0,0,40,40h88a8,8,0,0,0,0-16H72a24,24,0,0,1-24-24v-8H184a40,40,0,0,0,40-40V72A40,40,0,0,0,184,32Zm24,112a24,24,0,0,1-24,24H48V72A24,24,0,0,1,72,48H184a24,24,0,0,1,24,24Zm-24-40v32a8,8,0,0,1-16,0V104a16,16,0,0,0-32,0v32a8,8,0,0,1-16,0V104a16,16,0,0,0-32,0v32a8,8,0,0,1-16,0V104a32,32,0,0,1,56-21.13A32,32,0,0,1,184,104Z"></path></svg>

After

Width:  |  Height:  |  Size: 482 B

1
assets/dist/icons/matrix-logo.svg vendored Normal file
View file

@ -0,0 +1 @@
<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>

After

Width:  |  Height:  |  Size: 485 B

1
assets/dist/icons/network.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M232,112H136V88h8a16,16,0,0,0,16-16V40a16,16,0,0,0-16-16H112A16,16,0,0,0,96,40V72a16,16,0,0,0,16,16h8v24H24a8,8,0,0,0,0,16H56v32H48a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16H80a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16H72V128H184v32h-8a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16h-8V128h32a8,8,0,0,0,0-16ZM112,40h32V72H112ZM80,208H48V176H80Zm128,0H176V176h32Z"></path></svg>

After

Width:  |  Height:  |  Size: 516 B

1
assets/dist/icons/pencil-ruler.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M208,32H160a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H160V176h24a8,8,0,0,0,0-16H160V136h24a8,8,0,0,0,0-16H160V96h24a8,8,0,0,0,0-16H160V48h48V208ZM77.66,26.34a8,8,0,0,0-11.32,0l-32,32A8,8,0,0,0,32,64V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V64a8,8,0,0,0-2.34-5.66ZM48,176V80H64v96ZM80,80H96v96H80ZM72,43.31,92.69,64H51.31ZM48,208V192H96v16Z"></path></svg>

After

Width:  |  Height:  |  Size: 513 B

13
assets/dist/icons/rainbow.svg vendored Normal file
View file

@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" width="94" height="20" role="img" aria-label="LGBTIQ+">
<title>LGBTIQ+</title>
<rect rx="3" width="94" height="20" fill="#555"/>
<rect x="37" width="57" height="20" fill="#e05d44"/>
<rect x="46.5" width="47.5" height="20" fill="#fecc00"/>
<rect x="56" width="37" height="20" fill="#61c354"/>
<rect x="65.5" width="27" height="20" fill="#007ec6"/>
<rect x="75" width="17" height="20" fill="#744ca1"/>
<rect x="84.5" width="9.5" height="20" rx="3" ry="3" fill="#8b00ff"/>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="18.5" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 757 B

1
assets/dist/icons/translate.svg vendored Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M247.15,212.42l-56-112a8,8,0,0,0-14.31,0l-21.71,43.43A88,88,0,0,1,108,126.93,103.65,103.65,0,0,0,135.69,64H160a8,8,0,0,0,0-16H104V32a8,8,0,0,0-16,0V48H32a8,8,0,0,0,0,16h87.63A87.76,87.76,0,0,1,96,116.35a87.74,87.74,0,0,1-19-31,8,8,0,1,0-15.08,5.34A103.63,103.63,0,0,0,84,127a87.55,87.55,0,0,1-52,17,8,8,0,0,0,0,16,103.46,103.46,0,0,0,64-22.08,104.18,104.18,0,0,0,51.44,21.31l-26.6,53.19a8,8,0,0,0,14.31,7.16L148.94,192h70.11l13.79,27.58A8,8,0,0,0,240,224a8,8,0,0,0,7.15-11.58ZM156.94,176,184,121.89,211.05,176Z"></path></svg>

After

Width:  |  Height:  |  Size: 634 B

1
assets/dist/icons/upload.svg vendored Normal file
View file

@ -0,0 +1 @@
<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>

After

Width:  |  Height:  |  Size: 454 B

1
assets/dist/icons/video.svg vendored Normal file
View file

@ -0,0 +1 @@
<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>

After

Width:  |  Height:  |  Size: 412 B

1
assets/dist/icons/webcam.svg vendored Normal file
View file

@ -0,0 +1 @@
<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>

After

Width:  |  Height:  |  Size: 343 B

49
assets/img/logo-inv.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

51
assets/img/logo.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

34
assets/js/services.js Normal file
View file

@ -0,0 +1,34 @@
/* This file was developed as part of the Private.coffee project
It is licensed under the MIT license
See https://private.coffee for more information */
// Read the available services from a JSON file in the base directory and add them to the displayed services as in index.html
// This function is not currently used by the site, but is included for reference
function loadServices() {
$("#services").html("");
$.getJSON("services.json", function (data) {
$.each(data.services, function (i, service) {
var serviceHTML =
'<div class="col-sm-4 service"><h3>' +
service.name +
"</h3><p>" +
service.description +
'</p><p><a href="' +
service.url +
'" target="_blank" class="btn btn-primary">Go to ' +
service.name +
"</a></p>";
if (service.onion) {
serviceHTML +=
'<p><a href="' +
service.onion +
'" target="_blank" class="btn btn-secondary">' +
service.onion +
"</a></p>";
}
serviceHTML += "</div>";
$("#services").append(serviceHTML);
});
});
}

113
base.html Normal file
View file

@ -0,0 +1,113 @@
<!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"
/>
<title> - Private.coffee</title>
<link rel="stylesheet" href="assets/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="assets/css/base.css" />
</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">
<a href="/"
><img src="assets/img/logo-inv_grad.svg" style="height: 60px"
/></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"
>Empowering Privacy with Open Source</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="https://status.private.coffee/">Status</a></li>
</ul><a class="btn btn-primary shadow navbar-btn" role="button" href="/membership.html">JOIN &amp; SUPPORT</a>
</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>
<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"><svg xmlns="http://www.w3.org/2000/svg" width="94" height="20" role="img" aria-label="LGBTIQ+">
<title>LGBTIQ+</title>
<rect rx="3" width="94" height="20" fill="#555"/>
<rect x="37" width="57" height="20" fill="#e05d44"/>
<rect x="46.5" width="47.5" height="20" fill="#fecc00"/>
<rect x="56" width="37" height="20" fill="#61c354"/>
<rect x="65.5" width="27" height="20" fill="#007ec6"/>
<rect x="75" width="17" height="20" fill="#744ca1"/>
<rect x="84.5" width="9.5" height="20" rx="3" ry="3" fill="#8b00ff"/>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="18.5" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></p>
</div>
</footer>
</body>
</html>

49
data/finances.json Normal file
View file

@ -0,0 +1,49 @@
{
"2024": {
"4": {
"Membership Fees": {
"EUR": 365
},
"Server Costs": {
"EUR": -216.57
},
"Domain Names": {},
"Administrative Expenses": {
"EUR": -36.10,
"Notes": "Administrative fee for the formation of the association"
}
},
"5": {
"Membership Fees": {
"EUR": 390
},
"Donations": {
"BTC": 0.000434,
"XMR": 0.447661805527
},
"Server Costs": {
"EUR": -430.04,
"Notes": "Includes setup costs and two monthly payments for new server"
}
},
"6": {
"Membership Fees": {
"EUR": 382.42
},
"Server Costs": {
"EUR": -317.62
},
"Bank Fees": {
"EUR": -49.05
}
},
"7": {
"Membership Fees": {
"EUR": 395
},
"Server Costs": {
"EUR": -32.72
}
}
}
}

376
data/services.json Normal file
View file

@ -0,0 +1,376 @@
{
"services": [
{
"name": "Matrix",
"url": "https://element.private.coffee",
"short_description": "Matrix is an open network for secure, decentralized communication.",
"long_description": "Private.coffee runs a Matrix server. You can use it to chat with other people at Private.coffee or around the world. Use it with a client of your choice, or use our Element web client.",
"status": "OK",
"links": [
{
"name": "Go to Element",
"url": "https://element.private.coffee",
"alternatives": [
{
"name": "Tor",
"url": "http://element.coffee2m3bjsrrqqycx6ghkxrnejl2q6nl7pjw2j4clchjj6uk5zozad.onion"
}
]
}
],
"icon": "matrix-logo",
"exclude_from_index": false,
"exclude_from_simple": true
},
{
"name": "CryptPad",
"url": "https://cryptpad.private.coffee",
"short_description": "Private, encrypted, real-time collaborative editor.",
"long_description": "CryptPad is a private, encrypted, zero-knowledge, realtime collaborative editor, similar to Google Docs and Office 365.",
"status": "OK",
"links": [
{
"name": "Go to CryptPad",
"url": "https://cryptpad.private.coffee"
}
],
"icon": "article-ny-times",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "Piped / Invidious",
"url": "https://piped.private.coffee",
"short_description": "Watch YouTube videos without Google tracking.",
"long_description": "Piped and Invidious are alternative front-ends to YouTube. They allow you to watch YouTube videos without Google tracking you.",
"status": "OK",
"links": [
{
"name": "Go to Piped",
"url": "https://piped.private.coffee"
},
{
"name": "Go to Invidious",
"url": "https://invidious.private.coffee",
"alternatives": [
{
"name": "Tor",
"url": "http://invidious.coffee2m3bjsrrqqycx6ghkxrnejl2q6nl7pjw2j4clchjj6uk5zozad.onion"
}
]
}
],
"icon": "video",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "Transfer.coffee",
"url": "https://transfer.coffee",
"short_description": "Transfer files securely using peer-to-peer connections.",
"long_description": "Transfer.coffee allows you to transfer files securely using peer-to-peer connections. Your files are never stored on our servers.",
"status": "OK",
"links": [
{
"name": "Go to Transfer.coffee",
"url": "https://transfer.coffee"
}
],
"icon": "upload",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "MyIP.Coffee",
"url": "https://myip.coffee",
"short_description": "Check your IP address.",
"long_description": "MyIP.Coffee allows you to check your current IPv4 and IPv6 addresses.",
"status": "OK",
"links": [
{
"name": "Go to MyIP.Coffee",
"url": "https://myip.coffee"
}
],
"icon": "network",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "Mastodon",
"url": "https://cuddly.space",
"short_description": "Mastodon is a decentralized social network.",
"long_description": "Mastodon is a decentralized social network. You can use it to post short messages, follow other people, and more.",
"status": "OK",
"links": [
{
"name": "Go to Cuddly Space",
"url": "https://cuddly.space"
},
{
"name": "Go to Skrt Social",
"url": "https://skrt.social"
}
],
"icon": "mastodon-logo",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "Forgejo",
"url": "https://git.private.coffee",
"short_description": "Forgejo is our in-house Git forge.",
"long_description": "Forgejo is our in-house Git forge. You can use it to host your Git repositories, and to collaborate with others.",
"status": "OK",
"links": [
{
"name": "Go to Forgejo",
"url": "https://git.private.coffee"
}
],
"icon": "git-branch",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "BigBlueButton",
"url": "https://bbb.private.coffee",
"short_description": "BigBlueButton is an open-source video conferencing system.",
"long_description": "BigBlueButton is an open-source video conferencing system. You can use it to hold video conferences, webinars, and more.",
"status": "OK",
"links": [
{
"name": "Go to BigBlueButton",
"url": "https://bbb.private.coffee"
}
],
"icon": "webcam",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "HedgeDoc",
"url": "https://hedgedoc.private.coffee",
"short_description": "HedgeDoc is an open-source collaborative markdown editor.",
"long_description": "HedgeDoc is an open-source collaborative markdown editor. You can use it to write and edit documents in markdown, and to collaborate with others.",
"status": "OK",
"links": [
{
"name": "Go to HedgeDoc",
"url": "https://hedgedoc.private.coffee"
}
],
"icon": "markdown-logo",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "redlib",
"url": "https://redlib.private.coffee",
"short_description": "redlib is a privacy-friendly alternative front-end to Reddit.",
"long_description": "redlib is a privacy-friendly alternative front-end to Reddit. It allows you to browse Reddit without being tracked.",
"status": "OK",
"links": [
{
"name": "Go to redlib",
"url": "https://redlib.private.coffee"
}
],
"icon": "chats",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "AllTube",
"url": "https://alltube.private.coffee",
"short_description": "Download videos from YouTube, Vimeo, and more.",
"long_description": "AllTube is a video downloader powered by yt-dlp. It allows you to download videos from YouTube, Vimeo, and many other sites. You can also stream the download through our server for extra privacy.",
"status": "OK",
"links": [
{
"name": "Go to AllTube",
"url": "https://alltube.private.coffee"
}
],
"icon": "video",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "Structables",
"url": "https://structables.private.coffee",
"short_description": "Browse Instructables without being tracked.",
"long_description": "Structables allows you to browse Instructables without being tracked.",
"status": "OK",
"links": [
{
"name": "Go to Structables",
"url": "https://structables.private.coffee"
}
],
"icon": "lightbulb",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "LibreTranslate",
"url": "https://translate.private.coffee",
"short_description": "LibreTranslate is a self-hosted translation service powered by Argos Translate.",
"long_description": "LibreTranslate is a self-hosted translation service powered by Argos Translate. It allows you to translate text between many languages.",
"status": "OK",
"links": [
{
"name": "Go to LibreTranslate",
"url": "https://translate.private.coffee"
}
],
"icon": "translate",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "wishthis",
"url": "https://wishthis.private.coffee",
"short_description": "wishthis is a service for creating wishlists.",
"long_description": "wishthis is a service for creating wishlists. You can use it to create wishlists for yourself, or to share them with others.",
"status": "OK",
"links": [
{
"name": "Go to wishthis",
"url": "https://wishthis.private.coffee"
}
],
"icon": "gift",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "NocoDB",
"url": "https://nocodb.private.coffee",
"short_description": "NocoDB is a self-hosted alternative to Airtable.",
"long_description": "NocoDB is a self-hosted alternative to Airtable. It allows you to create databases and tables, and to view and edit them in a spreadsheet-like interface. (Note: If you are unable to create tables upon registration, simply wait a minute or two, log out and then log in again. Note that your email address will be visible to all registered users!)",
"status": "OK",
"links": [
{
"name": "Go to NocoDB",
"url": "https://nocodb.private.coffee"
}
],
"icon": "database",
"exclude_from_index": true,
"exclude_from_simple": true
},
{
"name": "Penpot",
"url": "https://penpot.private.coffee",
"short_description": "Penpot is an open-source design and prototyping platform.",
"long_description": "Penpot is an open-source design and prototyping platform. It allows you to create designs and prototypes, and to collaborate with others.",
"status": "OK",
"links": [
{
"name": "Go to Penpot",
"url": "https://penpot.private.coffee"
}
],
"icon": "pencil-ruler",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "YOURLS",
"url": "https://pcof.fi",
"short_description": "URL shortener for creating handy links.",
"long_description": "Use our URL shortener at pcof.fi to turn long, complicated URLs into something more handy.",
"status": "OK",
"links": [
{
"name": "Go to pcof.fi",
"url": "https://pcof.fi"
}
],
"icon": "link",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "Rallly",
"url": "https://rallly.private.coffee",
"short_description": "Rallly is a free collaborative scheduling service for voting and polls.",
"long_description": "Rallly is a free collaborative scheduling service. It allows you to create polls and vote on them, similar to Doodle. Pro features are enabled for free after signing in.",
"status": "OK",
"links": [
{
"name": "Go to Rallly",
"url": "https://rallly.private.coffee"
}
],
"icon": "calendar",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "LibreY",
"url": "https://librey.private.coffee",
"short_description": "Privacy-friendly metasearch engine.",
"long_description": "LibreY is an open-source, privacy-friendly metasearch engine. It allows you to search for web, image, video, torrents, and more, and it can also search onion sites.",
"status": "OK",
"links": [
{
"name": "Go to LibreY",
"url": "https://librey.private.coffee"
}
],
"icon": "magnifying-glass",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "Overleaf",
"url": "https://overleaf.private.coffee",
"short_description": "Overleaf is an online LaTeX editor for writing and sharing documents.",
"long_description": "Overleaf is an online LaTeX editor for writing and sharing documents. It allows you to write documents in LaTeX, and to collaborate with others.",
"status": "OK",
"links": [
{
"name": "Go to Overleaf",
"url": "https://overleaf.private.coffee"
}
],
"icon": "leaf",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "GotHub",
"url": "https://gothub.private.coffee",
"short_description": "Alternative GitHub interface that respects privacy.",
"long_description": "Gothub is an alternative GitHub interface that respects your privacy. It is currently in alpha, but you can browse and download repositories, and you can also clone them using git+https (although the text on the main page would disagree).",
"status": "OK",
"links": [
{
"name": "Go to GotHub",
"url": "https://gothub.private.coffee"
}
],
"icon": "git-branch",
"exclude_from_index": false,
"exclude_from_simple": false
},
{
"name": "Binternet",
"url": "https://binternet.private.coffee",
"short_description": "Binternet is a privacy-friendly alternative front-end to Pinterest.",
"long_description": "Binternet is a privacy-friendly alternative front-end to Pinterest. It allows you to browse Pinterest without being tracked.",
"status": "OK",
"links": [
{
"name": "Go to Binternet",
"url": "https://binternet.private.coffee"
}
],
"icon": "images",
"exclude_from_index": false,
"exclude_from_simple": false
}
]
}

830
index.html Normal file
View file

@ -0,0 +1,830 @@
<!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"
/>
<title>Home - Private.coffee</title>
<link rel="stylesheet" href="assets/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="assets/css/base.css" />
</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">
<a href="/"
><img src="assets/img/logo-inv_grad.svg" style="height: 60px"
/></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"
>Empowering Privacy with Open Source</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="https://status.private.coffee/">Status</a></li>
</ul><a class="btn btn-primary shadow navbar-btn" role="button" href="/membership.html">JOIN &amp; SUPPORT</a>
</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>Empowering Privacy with Open Source</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"><img class="mx-auto" src="/assets/img/logo-inv_grad.svg" style="max-width: 400px;width: 80vw;"></div>
</div>
</div>
</header>
<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 self-hosted Services</p>
<h3 class="fw-bold">
Private.coffee provides a collection of services that respect your
privacy.
</h3>
</div>
</div>
<div class="py-5 p-lg-5">
<div
class="row row-cols-1 row-cols-md-2 row-cols-lg-3 mx-auto"
style="max-width: 1200px"
>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<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="fw-bold card-title">Matrix</h5>
<p class="text-muted card-text mb-4">
Private.coffee runs a Matrix server. You can use it to chat with other people at Private.coffee or around the world. Use it with a client of your choice, or use our Element web client.
</p>
<div class="dropdown">
<div class="btn btn-primary shadow">
<a class="main-link" href="https://element.private.coffee">
Go to Element
</a>
<div class="dropdown-toggle-area">&#9660;</div>
</div>
<div class="dropdown-content">
<a href="http://element.coffee2m3bjsrrqqycx6ghkxrnejl2q6nl7pjw2j4clchjj6uk5zozad.onion">Tor</a>
</div>
</div>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<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="fw-bold card-title">CryptPad</h5>
<p class="text-muted card-text mb-4">
CryptPad is a private, encrypted, zero-knowledge, realtime collaborative editor, similar to Google Docs and Office 365.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://cryptpad.private.coffee"
>Go to CryptPad</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<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="fw-bold card-title">Piped / Invidious</h5>
<p class="text-muted card-text mb-4">
Piped and Invidious are alternative front-ends to YouTube. They allow you to watch YouTube videos without Google tracking you.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://piped.private.coffee"
>Go to Piped</a
>
<div class="dropdown">
<div class="btn btn-primary shadow">
<a class="main-link" href="https://invidious.private.coffee">
Go to Invidious
</a>
<div class="dropdown-toggle-area">&#9660;</div>
</div>
<div class="dropdown-content">
<a href="http://invidious.coffee2m3bjsrrqqycx6ghkxrnejl2q6nl7pjw2j4clchjj6uk5zozad.onion">Tor</a>
</div>
</div>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<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="fw-bold card-title">Transfer.coffee</h5>
<p class="text-muted card-text mb-4">
Transfer.coffee allows you to transfer files securely using peer-to-peer connections. Your files are never stored on our servers.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://transfer.coffee"
>Go to Transfer.coffee</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M232,112H136V88h8a16,16,0,0,0,16-16V40a16,16,0,0,0-16-16H112A16,16,0,0,0,96,40V72a16,16,0,0,0,16,16h8v24H24a8,8,0,0,0,0,16H56v32H48a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16H80a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16H72V128H184v32h-8a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16h-8V128h32a8,8,0,0,0,0-16ZM112,40h32V72H112ZM80,208H48V176H80Zm128,0H176V176h32Z"></path></svg>
</div>
<h5 class="fw-bold card-title">MyIP.Coffee</h5>
<p class="text-muted card-text mb-4">
MyIP.Coffee allows you to check your current IPv4 and IPv6 addresses.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://myip.coffee"
>Go to MyIP.Coffee</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M184,32H72A40,40,0,0,0,32,72V192a40,40,0,0,0,40,40h88a8,8,0,0,0,0-16H72a24,24,0,0,1-24-24v-8H184a40,40,0,0,0,40-40V72A40,40,0,0,0,184,32Zm24,112a24,24,0,0,1-24,24H48V72A24,24,0,0,1,72,48H184a24,24,0,0,1,24,24Zm-24-40v32a8,8,0,0,1-16,0V104a16,16,0,0,0-32,0v32a8,8,0,0,1-16,0V104a16,16,0,0,0-32,0v32a8,8,0,0,1-16,0V104a32,32,0,0,1,56-21.13A32,32,0,0,1,184,104Z"></path></svg>
</div>
<h5 class="fw-bold card-title">Mastodon</h5>
<p class="text-muted card-text mb-4">
Mastodon is a decentralized social network. You can use it to post short messages, follow other people, and more.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://cuddly.space"
>Go to Cuddly Space</a
>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://skrt.social"
>Go to Skrt Social</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<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="fw-bold card-title">Forgejo</h5>
<p class="text-muted card-text mb-4">
Forgejo is our in-house Git forge. You can use it to host your Git repositories, and to collaborate with others.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://git.private.coffee"
>Go to Forgejo</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<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="fw-bold card-title">BigBlueButton</h5>
<p class="text-muted card-text mb-4">
BigBlueButton is an open-source video conferencing system. You can use it to hold video conferences, webinars, and more.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://bbb.private.coffee"
>Go to BigBlueButton</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M232,48H24A16,16,0,0,0,8,64V192a16,16,0,0,0,16,16H232a16,16,0,0,0,16-16V64A16,16,0,0,0,232,48Zm0,144H24V64H232V192ZM128,104v48a8,8,0,0,1-16,0V123.31L93.66,141.66a8,8,0,0,1-11.32,0L64,123.31V152a8,8,0,0,1-16,0V104a8,8,0,0,1,13.66-5.66L88,124.69l26.34-26.35A8,8,0,0,1,128,104Zm77.66,18.34a8,8,0,0,1,0,11.32l-24,24a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L168,132.69V104a8,8,0,0,1,16,0v28.69l10.34-10.35A8,8,0,0,1,205.66,122.34Z"></path></svg>
</div>
<h5 class="fw-bold card-title">HedgeDoc</h5>
<p class="text-muted card-text mb-4">
HedgeDoc is an open-source collaborative markdown editor. You can use it to write and edit documents in markdown, and to collaborate with others.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://hedgedoc.private.coffee"
>Go to HedgeDoc</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M216,80H184V48a16,16,0,0,0-16-16H40A16,16,0,0,0,24,48V176a8,8,0,0,0,13,6.22L72,154V184a16,16,0,0,0,16,16h93.59L219,230.22a8,8,0,0,0,5,1.78,8,8,0,0,0,8-8V96A16,16,0,0,0,216,80ZM66.55,137.78,40,159.25V48H168v88H71.58A8,8,0,0,0,66.55,137.78ZM216,207.25l-26.55-21.47a8,8,0,0,0-5-1.78H88V152h80a16,16,0,0,0,16-16V96h32Z"></path></svg>
</div>
<h5 class="fw-bold card-title">redlib</h5>
<p class="text-muted card-text mb-4">
redlib is a privacy-friendly alternative front-end to Reddit. It allows you to browse Reddit without being tracked.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://redlib.private.coffee"
>Go to redlib</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<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="fw-bold card-title">AllTube</h5>
<p class="text-muted card-text mb-4">
AllTube is a video downloader powered by yt-dlp. It allows you to download videos from YouTube, Vimeo, and many other sites. You can also stream the download through our server for extra privacy.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://alltube.private.coffee"
>Go to AllTube</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M176,232a8,8,0,0,1-8,8H88a8,8,0,0,1,0-16h80A8,8,0,0,1,176,232Zm40-128a87.55,87.55,0,0,1-33.64,69.21A16.24,16.24,0,0,0,176,186v6a16,16,0,0,1-16,16H96a16,16,0,0,1-16-16v-6a16,16,0,0,0-6.23-12.66A87.59,87.59,0,0,1,40,104.49C39.74,56.83,78.26,17.14,125.88,16A88,88,0,0,1,216,104Zm-16,0a72,72,0,0,0-73.74-72c-39,.92-70.47,33.39-70.26,72.39a71.65,71.65,0,0,0,27.64,56.3A32,32,0,0,1,96,186v6h64v-6a32.15,32.15,0,0,1,12.47-25.35A71.65,71.65,0,0,0,200,104Zm-16.11-9.34a57.6,57.6,0,0,0-46.56-46.55,8,8,0,0,0-2.66,15.78c16.57,2.79,30.63,16.85,33.44,33.45A8,8,0,0,0,176,104a9,9,0,0,0,1.35-.11A8,8,0,0,0,183.89,94.66Z"></path></svg>
</div>
<h5 class="fw-bold card-title">Structables</h5>
<p class="text-muted card-text mb-4">
Structables allows you to browse Instructables without being tracked.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://structables.private.coffee"
>Go to Structables</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M247.15,212.42l-56-112a8,8,0,0,0-14.31,0l-21.71,43.43A88,88,0,0,1,108,126.93,103.65,103.65,0,0,0,135.69,64H160a8,8,0,0,0,0-16H104V32a8,8,0,0,0-16,0V48H32a8,8,0,0,0,0,16h87.63A87.76,87.76,0,0,1,96,116.35a87.74,87.74,0,0,1-19-31,8,8,0,1,0-15.08,5.34A103.63,103.63,0,0,0,84,127a87.55,87.55,0,0,1-52,17,8,8,0,0,0,0,16,103.46,103.46,0,0,0,64-22.08,104.18,104.18,0,0,0,51.44,21.31l-26.6,53.19a8,8,0,0,0,14.31,7.16L148.94,192h70.11l13.79,27.58A8,8,0,0,0,240,224a8,8,0,0,0,7.15-11.58ZM156.94,176,184,121.89,211.05,176Z"></path></svg>
</div>
<h5 class="fw-bold card-title">LibreTranslate</h5>
<p class="text-muted card-text mb-4">
LibreTranslate is a self-hosted translation service powered by Argos Translate. It allows you to translate text between many languages.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://translate.private.coffee"
>Go to LibreTranslate</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M216,72H180.92c.39-.33.79-.65,1.17-1A29.53,29.53,0,0,0,192,49.57,32.62,32.62,0,0,0,158.44,16,29.53,29.53,0,0,0,137,25.91a54.94,54.94,0,0,0-9,14.48,54.94,54.94,0,0,0-9-14.48A29.53,29.53,0,0,0,97.56,16,32.62,32.62,0,0,0,64,49.57,29.53,29.53,0,0,0,73.91,71c.38.33.78.65,1.17,1H40A16,16,0,0,0,24,88v32a16,16,0,0,0,16,16v64a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V136a16,16,0,0,0,16-16V88A16,16,0,0,0,216,72ZM149,36.51a13.69,13.69,0,0,1,10-4.5h.49A16.62,16.62,0,0,1,176,49.08a13.69,13.69,0,0,1-4.5,10c-9.49,8.4-25.24,11.36-35,12.4C137.7,60.89,141,45.5,149,36.51Zm-64.09.36A16.63,16.63,0,0,1,96.59,32h.49a13.69,13.69,0,0,1,10,4.5c8.39,9.48,11.35,25.2,12.39,34.92-9.72-1-25.44-4-34.92-12.39a13.69,13.69,0,0,1-4.5-10A16.6,16.6,0,0,1,84.87,36.87ZM40,88h80v32H40Zm16,48h64v64H56Zm144,64H136V136h64Zm16-80H136V88h80v32Z"></path></svg>
</div>
<h5 class="fw-bold card-title">wishthis</h5>
<p class="text-muted card-text mb-4">
wishthis is a service for creating wishlists. You can use it to create wishlists for yourself, or to share them with others.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://wishthis.private.coffee"
>Go to wishthis</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M208,32H160a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H160V176h24a8,8,0,0,0,0-16H160V136h24a8,8,0,0,0,0-16H160V96h24a8,8,0,0,0,0-16H160V48h48V208ZM77.66,26.34a8,8,0,0,0-11.32,0l-32,32A8,8,0,0,0,32,64V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V64a8,8,0,0,0-2.34-5.66ZM48,176V80H64v96ZM80,80H96v96H80ZM72,43.31,92.69,64H51.31ZM48,208V192H96v16Z"></path></svg>
</div>
<h5 class="fw-bold card-title">Penpot</h5>
<p class="text-muted card-text mb-4">
Penpot is an open-source design and prototyping platform. It allows you to create designs and prototypes, and to collaborate with others.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://penpot.private.coffee"
>Go to Penpot</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"></path></svg>
</div>
<h5 class="fw-bold card-title">YOURLS</h5>
<p class="text-muted card-text mb-4">
Use our URL shortener at pcof.fi to turn long, complicated URLs into something more handy.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://pcof.fi"
>Go to pcof.fi</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M208,32H184V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,48v8a8,8,0,0,0,16,0V48h80v8a8,8,0,0,0,16,0V48h24V80H48V48ZM208,208H48V96H208V208Zm-96-88v64a8,8,0,0,1-16,0V132.94l-4.42,2.22a8,8,0,0,1-7.16-14.32l16-8A8,8,0,0,1,112,120Zm59.16,30.45L152,176h16a8,8,0,0,1,0,16H136a8,8,0,0,1-6.4-12.8l28.78-38.37A8,8,0,1,0,145.07,132a8,8,0,1,1-13.85-8A24,24,0,0,1,176,136,23.76,23.76,0,0,1,171.16,150.45Z"></path></svg>
</div>
<h5 class="fw-bold card-title">Rallly</h5>
<p class="text-muted card-text mb-4">
Rallly is a free collaborative scheduling service. It allows you to create polls and vote on them, similar to Doodle. Pro features are enabled for free after signing in.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://rallly.private.coffee"
>Go to Rallly</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z"></path></svg>
</div>
<h5 class="fw-bold card-title">LibreY</h5>
<p class="text-muted card-text mb-4">
LibreY is an open-source, privacy-friendly metasearch engine. It allows you to search for web, image, video, torrents, and more, and it can also search onion sites.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://librey.private.coffee"
>Go to LibreY</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M223.45,40.07a8,8,0,0,0-7.52-7.52C139.8,28.08,78.82,51,52.82,94a87.09,87.09,0,0,0-12.76,49c.57,15.92,5.21,32,13.79,47.85l-19.51,19.5a8,8,0,0,0,11.32,11.32l19.5-19.51C81,210.73,97.09,215.37,113,215.94q1.67.06,3.33.06A86.93,86.93,0,0,0,162,203.18C205,177.18,227.93,116.21,223.45,40.07ZM153.75,189.5c-22.75,13.78-49.68,14-76.71.77l88.63-88.62a8,8,0,0,0-11.32-11.32L65.73,179c-13.19-27-13-54,.77-76.71,22.09-36.47,74.6-56.44,141.31-54.06C210.2,114.89,190.22,167.41,153.75,189.5Z"></path></svg>
</div>
<h5 class="fw-bold card-title">Overleaf</h5>
<p class="text-muted card-text mb-4">
Overleaf is an online LaTeX editor for writing and sharing documents. It allows you to write documents in LaTeX, and to collaborate with others.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://overleaf.private.coffee"
>Go to Overleaf</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<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="fw-bold card-title">GotHub</h5>
<p class="text-muted card-text mb-4">
Gothub is an alternative GitHub interface that respects your privacy. It is currently in alpha, but you can browse and download repositories, and you can also clone them using git+https (although the text on the main page would disagree).
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://gothub.private.coffee"
>Go to GotHub</a
>
</div>
</div>
</div>
<div class="col mb-5">
<div class="card shadow-sm">
<div class="card-body px-4 py-5 px-md-5">
<div
class="bs-icon-lg d-flex justify-content-center align-items-center mb-3 bs-icon"
style="top: 1rem; right: 1rem; position: absolute"
>
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M216,40H72A16,16,0,0,0,56,56V72H40A16,16,0,0,0,24,88V200a16,16,0,0,0,16,16H184a16,16,0,0,0,16-16V184h16a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM72,56H216v62.75l-10.07-10.06a16,16,0,0,0-22.63,0l-20,20-44-44a16,16,0,0,0-22.62,0L72,109.37ZM184,200H40V88H56v80a16,16,0,0,0,16,16H184Zm32-32H72V132l36-36,49.66,49.66a8,8,0,0,0,11.31,0L194.63,120,216,141.38V168ZM160,84a12,12,0,1,1,12,12A12,12,0,0,1,160,84Z"></path></svg>
</div>
<h5 class="fw-bold card-title">Binternet</h5>
<p class="text-muted card-text mb-4">
Binternet is a privacy-friendly alternative front-end to Pinterest. It allows you to browse Pinterest without being tracked.
</p>
<a
class="btn btn-primary shadow w-100 text-center"
href="https://binternet.private.coffee"
>Go to Binternet</a
>
</div>
</div>
</div>
</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">support@private.coffee</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"><svg xmlns="http://www.w3.org/2000/svg" width="94" height="20" role="img" aria-label="LGBTIQ+">
<title>LGBTIQ+</title>
<rect rx="3" width="94" height="20" fill="#555"/>
<rect x="37" width="57" height="20" fill="#e05d44"/>
<rect x="46.5" width="47.5" height="20" fill="#fecc00"/>
<rect x="56" width="37" height="20" fill="#61c354"/>
<rect x="65.5" width="27" height="20" fill="#007ec6"/>
<rect x="75" width="17" height="20" fill="#744ca1"/>
<rect x="84.5" width="9.5" height="20" rx="3" ry="3" fill="#8b00ff"/>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="18.5" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></p>
</div>
</footer>
</body>
</html>

151
legal.html Normal file
View file

@ -0,0 +1,151 @@
<!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"
/>
<title>Legal Notice - Private.coffee</title>
<link rel="stylesheet" href="assets/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="assets/css/base.css" />
</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">
<a href="/"
><img src="assets/img/logo-inv_grad.svg" style="height: 60px"
/></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"
>Empowering Privacy with Open Source</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="https://status.private.coffee/">Status</a></li>
</ul><a class="btn btn-primary shadow navbar-btn" role="button" href="/membership.html">JOIN &amp; SUPPORT</a>
</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>
</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"><svg xmlns="http://www.w3.org/2000/svg" width="94" height="20" role="img" aria-label="LGBTIQ+">
<title>LGBTIQ+</title>
<rect rx="3" width="94" height="20" fill="#555"/>
<rect x="37" width="57" height="20" fill="#e05d44"/>
<rect x="46.5" width="47.5" height="20" fill="#fecc00"/>
<rect x="56" width="37" height="20" fill="#61c354"/>
<rect x="65.5" width="27" height="20" fill="#007ec6"/>
<rect x="75" width="17" height="20" fill="#744ca1"/>
<rect x="84.5" width="9.5" height="20" rx="3" ry="3" fill="#8b00ff"/>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="18.5" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></p>
</div>
</footer>
</body>
</html>

246
membership.html Normal file
View file

@ -0,0 +1,246 @@
<!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"
/>
<title>Membership / Donations - Private.coffee</title>
<link rel="stylesheet" href="assets/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="assets/css/base.css" />
</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">
<a href="/"
><img src="assets/img/logo-inv_grad.svg" style="height: 60px"
/></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"
>Empowering Privacy with Open Source</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="https://status.private.coffee/">Status</a></li>
</ul><a class="btn btn-primary shadow navbar-btn" role="button" href="/membership.html">JOIN &amp; SUPPORT</a>
</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-4 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-4 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-4 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 July 2024</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">Bitcoin (BTC)</th><th class="currency-col" scope="col">Monero (XMR)</th>
</tr>
</thead>
<tbody>
<tr><td>Account Balance (start of month)</td><td>+ €88.04</td><td>+ 0.000434000 BTC</td><td>+ 0.447661806 XMR</td></tr><tr><td>Membership Fees</td><td>+ €395.00</td><td></td><td></td></tr><tr><td>Server Costs</td><td>- €32.72</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €395.00</b></td><td><b>0.000000000 BTC</b></td><td><b>0.000000000 XMR</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €32.72</b></td><td><b>0.000000000 BTC</b></td><td><b>0.000000000 XMR</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €450.32</b></td><td><b>+ 0.000434000 BTC</b></td><td><b>+ 0.447661806 XMR</b></td></tr>
</tbody>
</table>
</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"><svg xmlns="http://www.w3.org/2000/svg" width="94" height="20" role="img" aria-label="LGBTIQ+">
<title>LGBTIQ+</title>
<rect rx="3" width="94" height="20" fill="#555"/>
<rect x="37" width="57" height="20" fill="#e05d44"/>
<rect x="46.5" width="47.5" height="20" fill="#fecc00"/>
<rect x="56" width="37" height="20" fill="#61c354"/>
<rect x="65.5" width="27" height="20" fill="#007ec6"/>
<rect x="75" width="17" height="20" fill="#744ca1"/>
<rect x="84.5" width="9.5" height="20" rx="3" ry="3" fill="#8b00ff"/>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="18.5" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></p>
</div>
</footer>
</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"} 450.32
privatecoffee_balance{currency="BTC"} 0.000434
privatecoffee_balance{currency="XMR"} 0.447661805527

298
privacy.html Normal file
View file

@ -0,0 +1,298 @@
<!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"
/>
<title>Privacy Policy - Private.coffee</title>
<link rel="stylesheet" href="assets/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="assets/css/base.css" />
</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">
<a href="/"
><img src="assets/img/logo-inv_grad.svg" style="height: 60px"
/></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"
>Empowering Privacy with Open Source</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="https://status.private.coffee/">Status</a></li>
</ul><a class="btn btn-primary shadow navbar-btn" role="button" href="/membership.html">JOIN &amp; SUPPORT</a>
</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"><svg xmlns="http://www.w3.org/2000/svg" width="94" height="20" role="img" aria-label="LGBTIQ+">
<title>LGBTIQ+</title>
<rect rx="3" width="94" height="20" fill="#555"/>
<rect x="37" width="57" height="20" fill="#e05d44"/>
<rect x="46.5" width="47.5" height="20" fill="#fecc00"/>
<rect x="56" width="37" height="20" fill="#61c354"/>
<rect x="65.5" width="27" height="20" fill="#007ec6"/>
<rect x="75" width="17" height="20" fill="#744ca1"/>
<rect x="84.5" width="9.5" height="20" rx="3" ry="3" fill="#8b00ff"/>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="18.5" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></p>
</div>
</footer>
</body>
</html>

6
prod-warning.html Normal file
View file

@ -0,0 +1,6 @@
<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>

110
simple.html Normal file
View file

@ -0,0 +1,110 @@
<!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://piped.private.coffee">Piped / Invidious</a> - Watch YouTube videos without Google tracking.</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://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://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://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://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://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://translate.private.coffee">LibreTranslate</a> - LibreTranslate is a self-hosted translation service powered by Argos Translate.</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 wishlists.</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://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://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>
</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>

265
terms.html Normal file
View file

@ -0,0 +1,265 @@
<!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"
/>
<title>Terms of Service - Private.coffee</title>
<link rel="stylesheet" href="assets/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="assets/css/base.css" />
</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">
<a href="/"
><img src="assets/img/logo-inv_grad.svg" style="height: 60px"
/></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"
>Empowering Privacy with Open Source</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="https://status.private.coffee/">Status</a></li>
</ul><a class="btn btn-primary shadow navbar-btn" role="button" href="/membership.html">JOIN &amp; SUPPORT</a>
</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"><svg xmlns="http://www.w3.org/2000/svg" width="94" height="20" role="img" aria-label="LGBTIQ+">
<title>LGBTIQ+</title>
<rect rx="3" width="94" height="20" fill="#555"/>
<rect x="37" width="57" height="20" fill="#e05d44"/>
<rect x="46.5" width="47.5" height="20" fill="#fecc00"/>
<rect x="56" width="37" height="20" fill="#61c354"/>
<rect x="65.5" width="27" height="20" fill="#007ec6"/>
<rect x="75" width="17" height="20" fill="#744ca1"/>
<rect x="84.5" width="9.5" height="20" rx="3" ry="3" fill="#8b00ff"/>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="18.5" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></p>
</div>
</footer>
</body>
</html>

205
transparency.html Normal file
View file

@ -0,0 +1,205 @@
<!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"
/>
<title>Membership / Donations - Private.coffee</title>
<link rel="stylesheet" href="assets/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="assets/css/base.css" />
</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">
<a href="/"
><img src="assets/img/logo-inv_grad.svg" style="height: 60px"
/></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"
>Empowering Privacy with Open Source</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="https://status.private.coffee/">Status</a></li>
</ul><a class="btn btn-primary shadow navbar-btn" role="button" href="/membership.html">JOIN &amp; SUPPORT</a>
</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="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">Bitcoin (BTC)</th><th class="currency-col" scope="col">Monero (XMR)</th>
</tr>
</thead>
<tbody>
<tr><td>Account Balance (start of month)</td><td>+ €88.04</td><td>+ 0.000434000 BTC</td><td>+ 0.447661806 XMR</td></tr><tr><td>Membership Fees</td><td>+ €395.00</td><td></td><td></td></tr><tr><td>Server Costs</td><td>- €32.72</td><td></td><td></td></tr><tr class="table-secondary"><td><b>Total Income</b></td><td><b>+ €395.00</b></td><td><b>0.000000000 BTC</b></td><td><b>0.000000000 XMR</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €32.72</b></td><td><b>0.000000000 BTC</b></td><td><b>0.000000000 XMR</b></td></tr><tr class="table-secondary"><td><b>Account Balance (end of month)</b></td><td><b>+ €450.32</b></td><td><b>+ 0.000434000 BTC</b></td><td><b>+ 0.447661806 XMR</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">Bitcoin (BTC)</th><th class="currency-col" scope="col">Monero (XMR)</th>
</tr>
</thead>
<tbody>
<tr><td>Account Balance (start of month)</td><td>+ €72.29</td><td>+ 0.000434000 BTC</td><td>+ 0.447661806 XMR</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 BTC</b></td><td><b>0.000000000 XMR</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €366.67</b></td><td><b>0.000000000 BTC</b></td><td><b>0.000000000 XMR</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.000434000 BTC</b></td><td><b>+ 0.447661806 XMR</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">Bitcoin (BTC)</th><th class="currency-col" scope="col">Monero (XMR)</th>
</tr>
</thead>
<tbody>
<tr><td>Account Balance (start of month)</td><td>+ €112.33</td><td>0.000000000 BTC</td><td>0.000000000 XMR</td></tr><tr><td>Membership Fees</td><td>+ €390.00</td><td></td><td></td></tr><tr><td>Donations</td><td></td><td>+ 0.000434000 BTC</td><td>+ 0.447661806 XMR</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.000434000 BTC</b></td><td><b>+ 0.447661806 XMR</b></td></tr><tr class="table-secondary"><td><b>Total Expenses</b></td><td><b>- €430.04</b></td><td><b>0.000000000 BTC</b></td><td><b>0.000000000 XMR</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.000434000 BTC</b></td><td><b>+ 0.447661806 XMR</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><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"><svg xmlns="http://www.w3.org/2000/svg" width="94" height="20" role="img" aria-label="LGBTIQ+">
<title>LGBTIQ+</title>
<rect rx="3" width="94" height="20" fill="#555"/>
<rect x="37" width="57" height="20" fill="#e05d44"/>
<rect x="46.5" width="47.5" height="20" fill="#fecc00"/>
<rect x="56" width="37" height="20" fill="#61c354"/>
<rect x="65.5" width="27" height="20" fill="#007ec6"/>
<rect x="75" width="17" height="20" fill="#744ca1"/>
<rect x="84.5" width="9.5" height="20" rx="3" ry="3" fill="#8b00ff"/>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="8">
<text x="18.5" y="15" fill="#fff">LGBTIQ+</text>
</g>
</svg></p>
</div>
</footer>
</body>
</html>