~mpldr/website

7d8b2e92be926da2998428cbbc448d1399e14fc9 — Moritz Poldrack 10 months ago f6215c9
update all the boring stuff
M content/container-policy.md => content/container-policy.md +2 -2
@@ 17,11 17,11 @@ to help out.
If you are looking for a platform to host your images on, I suggest *strongly*
you give them a try. Working with [Harbor](https://goharbor.io/) is
<u>amazing</u>. They also provide a pay-as-you-go version through
[Exoscale](https://container-registry.com/exoscale/)
[Exoscale](https://container-registry.com/exoscale/).

## Tags

Containers have the following tags:
Containers usually have the following tags:
- `latest` (the latest tagged version)
- `devel` (the latest commit built)
- `1`…`n` (matching a major version in a project following [SemVer](https://semver.org/))

M content/legal/cookies.md => content/legal/cookies.md +27 -19
@@ 6,33 6,41 @@ type: "post"
summary: "None. At least not in most of the website."
---

# What cookies are there?
## What cookies are used on this website?

None. At least not in most of the website.
None.

Most of this website is just static HTML. There is simply no reason for cookies
in the first place.
## What cookies are used on affiliated websites?

## Most?
This list is intended as a general overview and should not be considered
up-to-date. It is my strict policy to only use cookies that are technically
required. If you find any kind of discrepancy, please contact me so I can
remedy it.

Yes, most.
### id.moritz.sh

### donate/
CSRF and Session cookies.[^1]

Stripe adds some cookies for payment safety. These are pretty much essential and
therefore allowed to be used without further notice.
### schedule.moritz.sh, linkwarden.moritz.sh

When you log in to manage your payments, you will also get a session cookie, so
your logged-in status can be communicated to the server.
CSRF and Session cookies.

<!--
### personal/cloud/
Also, a cookie containing the callback URL that is used during login, so the
front end can access it.

Sets the cookie `vfm_*` which contains the session-id used by the
veno-file-manager. It is not used for anything but assigning you a session.
### pad.moritz.sh

### personal/docs/
A connection ID, session, userID, and CSRF token. All required for the proper
operation of the application.

Sets the cookie `DokuWiki` which contains the session-id used by the software
of the same name. It is not used for anything but assigning you a session.
-->
### abs.moritz.sh

A session ID.

[^1]: These cookies are necessary for technical reasons and therefore do not
      require consent (see Art. 6 §§ 1a and 1b of the GDPR).

#### Pages hosted on my infrastructure by others

It is not possible for me to accurately assess and enumerate cookies on their
sites. Please refer to their websites.

M content/legal/privacy.md => content/legal/privacy.md +70 -19
@@ 9,38 9,89 @@ summary: "I care about privacy"
I care about privacy and therefore do not use Tracker or anything else. The only
data collected is the necessary minimum to allow the website to be served.

# What data is collected?
## What data is collected?

- your IP address
- your anonymised IP address
- the time of your connection
- the page you requested
- the UserAgent of your browser
- what content you have requested
- how the browser responded

# Why is this data collected
## Why is this data collected

- IP
	- the server needs your IP to send you the bytes of the page you
	requested
	- the server needs your IP to send you the bytes of the page you requested
- Time
	- this is collected in normal logging procedures
- Page
- Path
	- the server needs to know what data is requested
- UserAgent
	- to detect suspicious requests
- Response data
	- for debugging purposes

# Storage
## Storage

All of the above data is stored in a logfile that is only readable by the
administrator of the webserver (me). An automated analysis of the logfile is
All of the above data is stored in a log file that is only readable by the
administrator of the webserver (me). An automated analysis of the log file is
performed in realtime to protect the server from a range of attacks. The
logfiles are rotated and removed automatically after a while.
log files are rotated and removed automatically after a while and removed after
a maximum retention of one month, usually far before that though.

## Example

```
123.45.6.78 - - [21/Jan/2021:17:24:35 +0100] "GET /legal/privacy/ HTTP/2.0" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0" "-"
{
	"level":"info",
	"ts":1705006629.780491,
	"logger":"http.log.access.log1",
	"msg":"handled request",
	"request":{
		"remote_ip":"155.133.202.0",
		"remote_port":"58706",
		"proto":"HTTP/2.0",
		"method":"GET",
		"host":"moritz.sh",
		"uri":"/legal/site-notice/",
		"headers":{
			"Upgrade-Insecure-Requests":["1"],
			"Sec-Fetch-Dest":["document"],
			"Sec-Fetch-Site":["same-origin"],
			"Sec-Fetch-User":["?1"],
			"Te":["trailers"],
			"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"],
			"Accept-Language":["en-US,en;q=0.5"],
			"Cookie":[],
			"Dnt":["1"],
			"Sec-Fetch-Mode":["navigate"],
			"User-Agent":["Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0"],
			"Accept-Encoding":["gzip, deflate, br"],
			"Referer":["https://moritz.sh/legal/"]},
			"tls":{
				"resumed":false,
				"version":772,
				"cipher_suite":4865,
				"proto":"h2",
				"server_name":"moritz.sh"
			}
	},
	"user_id":"",
	"duration":0.002100506,
	"size":1836,
	"status":200,
	"resp_headers":{
		"Access-Control-Max-Age":["86400"],
		"Etag":["\"s5jqcf3bt\""],
		"Content-Type":["text/html; charset=utf-8"],
		"X-Frame-Options":["DENY"],
		"preload;":[""],
		"Access-Control-Allow-Origin":["https://moritz.sh,https://*.moritz.sh,https://poldrack.dev,https://*.poldrack.dev"],
		"Server":["Caddy"],
		"Alt-Svc":["h3=\":443\"; ma=2592000"],
		"Permissions-Policy":["interest-cohort=()"],
		"X-Content-Type-Options":["nosniff"],
		"Referrer-Policy":["no-referrer-when-downgrade"],
		"Access-Control-Allow-Methods":["HEAD,GET"],
		"Last-Modified":["Tue, 12 Dec 2023 09:00:15 GMT"],
		"Content-Encoding":["gzip"],
		"Vary":["Accept-Encoding"]
	}
}
```

# Donation Page

The [donation page](https://donate.moritz.sh/) uses Stripe for payment processing. You can find their Privacy Policy [here](https://stripe.com/de/privacy) and it's german translation [here](https://stripe.com/de/privacy#translation)

M content/legal/site-notice.md => content/legal/site-notice.md +15 -6
@@ 6,29 6,38 @@ type: "post"
summary: "This website is made and hosted by"
---

# Information pursuant to Sect. 5 German Telemedia Act (TMG)
## Information pursuant to Sect. 5 German Telemedia Act (TMG)

This website is made and hosted by

```
Moritz Poldrack
*** Address redacted ***
Baudaer Str. 5
01561 Großenhain
Germany
```

The email-adress may be found on the homepage. To turn it into a valid email you
have to reverse the text and replace the first `.` (dot) with the character
Please prefer sending gifts and bribes with DHL, other services have had…
issues in the past.

The email-address may be found on the homepage. To turn it into a valid email
you have to reverse the text and replace the first `.` (dot) with the character
`@` (at).

Alternatively you may contact me on matrix, where I am available under
the username @moritz:moritz.sh

# Liability for Contents
## Liability for Contents

I take no liability for content out of the scope of this website and websites I
control. If you find content that you think may infringe on your rights, please
let me know and I will respond in a timely manner.

# Copyright
To ensure a high priority, please send your mail to
[abuse@moritz.poldrack.dev](mailto:abuse@moritz.poldrack.dev) instead of the
regular contact address.

## Copyright

Contents published on this website are subject to German copyright laws. It is
published under a creative commons license (CC-BY), if not stated otherwise.

M themes/hugo-98/static/css/custom.css => themes/hugo-98/static/css/custom.css +4 -0
@@ 26,3 26,7 @@ p > code {
	background-color: #f0f0f0;
	padding: 0 2px;
}

pre {
	overflow: auto;
}