Compare commits

..

1 commit

Author SHA1 Message Date
43e8288577 feat: Adds blog post for Selfhosting Usergroup meetup
Some checks failed
/ build (pull_request) Failing after 17s
/ cleanup-staging (pull_request) Failing after 2s
2026-04-08 20:53:32 +02:00
34 changed files with 187 additions and 546 deletions

View file

@ -20,4 +20,4 @@ jobs:
echo "${{ secrets.SSH_KNOWN_HOSTS_FILE }}" > ./known_hosts
- name: Staging Deployment - Remove PR from staging
run: |
ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts' ccchh-website-deploy@public-web-static.hosts.hamburg.ccc.de -t "rm -r /var/www/staging.hamburg.ccc.de/pr${{ github.event.pull_request.number }}/"
ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts' ccchh-website-deploy@public-web-static-intern.hamburg.ccc.de -t "rm -r /var/www/staging.hamburg.ccc.de/pr${{ github.event.pull_request.number }}/"

View file

@ -29,7 +29,7 @@ jobs:
# For uploading.
apk add rsync openssh
- uses: actions/checkout@v7
- uses: actions/checkout@v6
with:
fetch-depth: 0 # pull full history for page lastmod by git commit date
@ -52,13 +52,13 @@ jobs:
run: |
echo "${{ secrets.SSH_DEPLOY_KEY }}" > deploykey.priv
chmod 400 deploykey.priv
echo "${{ vars.SSH_KNOWN_HOSTS }}" > ./known_hosts
echo "${{ secrets.SSH_KNOWN_HOSTS_FILE }}" > ./known_hosts
- name: Deploy - Upload PR to staging
if: github.event_name == 'pull_request'
run: |
echo "Deploying to staging.hamburg.ccc.de/pr${{ github.event.pull_request.number }}"
rsync -v -r --delete -e "ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts'" public/ ccchh-website-deploy@public-web-static.hosts.hamburg.ccc.de:/var/www/staging.hamburg.ccc.de/pr${{ github.event.pull_request.number }}/
rsync -v -r --delete -e "ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts'" public/ ccchh-website-deploy@public-web-static-intern.hamburg.ccc.de:/var/www/staging.hamburg.ccc.de/pr${{ github.event.pull_request.number }}/
- name: Deploy - Add comment to PR with staging URL
if: github.event_name == 'pull_request' && github.event.action == 'opened'
run: |
@ -72,7 +72,7 @@ jobs:
- name: Deploy - Upload to prod
if: (github.event_name == 'push' || github.event_name == 'schedule') && github.ref_name == 'main'
run: |
rsync -v -r --delete -e "ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts'" public/ ccchh-website-deploy@public-web-static.hosts.hamburg.ccc.de:/var/www/hamburg.ccc.de/
rsync -v -r --delete -e "ssh -i deploykey.priv -o 'UserKnownHostsFile ./known_hosts'" public/ ccchh-website-deploy@public-web-static-intern.hamburg.ccc.de:/var/www/hamburg.ccc.de/
- uses: actions/upload-artifact@v3
if: github.event_name == 'pull_request'

38
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,38 @@
variables:
TZ: Europe/Berlin
stages:
- build
- deploy
build-website:
stage: build
image: registry.gitlab.com/pages/hugo/hugo_extended:latest
before_script:
- apk update
- apk add tzdata coreutils curl jq git
script:
- ./fetch-calendar.sh
- sed -i "s#baseURL = 'https://hamburg.ccc.de/'#baseURL = 'https://next.hamburg.ccc.de/'#" hugo.toml
- hugo
artifacts:
untracked: true
expose_as: "website build"
name: "website-build-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
paths:
- public/
expire_in: 1 hrs
deploy-website:
stage: deploy
image: alpine
before_script:
- apk update
- apk add rsync openssh
script:
- chmod 400 $NEXT_SSH_DEPLOY_KEY
- rsync -r --delete -e "ssh -i $NEXT_SSH_DEPLOY_KEY -o 'UserKnownHostsFile $SSH_KNOWN_HOSTS_FILE'" public/ ccchh-website-deploy@public-web-static-intern.hamburg.ccc.de:/var/www/next.hamburg.ccc.de/
rules:
- if: $CI_COMMIT_BRANCH == "main"
when: on_success
- when: never

View file

@ -29,60 +29,25 @@ To populate the calendar data, please run `./fetch-calendar.sh` before running h
Running the hugo command without and parameters will re-generate the site in the `public` directory.
To deploy the website, just copy the whole folder to a directory which is servered by the webserver of your preference.
Please note that the website should be re-deployed at least daily to update the "announcement" section on the front page even if there were no changed to the content.
See [Automated Deployment](#automated-deployment) for the way the deployment is set up on git.hamburg.ccc.de
Please note, that the website should be re-deployed at least daily to update the "announcement" section on the front page even if there were no changed to the content.
### Previewing Changes Locally
### Add Pages
To run a local version, just install HUGO by following the [instructions](https://gohugo.io/installation/) for your operating system.
To build the website and run a development webserver, execute:
```shell
hugo server --buildFuture --buildDrafts
hugo server
```
Note: the flags `--buildFuture --buildDrafts` makes Hugo process all content, even if the `publishDate` is still in the future, or the content is marked as `draft: true` in the frontmatter.
You usually want these flags, especially if you are preparing content that should only be shown after a certain date.
Also see [Submitting Your Content](#submitting-your-content) below.
### Adding Content
There are two basic types of posts: Events and blog posts.
Hugo and the template set distinguish between these two types based on frontmatter information.
When manually creating content, you need to take extra care to use the correct frontmatter data.
See the link to the Hugo archetypes below for details.
**If at all possible, use `hugo new content` with the appropriate parameters to create the new content file correctly.**
You should always set these frontmatter fields:
* `categories`: must be either `article` or `event`; see below.
* `date`: the date displayed for this content.
For events, that should be when the event takes place; for blog posts, it is when the post was written.
* `publishDate`: the date and time the content should be published.
Note that if you do not specify a `publishDate`, the value of `date` will be used.
* `title`: the headline of your content.
#### Add a Blog Entry
Blog posts (the archetype is called `article`) should be used for information that will be relevant for a longer period, for example explanations about technical, political or cultural topics.
Articles will be shown for a few days on the home page.
The [blog page](https://hamburg.ccc.de/blog/) shows all posts, newest first.
In addition, the `tags:` can be used to find blog posts about certain topics.
To create a new general blog post, run a command like this:
To also build posts in the future or in draft state, run this instead:
```shell
hugo new content --kind article blog/yyyy/yyyy-mm-dd-your-article-title/index.md
hugo server -D
```
If you want to create a blog post from scratch, or convert an event into a blog post, see the frontmatter data in [themes/ccchh/archetypes/article.md](themes/ccchh/archetypes/article.md).
In particular, you need to set `categories: article`.
You do not need to specify an explicit `publishDate`, as the value of `date` will be used as a fallback.
#### Add an Event Announcement
Events will be shown on the home page from the frontmatter `publishDate:` until the `date:` (plus a few hours grace period).
Use them for information that is relevant for a specific event, like a talk or a meeting.
There are two basic types of posts: Events and articles.
Events will be shown on the home page from their publishing date until they have happened and shall be used for things which happen at a certain date.
This is not limited to events organized by the CCCHH, but can also be a hint to other events which we think are related to our activities.
To create a new event blog post, run a command like this:
@ -90,48 +55,29 @@ To create a new event blog post, run a command like this:
hugo new content --kind event blog/yyyy/yyyy-mm-dd-your-event-title/index.md
```
If you want to create an event from scratch, or convert a blog post into an event, see the frontmatter data in [themes/ccchh/archetypes/event.md](themes/ccchh/archetypes/event.md).
In particular, you need to set `categories: event`, `date:` for the date of the event, `publishDate:` for the date the content should be published, and `location:` to whereever your event takes place.
#### Add a Blog Entry
As mentioned before, you can also create blog posts for things which aren't events.
They will only be shown in the "blog" section and posted to the RSS feeds and shall be used for things which are relevant for a longer time.
As we have much more event announcements than articles, finding articles in all blog posts can be quite a challenge.
But using these two categories enables filtering, so that the history of articles is in one list.
To create a new general blog post, run a command like this:
```shell
hugo new content --kind article blog/yyyy/yyyy-mm-dd-your-article-title/index.md
```
#### Additional Notes on Events and Articles
By default the first 70 words are shown as a summary on list pages.
Please use `<!--more-->` (white space matters) to manually separate the summary from other post content.
Please use `<!--more-->` to manually separate the summary from other post content.
Please prefix your folder name with a date to make browsing the content in the source code easier.
The date in the URL will be taken from the `date` field in the front matter.
Blog posts from before 2024-01-22 were imported from the previous website and have additional front matter data which is not usually needed (e.g. the lastmod value).
#### Submitting Your Content
After creating the new content, or making changes to existing content please commit your changes with a meaningful commit message to a fresh branch.
Name the branch in a way that makes it easy to understand what the changes are, for example, the title of your new blog post.
Push the branch to git.hamburg.ccc.de, and create a new pull request.
Invite reviewers, or post the link to the PR to the [#infrastruktur:hamburg.ccc.de](https://matrix.to/#/#infrastruktur:hamburg.ccc.de) Matrix channel.
The changes you have made will be deployed to the staging website automatically (this might take a minute or two).
See the comments in the PR for the link to your preview.
You and the reviewers can use the link to preview the changes.
If you have set a `publishDate` to a date and time in the future, the preview will show the content as it would appear then.
Once at least one reviewer approves the PR, it will be merged and pushed to production.
This usually takes less than five minutes.
### Automated Deployment
The website is automatically rebuilt and redeployed every 20 minutes. At each build and deploy:
* The event calendar is fetched.
* Hugo renders all pages.
* All changed files are deployed to the production web server.
See [.forgejo/workflows/deploy.yaml](.forgejo/workflows/deploy.yaml) for all the details.
Additionally, for each pull request, a version of the website is deployed to the staging website under a unique URL.
The pull request will be updated with the URL, so you and the reviewers can look at the changes as they will appear after merging.
After the PR is closed, the staging URL will be removed.
When using the commands above, the template shall have evenything you need.
#### Populate the Event Calendar

View file

@ -4,4 +4,7 @@ date: 2022-11-20T09:03:20-08:00
draft: false
---
<!-- STATUS_CANARY_HAMBURG_CCC_DE_DO_NOT_TOUCH -->
## Über uns
Wir sind der Chaos Computer Club der Hansestadt Hamburg.
Bei uns handelt es sich um eine Gruppe von Menschen, die ein Interesse am kreativen Umgang mit Technik teilen.
Unsere Gesprächsthemen und Projekte reichen von Soft- und Hardware zu Datenschutz und Netzpolitik.

View file

@ -23,7 +23,7 @@ Wir stellen uns gemeinsam gegen die Abhängigkeit von digitalen Großkonzernen u
<!--more-->
Wir bieten am 04. Januar 2026 beim allerersten [Digital Independence Day](https://diday.org) ein einfaches Programm zu folgenden Punkten an:
Wir bieten am 04. Januar 2026 beim allerersten Digital Independece Day ein einfaches Programm zu folgenden Punkten an:
- *fällt aus* ~~**Wie benutze ich mein Smartphone privatsphärefreundlich?**~~
~~Wir zeigen einfache Handgriffe und Einstellungen, die bei gängigen Smartphones getroffen werden können, um weniger Daten von sich preiszugeben.~~

View file

@ -17,7 +17,7 @@ tags:
# image: Path to the image
---
Am 2. [Digital Independence Day](https://diday.org) (01.02.2026) zeigen wir euch in Hamburg, wie ihr gängige Büroarbeiten wie Briefeschreiben, Tabellenkalkulationen ohne Abhängigkeit zu Microsoft Office tätigen könnt.
Am 2. DI-Day (01.02.2026) zeigen wir euch in Hamburg, wie ihr gängige Büroarbeiten wie Briefeschreiben, Tabellenkalkulationen ohne Abhängigkeit zu Microsoft Office tätigen könnt.
<!--more-->

View file

@ -1,6 +1,6 @@
---
categories: event
title: 'DIDAY: Messenger: Alternativen zu WhatsApp und Co.'
title: 'DI-Day: Messenger: Alternativen zu WhatsApp und Co.'
date: '2026-03-01T14:00:00+01:00' # date of the event
publishDate: '2026-01-20T19:00:00+01:00' # when to publish
draft: false
@ -18,7 +18,7 @@ tags:
# image: Path to the image
---
Am [Digital Independence Day](https://diday.org) am 1. März zeigen wir euch bei uns in Hamburg, warum ihr vielleicht SMS, WhatsApp, oder andere Messenger von Großkonzernen durch Alternativen ersetzen möchtet, und wie ihr das praktisch angeht.
Am DI-Day am 1. März zeigen wir euch bei uns in Hamburg, warum ihr vielleicht SMS, WhatsApp, oder andere Messenger von Großkonzernen durch Alternativen ersetzen möchtet, und wie ihr das praktisch angeht.
<!--more-->

View file

@ -1,6 +1,6 @@
---
categories: event
title: 'Tag des Offenen Hackspace und DIDAY'
title: 'Tag des Offenen Hackspace und DI.Day'
date: '2026-03-28T13:37:00+01:00' # date of the event
publishDate: '2026-03-10T21:26:49+01:00' # when to publish
draft: false
@ -9,14 +9,14 @@ authors:
- stb
tags:
- tdoh
- DID
- diday
- jugendhackt
# header:
# caption: A caption für the picture will be used as Alt-Text
# image: Path to the image
---
In ganz Deutschland findet am 28.03.2026 der “Tag des offenen Hackspaces” statt. Dabei öffnen verschiedene Hack- und Making-Spaces allen interessierten ihre Türen. Der CCCHH, Jugend Hackt Lab Hamburg und der DIDAY Hamburg sind in der Viktoria-Kaserne dabei. Wir freuen uns auf euch!
In ganz Deutschland findet am 28.03.2026 der “Tag des offenen Hackspaces” statt. Dabei öffnen verschiedene Hack- und Making-Spaces allen interessierten ihre Türen. Der CCCHH, Jugend Hackt Lab Hamburg und der DI.Day Hamburg sind in der Viktoria-Kaserne dabei. Wir freuen uns auf euch!
<!--more-->
@ -38,7 +38,7 @@ Bring gern einen Laptop mit, wenn du hast. Wir haben aber auch ein paar Leihger
## Digital Independence Day
Normalerweise ist der [DIDAY](https://diday.org) immer am ersten Sonntag im Monat, aber dieses Mal verlegen wir es vor und kombinieren es mit dem Tag des Offenen Hackspace. Dieses Mal haben wir keinen großen Vortrag zu einem Thema vorbereitet, sondern stehen für Fragen zur Verfügung. Je nach Interesse können wir in verschiedene Themen auch tiefer einsteigen, z.&nbsp;B. zu Alternativen zu Word&Excel, zu WhatsApp, oder zur Microsoft Cloud. Und natürlich zu allen Themen, die euch unter den Nägeln brennen!
Normalerweise ist der [DI.Day](https://di.day) immer am ersten Sonntag im Monat, aber dieses Mal verlegen wir es vor und kombinieren es mit dem Tag des Offenen Hackspace. Dieses Mal haben wir keinen großen Vortrag zu einem Thema vorbereitet, sondern stehen für Fragen zur Verfügung. Je nach Interesse können wir in verschiedene Themen auch tiefer einsteigen, z.&nbsp;B. zu Alternativen zu Word&Excel, zu WhatsApp, oder zur Microsoft Cloud. Und natürlich zu allen Themen, die euch unter den Nägeln brennen!
Wir werden außerdem an diesem Tag auch einen "Linux Helpdesk" anbieten.
Hier werden erfahrene Linux-User*innen sich zur Verfügung stellen, um euch mit Linux zu unterstützen. Wir können Fragen beantworten, Probleme lösen, oder euch helfen, ein Linux eurer Wahl auf eurem Gerät zu installieren

View file

@ -0,0 +1,18 @@
---
categories: event
title: 'Treffen der Selfhosting Usergroup: Lean Coffee-Style'
date: '2026-04-09T19:42:00+01:00' # date of the event
publishDate: '2026-04-02T00:00:00+01:00' # when to publish
draft: false
location: Z9
authors:
- Mark.TwoFive
tags: selfhosting
---
Wieder einmal trifft sich die [Selfhosting Usergroup](https://wiki.hamburg.ccc.de/club:selfhosting:start) um 19:42 Uhr im Hackspace des CCCHH.
Neben einem kleinen Recap der Self-Organized Session vom [26. Easterhegg in Koblenz](https://eh23.easterhegg.eu), gibt es diesmal keinen bestimmten Talk, sondern hoffentlich viele interessante Themen im [Lean Coffee-Style](https://leancoffee.org). Bringt also gerne eure eigenen Themen mit!
Wer Lust hat, schaut am Donnerstag, den 09. April vorbei. Wir freuen uns!

View file

@ -1,30 +0,0 @@
---
categories: event
title: 'DIDAY: Die eigene Cloud'
date: '2026-05-03T14:00:00+01:00' # date of the event
publishDate: '2026-04-15T12:00:00+01:00' # when to publish
draft: false
location: Z9
authors:
- stb
tags:
- DID
- digitale selbstverteidigung
- cloud
# tags:
# header:
# caption: A caption für the picture will be used as Alt-Text
# image: Path to the image
---
Bei diesem [Digital Independence Day](https://diday.org) dreht sich alles um die eigene Cloud: wir zeigen euch die Grundfunktionen von Nextcloud, und erklären, wie ihr für eure Familie, den Freundeskreis oder den kleinen Verein einfach selbst eine einrichten könnt.
<!--more-->
In einem ersten Vortragsteil geben wir eine Einführung in die Grundfunktionen von Nextcloud: Dateien, Kalender, Kontakte und Photos. Dabei ist auch Raum für eure Fragen.
Im Anschluss wird es praktisch! Wenn ihr Nextcloud einfach mal ausprobieren wollt, oder euch sogar schon entschieden habt, Nextcloud einzusetzen, aber euch bisher nicht getraut habt, das anzugehen, helfen wir euch mit Rat und Tat. Bringt euer Laptop mit, und wir unterstützen euch, bei einem der vielen Anbieter eine Nextcloud-Instanz zu bestellen und einzurichten. Selbstverständlich stehen wir auch für weitergehende Fragen zur Verfügung.
Es ist keine Anmeldung erforderlich.
[pdf der Präsentation](./diday_Die_eigene_Cloud.pdf)

View file

@ -1,25 +0,0 @@
---
categories: article
title: 'DIDAY.org mit Unterstützung des CCCHH'
date: '2026-06-07T14:00:00+02:00' # date of the event
draft: false
authors:
- stb
tags:
- DID
- CCCHH
# tags:
# header:
# caption: A caption für the picture will be used as Alt-Text
# image: Path to the image
---
Der CCC Hansestadt Hamburg e.V. freut sich, den Digital Independence Days unterstützen zu können: Wir hosten die neue Webseite [diday.org](https://diday.org)! Der Digital Independence Day wird von vielen zivilgesellschaftlichen Gruppen getragen, und aus der Community heraus entstand der Wunsch, eine von der Community gestaltete Webseite zu haben.
<!--more-->
Worum geht es beim Digital Independence Day? [Kurz gesagt](https://diday.org/de/why/): Wir wollen allen Interessierten Möglichkeiten aufzeigen, sich freizumachen von Großkonzernen, ihren Algorithmen und kommerziellen Interessen (und der politischen Einflußname). Dazu veranstalten wir an jedem ersten Sonntag im Monat den DIDAY, an [vielen Orten](https://events.diday.org) in Deutschland, Europa und der ganzen Welt! Und wir sammeln Anleitungen und weiterführendene Informationen auf unserer Webseite.
Das besondere: Alle können mitmachen und beitragen. Die gesamte Webseite wird als Open Source auf [codeberg.org/DI-Day/website](https://codeberg.org/DI-Day/website) von allen Interessierten gepflegt und weiterentwickelt. Und um es auch wirklich einfach zu machen, da einzusteigen, haben wir unter [Wie? Gemeinsam](https://diday.org/de/together/) Anleitungen bereitgestellt, wie ihr direkt loslegen könnt.
Der CCC Hansestadt Hamburg e.V. fungiert als Heimat für die Webseite, sowohl technisch als auch rechtlich. Aber die Inhalte kommen von euch allen! Wir freuen uns zu sehen, was in den nächsten Monaten alles dazukommen wird.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 KiB

View file

@ -1,50 +0,0 @@
---
categories: article
title: 'Der CCCHH sagt NEIN zu Olympia in Hamburg'
date: '2026-05-31T23:59:59+02:00'
publishDate: '2026-05-23T20:00:00+02:00'
draft: false
authors:
- lilly
tags:
- überwachung
- ki
- vorratsdatenspeicherung
header:
caption: >-
Logo des NOLYMPIA Hamburg Bündnisses.
Es ist ein schwarzer Schriftzug mit dick gedrucktem NO und anschließendem LYMPIA auf rotem Hintergrund.
Das Wort Hamburg ist klein und nach rechts versetzt unter NOLYMPIA zu sehen.
image: header.png
---
Der Senat Hamburgs möchte sich gerne mit unserer schönen Stadt als Austragungsort für die olympischen Spiele 2036, 2040 oder 2044 bewerben[^1].
Wir teilen die Meinung des Senats und der regierenden Fraktionen nicht, dass olympische Spiele in Hamburg unzählige und eindeutige Vorteile bringen würde. Ganz im Gegenteil!
Bei der Austragung der letzten Spiele in Paris und auch davor haben wir gesehen, dass die Stadt zwar in aller Munde kommt, aber die Spiele selbst für die Menschen dort ein riesiger Kostenpunkt und massive Belastung sind[^2][^3].
Eine konkrete oder belastbare Planung zur Umsetzung der Sicherheit während der Spiele hat die Stadt noch nicht veröffentlicht, aber den bereits durchgesickerten Eckpunkten stehen wir sehr kritisch gegenüber.
Das Konzept der Stadt sieht vor, die Spiele in das bestehende Stadtleben zu integrieren[^4].
Dies würde bedeuten, dass in diversen Stadtteilen in den Wohnvierteln und Sportstätten vor der Haustür Sicherheitszonen eingerichtet werden.
Sicherheitszonen bedeuten den massiven Ausbau von Überwachungskameras, wahrscheinlich mit undurchsichtiger und massenhafter KI-Auswertung jedes öffentlichen Verhaltens <q>integriert</q> in das komplette Stadtleben[^5].
Wie der Senat die Zugangskontrolle in diesen Sicherheitszonen gestalten will ist auch noch unklar.
Ob wir hier eine Einschränkung der Bewegungsfreiheit für Menschen ohne Tickets mitsamt übergriffigen und dauerhaften Polizeikontrollen wie in Paris[^6] zu erwarten haben oder ob es hier eine digitale Version über irgendwelche hastig gebauten Apps erzwungen wird, können wir noch nicht sagen.
Keines von beiden ist eine hinnehmbare Option.
Ein weiterer Punkt für uns als stark queerer Verein, der von einem bunten Miteinander **aller** Arten von Menschen lebt, sind die trans\*- und menschenfeindlichen Vorstellungen des IOC[^7].
Das Organisationskommittee steht hier nicht für die moderne pluralistische Gesellschaft, die der Senat uns verkaufen will, sondern für ein rückwärtsgewanntes Weltbild, welches vor der Hetze rechter Mobs kuscht.
Damit schadet das IOC nicht nur der queeren Community in Hamburg sondern der Sicherheit und Selbstbestimmung aller Frauen[^8]!
Long story Short: Es gibt in Hamburg viel Potential und Möglichkeiten für positive Stadtgestaltung.
Wir brauchen aber kein Prestigeprojekt Olympia, um eine bessere Realität zu schaffen.
[^1]: https://www.ndr.de/sport/mehr_sport/olympia-referendum-in-hamburg-alle-fragen-und-antworten,olympia-526.html
[^2]: https://www.nolympia-hamburg.de/stellungnahme/
[^3]: https://www.nolympia-hamburg.de/nolympiahh/wp-content/uploads/2026/01/10-Min-NOlympische-Fakten-Links-und-Quellen-28012026.pdf
[^4]: https://www.hamburg-activecity.de/olympia-konzept
[^5]: https://taz.de/Ueberwachung-von-Drogenszene/!5933508/
[^6]: https://www.zeit.de/digital/datenschutz/2024-07/ki-olympische-spiele-ueberwachung-sicherheit-paris
[^7]: https://www.spiegel.de/sport/olympia/ioc-internationales-olympisches-komitee-verlangt-kuenftig-geschlechtertest-von-sportlerinnen-a-81fa279b-1e7f-4d8a-9aa0-f4799a0590d6
[^8]: https://www.klassegegenklasse.org/trans-frauen-sind-frauen-egal-was-das-gericht-sagt/

View file

@ -1,23 +0,0 @@
---
categories: event
title: 'Kein DIDAY im Juni 2026'
date: '2026-06-07T14:00:00+01:00' # date of the event
publishDate: '2026-06-01T12:00:00+01:00' # when to publish
draft: false
location: Z9
authors:
- June
tags:
- DID
- digitale selbstverteidigung
# header:
# caption: A caption für the picture will be used as Alt-Text
# image: Path to the image
---
Leider können wir im Juni, am 07.06.2026, keinen [Digital Independence Day](https://diday.org) für euch anbieten.
<!--more-->
Wir laden euch aber dazu ein, eine der vielzähligen alternativen Veranstaltungen in Hamburg zu besuchen. Was wann wo stattfindet, könnt ihr im [DIDAY Terminkalender](https://events.diday.org) herausfinden.
Und selbstverständlich könnt ihr auch die zahlreichen Onlne-Ressourcen rund ums Thema Digital Independence nutzen, um euch selbstständig zu einem neuen Thema zu informieren. Dazu gibt es die [Anleitungen auf diday.org](https://diday.org/de/guides/), die [Wechselrezepte auf di.day](https://di.day/de/wechselrezepte) oder auch die Folien zu unseren vergangen DIDAYs zu den Themen [Messenger](https://hamburg.ccc.de/blog/2026/03/01/diday-messenger-alternativen-zu-whatsapp-und-co./diday_Messenger.pdf) und [Cloud](https://hamburg.ccc.de/blog/2026/05/03/diday-die-eigene-cloud/diday_Die_eigene_Cloud.pdf).

View file

@ -1,30 +0,0 @@
---
categories: event
title: 'Demo-Aufruf: Überwachungsfrei in Hamburg'
date: '2026-06-20T14:00:00+02:00'
publishDate: '2026-06-13T12:00:00+02:00'
draft: false
location: Hansaplatz
authors:
- stb
tags:
- event
- überwachung
- vorratsdatenspeicherung
- widerstand
---
**tl;dr** Kundgebung auf dem Hansaplatz am Samstag, 20.6., 14 Uhr, um weitreichende Überwachung in Deutschland und in Hamburg zu verhindern. Alle Infos: [Überwachungsfrei.eu](https://überwachungsfrei.eu).
Bund und Länder treiben neue Überwachungsgesetze voran. Dazu gehören biometrische Rasterfahndung, automatisierte Massendatenauswertung, die Erhebung von Bewegungsdaten aus Fahrzeugen, Vorratsdatenspeicherung und Chatkontrolle. Hinzu kommt die Auswertung von Standortdaten aus Apps, ganz ohne gesetzliche Grundlage, sowie das Training intransparenter „KIs“ mit den frisch gesammelten Daten.
<!--more-->
Gleichzeitig geraten soziale Probleme aus dem Fokus. Technische Überwachung wird als Lösung gesellschaftlicher und sozialer Herausforderungen betrachtet. Doch mehr Überwachung führt nicht zu mehr sozialer Sicherheit. Sie verschiebt Probleme, statt sie zu lösen, und verändert das Verhältnis zwischen Staat und Bevölkerung grundlegend. Schritt für Schritt wird alltägliches Verhalten unter Beobachtung gestellt und Freiheit eingeschränkt.
Kaum ein Ort in Hamburg verdeutlicht diese Entwicklung so sehr wie der Hansaplatz. Seit 2023 wird hier das Verhalten aller, die sich auf dem Platz aufhalten, durch Kameras und automatisierte Systeme erfasst und ausgewertet. Was als Ausnahme begann, wird nun zum Normalzustand: Kontinuierliche Beobachtung im öffentlichen Raum.
Wir setzen uns für den Schutz von Grundrechten und informationeller Selbstbestimmung ein. Für öffentliche Räume, in denen Menschen sich frei bewegen, austauschen und engagieren können, ohne permanent beobachtet und bewertet zu werden. Wir wollen eine Politik, die die Ursachen gesellschaftlicher Probleme angeht, statt immer neue Überwachungsmaßnahmen einzuführen.
Wir wollen das nicht hinnehmen.
Daher gehen wir auf die Straße. Am 20.06. um 14 Uhr in Hamburg, auf dem Hansaplatz.

View file

@ -1,59 +0,0 @@
---
categories: event
title: 'Codeberg MV im CCCHH'
date: '2026-06-28T19:15:00+02:00' # date of the event
publishDate: '2026-06-07T12:00:00+02:00' # when to publish
draft: false
location: Z9
authors:
- lilly
tags:
- social
- Socializing
# header:
# caption: A caption für the picture will be used as Alt-Text
# image: Path to the image
---
Bei uns in den Räumen werden wir am *28.06.2026* an der Mitgliederversammlung des [Codeberg e.V.](https://codeberg.org/about) gemeinsam remote teilnehmen.
<!--more-->
Die MV findet primär online statt, es gibt aber bei uns die Möglichkeit dieser zusammen im Hauptraum beizuwohnen und die Geschehnisse mitzuverfolgen.
Wenn ihr daran teilnehmen wollt, füllt bitte einmal das [Anmeldeformular](https://cloud.hamburg.ccc.de/apps/forms/s/jqmsHCSGR3S8brGfjZkwnfpa) aus, damit wir eine Idee haben wie viele Leute wir erwarten müssen.
## Wie funktioniert die Codeberg MV?
Seit der letzten Jahresversammlung hat Codeberg e.V. 801 neue Mitglieder gewonnen das bedeutet, dass die diesjährige Jahresversammlung für insgesamt über 47 % der Mitglieder (von derzeit insgesamt 1681 Mitgliedern) die erste ist. Basierend auf dem Feedback der letztjährigen Versammlung wird es einen kurzen Überblick darüber geben, was euch erwartet.
- Wir können Anträge und Vorschläge für die Jahresversammlung einreichen.
- Es ist eine Videokonferenz mit hunderten anderen e. V.-Mitgliedern; Wir werden unsere Mikrofone nur einschalten, wenn wir das Wort ergreifen.
- Codeberg wird die Tagesordnung durchgehen und jedes Thema vorstellen (z. B. Kandidat*innen für die Kassenprüfung, sowie die zur Abstimmung stehenden Anträge). Anschließend wird Raum für Diskussionen gelassen: wir können Fragen stellen, diskutieren und/oder Meinungen mit anderen Mitgliedern austauschen.
- Die eigentlichen Abstimmungen über verbindliche Beschlüsse findet nach der Jahresversammlung statt; Mitglider im Codeberg e.V. finden mehr Informationen darüber in ihrer eigenen MV-Einladung.
- Anders als im letzten Jahr wird kein Vorstand gewählt; die Amtszeit des Vorstands beträgt zwei Jahre, und die aktuelle Amtszeit des Vorstands läuft noch ein Jahr.
- Codeberg strebt an, die Versammlung auf unter 3 Stunden zu beschränken einschließlich Pausen.
Wenn du selbst aktives Mitglied bist, findest du weitere für dich relevante Informationen in deiner Einladung zur MV.
## Aktuelle Tagesordnung
1. Formalitäten
1. Begrüßung: Ordnungsgemäße Einberufung und Feststellung der Beschlussfähigkeit
1. Vorstellung der Tagesordnung
1. Bericht des Vorstands
1. Jahresbericht 2025
1. Finanzbericht 2025 und Bericht der Rechnungsprüfer
1. Ausblick
1. Entlastung des Vorstands
1. Vorstellung der Kandidaten: Rechnungsprüfer
1. Änderungen der Vereinsordnung und Satzung
1. Satzungsänderung: Einsatz gegen Diskriminierung im FOSS-Umfeld zum Vereinszweck hinzufügen
1. Satzungsänderung: Einsatz moderner Abstimmungssysteme
1. Änderung der Nutzungsbedingungen: Vibe-gecodete Projekte nicht zulassen
1. Änderung der Nutzungsbedingungen: Projekte zu Kryptowährungen nicht zulassen
1. Änderung der Beitragsordnung: Gebührenbefreiung ermöglichen
1. Diskussion über angenommene Anträge & spontane Themen
1. Präsidiumsdiskussionen den Mitgliedern zugänglich machen
1. Stellungnahme zur Nutzung von KI durch Codeberg
1. (Platzhalter für weitere Anträge)

View file

@ -1,29 +0,0 @@
---
categories: event
title: 'DIDAY: Password Manager'
date: '2026-07-05T14:00:00+02:00' # date of the event
publishDate: '2026-06-16T18:44:27+02:00' # when to publish
draft: false
location: Z9
authors:
- stb
tags:
- DID
- digitale selbstverteidigung
- password manager
# tags:
# header:
# caption: A caption für the picture will be used as Alt-Text
# image: Path to the image
---
Ihr kennt es alle: ihr meldet euch in einer App oder auf einer Website neu an, und ihr braucht ein gutes Passwort. Aber wo bekommt man das her, und noch viel wichtiger, wie merkt man sich das? Über die Zeit kommen schnell zig wenn nicht hunderte solche Passwörter zusammen.
<!--more-->
Beim DIDAY im Juli zeigen wir euch bei uns im CCCHH, welche Optionen es gibt, und welche Vor- und Nachteile sich damit verbinden: unterschiedliche Passwort-Manager rein lokal auf dem eignenen Rechner, mit Synchronisierung über NextCloud, oder mit Cloud-Dienst. Und wir haben auch eine ganz einfach Papier-Variante, die trotzdem sicher ist!
Im Anschluss stehen wir euch für Fragen und Diskussionen zur Verfügung, natürlich auch zu anderen Themen der digitalen Unabhängigkeit.
Es ist keine Anmeldung erforderlich.

View file

@ -1,10 +0,0 @@
---
title: "Über uns"
date: 2026-06-13T00:00:00-02:00
draft: false
headless: true
---
Wir sind der Chaos Computer Club der Hansestadt Hamburg:
Eine Gruppe von Menschen, die ein Interesse am kreativen Umgang mit Technik teilen.
Unsere Gesprächsthemen und Projekte reichen von Soft- und Hardware zu Datenschutz und Netzpolitik.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

View file

@ -8,11 +8,11 @@ headless: true
Wenn du uns kennenlernen möchtest, komm doch einfach mal zum [Open Chaos](https://wiki.hamburg.ccc.de/club:terminserien:openchaos) vorbei.
Gelegentlich bieten wir außerdem Vorträge zu spezifischen Themen an, die hier im [Blog]({{< ref "/blog" >}}) und im Kalender veröffentlichen.
{{< img-resize "2-visit/Z9-hauptraum-202512-leinwand.jpeg" "400x" "float-right" >}}
{{< img-resize "2-visit/Z9-hauptraum-202301-leinwand.jpeg" "300x" "float-right" >}}
Wir haben einen großen Raum für Vorträge, Workshops oder gemütliches Hacken an Projekten mit Tischen für ca. 20 Personen, Küche und Sofaecke.
{{< clearfix >}}
{{< img-resize "2-visit/Z9-hauptraum-202301-kueche.jpeg" "400x" "float-right" >}}
{{< img-resize "2-visit/Z9-hauptraum-202301-kueche.jpeg" "300x" "float-right" >}}
Zusätzlich befinden sich direkt nebenan zwei Werkstatträume zum Löten, 3D-Drucken, Lasercutten, Schreinern, etc.
{{< clearfix >}}

View file

@ -7,4 +7,4 @@ image: haecksen-logo-gruenblau.png
link: https://wiki.hamburg.ccc.de/club:geekfem:start
---
Geekfem ist ein Raum für technik-interessierte FLINTA Personen und veranstaltet regelmäßig Termine zu verschiedenen Themen oder einfach nur zum schnacken.
Geekfem ist ein Raum für technik-interessierte Frauen* und veranstaltet regelmäßig Termine zu verschiedenen Themen oder einfach nur zum schnacken.

View file

@ -1,10 +1,10 @@
---
title: "Digitale Selbstverteidigung"
title: "Crypto-Gruppe"
draft: false
headless: true
type: card
#image: cryptoparty-300x100.png
image: cryptoparty-300x100.png
link: https://wiki.hamburg.ccc.de/club:cryptogruppe:start
---
Die Gruppe befasst sich mit Datenschutz, Verschlüsselung, Backup-Strategien und vielem mehr.
Die Cryptogruppe befasst sich mit digitaler Selbstverteidigung und veranstaltet u.a. Cryptoparties in Hamburg.

View file

@ -1,10 +0,0 @@
---
title: "Digitale Selbstverteidigung"
draft: false
headless: true
type: card
# image: TODO
link: https://wiki.hamburg.ccc.de/club:cryptogruppe:start
---
Wir diskutieren mit Menschen aus der Region über netzpolitische Fragestellungen, z. B. die Digitalisierung der Hamburger Verwaltung, neue Überwachung und Polizeibefugnisse, oder die Auswirkungen von KI auf das Leben in Hamburg.

View file

@ -1,10 +0,0 @@
---
title: "Selfhosting Usergroup"
draft: false
headless: true
type: card
# image: TODO
link: https://wiki.hamburg.ccc.de/club:selfhosting:start
---
Wer seine eigenen (Heim-)Server betreiben möchte, und hinter die Kulissen der grafischen Oberflächen schauen möchte, ist hier richtig.

View file

@ -1,10 +0,0 @@
---
title: "Funkamateure"
draft: false
headless: true
type: card
# image: TODO
link: https://wiki.hamburg.ccc.de/club:amateurfunk:start
---
Kreativer Umgang mit Technik? Machen die Funkamateure seid über 100 Jahren, und natürlich auch bei uns im CCCHH.

View file

@ -5,149 +5,70 @@ menu: footer
weight: 12
---
## 1. Verantwortliche
## Allgemeine Hinweise
CCC Hansestadt Hamburg e.V. Zeiseweg 9 22765 Hamburg Tel. +49 40 23830150 E-Mail: mail@hamburg.ccc.de
### Links zu anderen Websiten
Unsere Webseiten enthalten Links zu externen Webseiten, die nicht unter unserer Kontrolle stehen.
Für die Verarbeitung von Daten, die durch das Anklicken dieser Links an Dritte übertragen werden (z.B. eure IP-Adresse und Browserinformationen) können wir keine Verantwortung übernehmen.
Der CCC Hansestadt Hamburg e.V. wird durch den Vorstand vertreten.
### Sicherheit
Wir setzen technische und organisatorische Sicherheitsmaßnahmen ein, um zu gewährleisten, dass die personenbezogenen Daten unserer Nutzer vor Verlust, unrichtigen Veränderungen oder unberechtigten Zugriffen Dritter geschützt sind.
In jedem Fall haben von unserer Seite nur berechtigte Personen Zugang zu euren personenbezogenen Daten.
## 2. Datenschutzbeauftragte
### Verantwortliche
Der Verantwortliche im Sinne der Datenschutzgrundverordnung (DSGVO) und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist der CCC Hansestadt Hamburg e.V. mit Sitz in Hamburg.
Unsere Datenschutzbeauftragte erreichst du schriftlich per Post mit dem Zustellhinweis „Datenschutzbeauftragte“ unter der im Impressum hinterlegen Adresse oder per E-Mail unter datenschutz@hamburg.ccc.de.
Der CCC Hansestadt Hamburg e.V. wurde im Vereinsregister vom Registergericht des Amtsgericht Hamburg unter der VR-Nr.&nbsp;20300 eingetragen.
## 3. Verarbeitungstätigkeiten
### Kontaktdaten der Datenschutzstelle des CCC Hansestadt Hamburg e.V.
### 3.1 Website
- E-Mail: <datenschutz@hamburg.ccc.de>
- Anschrift: CCC Hansestadt Hamburg e.V.
c/o Datenschutzbeauftragter
Zeiseweg 9
Viktoria-Kaserne, mittlerer Osten, 1. OG, Raum 2
22765 Hamburg
Wir verarbeiten auf unserer Website <https://hamburg.ccc.de> keine personenbezogenen Daten. Weder loggt unser Server deine Verkehrs- und Browserdaten, noch speichern wir auf deinen Endgeräten Cookies oder sonstige lokale Informationen.
### 3.2 CCCHH ID (Keycloak)
## Datenschutzerklärung für hamburg.ccc.de
Datenschutz ist uns wichtig, weshalb wir so wenig Daten wie möglich erheben.
Dies nennen wir Datensparsamkeit, je weniger Daten gesammelt werden, desto weniger Daten gilt es zu schützen.
#### 3.2.1 Übersicht über die Verarbeitungstätigkeiten
### Kategorien betroffener Personen
Da wir keine Daten erheben, gibt es auch keine betroffenen Personen.
Wir betreiben mit **CCCHH ID** unter <https://id.hamburg.ccc.de/> eine Keycloak-Instanz. Keycloak ist ein Identitäts- und Zugangs-Management-Service (IAM) zur Verwaltung von Zugriffsrechten und der Benutzeranmeldung und bietet Single-Sign-On, damit du dich bei unseren Diensten zentral und sicher anmelden kannst.
### Zweck der Verarbeitung
Aus Datensparsamkeit erheben wir keine Daten und können nichtvorhandene Daten auch nicht einem Zweck zuführen.
#### 3.2.2 Art und Umfang der Verarbeitung personenbezogener Daten
### Weitergabe an Dritte
Da wir keine Daten von Dir sammeln, können wir auch keine weitergeben.
Wir verarbeiten Accountdaten wir Username, Vor- und Nachname (freiwillig), E-Mail-Adresse, Passwort, OTP, Passkey, WebAuthn-Public-Keys sowie Daten über Zugriffsberechtigungen. Nähere Informationen über Keycloak und zu den erfassten Daten findest du unter: <https://www.keycloak.org/docs/latest/server_admin/#ref-personal-data-collected_server_administration_guide>
### Eingebettete Inhalte von anderen Websites
Beiträge auf dieser Website können eingebettete Inhalte beinhalten (z. B. Videos, Bilder, Beiträge etc.).
Eingebettete Inhalte von anderen Websites verhalten sich exakt so, als ob der Besucher die andere Website besucht hätte.
Dein Username, Vor- und Nachname (wenn gesetzt) und E-Mail-Adresse deiner CCCHH-ID werden bei der Anmeldung bei Diensten Nextcloud, DokuWiki, HedgeDoc oder Forgejo in diese Systeme übertragen und sind je nach Dienst dort für alle Nutzer\*innen öffentlich einsehbar.
Diese Websites können Daten über Dich sammeln, Cookies benutzen, zusätzliche Tracking-Dienste von Dritten einbetten und deine Interaktion mit diesem eingebetteten Inhalt aufzeichnen, inklusive deiner Interaktion mit dem eingebetteten Inhalt, falls Du ein Konto hast und auf dieser Website angemeldet bist.
#### 3.2.3 Cookies
Wir betten Inhalte z.B. von diesen Webseiten ein:
| Bezeichnung | Zweck | Speicherdauer |
|----|----|----|
| AUTH_SESSION_ID | Speichert eine ID, um verschiedene Seitenanfragen einer Sitzung / eine\*r Benutzer\*in zuzuordnen. | Session |
| KC_AUTH_SESSION_HASH | Sicherheitsmechanismus zur Integritätsprüfung der Sitzung | 1 Minute |
| KC_RESTART | Das Cookie enthält einen Token, damit im Falle eines Verbindungsabbruchs die Autorisierung neu gestartet werden kann. | Session |
| KEYCLOAK_IDENTITY | Speichert nach Login ein Token, um verschiedene Seitenanfragen einer Sitzung / eine\*r Benutzer\*in zuzuordnen. | 30 Tage |
| KEYCLOAK_REMEMBER_ME | Speichert den Benutzernamen, wenn das Kontrollkästchen „Remember me“ beim Login aktiviert ist. | 1 Jahr |
| KEYCLOAK_SESSION | Session-Information, um nach dem Login den Berechtigungsstatus verfolgen zu können | 60 Tage |
- [Open Street Map](https://www.openstreetmap.org/)
Die eingesetzten Cookies sowie die Session- und Local-Storage-Objekte sind gemäß § 25 Absatz 2 Nr. 2 des Telekommunikation-Digitale-Dienste-Datenschutz-Gesetz (TDDDG) als technisch erforderlich einzuordnen. Sie dürfen daher ohne deine Zustimmung auf deinem Gerät gespeichert werden.
### Cookies
Wir nutzen keine Cookies.
#### 3.2.4 Rechtsgrundlage
### Analyse-Dienste
Wir nutzen keine Analyse-Dienste.
Rechtsgrundlage für den technisch erforderlichen Betrieb ist Art. 6 Abs. 1 S. 1 lit. f DSGVO (berechtigtes Interesse an Betrieb und Sicherheit der Keycloak-Instanz).
### Hosting
Unsere Server stehen in der EU und werden durch den Hoster vor physischen Zugriff Dritter geschützt.
Rechtsgrundlage für die Nutzung eines CCCHH-ID-Accounts und die Weitergabe deiner Nutzerdaten in Drittsysteme über den Single-Sign-On ist deine Einwilligung, Art. 6 Abs. 1 S. 1 lit. a DSGVO.
## Rechte
Obgleich wir möglichst keine persönlichen Daten von Dir verarbeiten, wollen wir Dich hier noch über deine Rechte nach der DSGVO aufklären:
Erteilst du deine Einwilligung nicht, kannst du ggf. Dienste, die die CCCHH-ID verwenden, nicht verwenden, wenn für bestimmte Funktionen ein Account erforderlich ist.
#### 3.2.5 Empfänger oder Kategorien von Empfängern
Eine Weitergabe an Dritte ist nicht vorgesehen.
#### 3.2.6. Dauer der Speicherung
Die gespeicherten Cookies werden nach den oben genannten Fristen von deinem Endgerät gelöscht. Deine CCCHH ID einschließlich Zugriffsrechten wird bis zur der Löschung deines Accounts aufbewahrt.
### 3.3 DokuWiki
#### 3.3.1 Übersicht über die Verarbeitungstätigkeiten
Unter <https://wiki.hamburg.ccc.de> stellen wir ein DokuWiki zur Verfügung. Mit einem optionalen User-Account kann u.a. ein Profil angelegt, Seiten erstellt und editiert und - je nach Berechtigung - geschützte Seiten und Bereiche aufgerufen werden.
#### 3.3.2 Art und Umfang der Verarbeitung personenbezogener Daten
Beim Besuch des Wiki ohne Login werden keine personenbezogenen Daten an uns übermittelt und verarbeitet.
Wenn du dich einloggst, werden zusätzlich Daten für die Nutzung deines Accounts und zur Bearbeitung der Wiki verarbeitet, wie z.B. Keycloak-Token, Auth-Token, Username, echter Name, E-Mail-Adresse, Passwort, Autor\*inneneigenschaft und Timestamps deiner Änderungen im Wiki.
#### 3.3.3 Cookies
| Bezeichnung | Zweck | Speicherdauer |
|----|----|----|
| DokuWiki | Speichert eine ID, um verschiedene Seitenanfragen einer Sitzung / eine\*r Benutzer\*in zuzuordnen. | Session |
| DW\* | Keycloak-Token, um dich als Benutzer\*in eingeloggt zu lassen und zu identifizieren | 1 Jahr |
Die eingesetzten Cookies sowie die Session- und Local-Storage-Objekte sind gemäß § 25 Absatz 2 Nr. 2 des Telekommunikation-Digitale-Dienste-Datenschutz-Gesetz (TDDDG) als technisch erforderlich einzuordnen. Sie dürfen daher ohne deine Zustimmung auf deinem Gerät gespeichert werden.
#### 3.3.4 Rechtsgrundlage
Rechtsgrundlage für den technisch erforderlichen Betrieb ist Art. 6 Abs. 1 S. 1 lit. f DSGVO (berechtigtes Interesse an Betrieb und Sicherheit des DokuWiki). Rechtsgrundlage für die Nutzung eines DokuWiki-Accounts ist deine Einwilligung, Art. 6 Abs. 1 S. 1 lit. a DSGVO.
Erteilst du deine Einwilligung nicht, kannst du ggf. nicht auf geschützte Bereiche zugreifen oder Seiten bearbeiten.
#### 3.3.5 Empfänger oder Kategorien von Empfängern
Es ist keine Weitergabe personenbezogener Daten an Dritte geplant.
#### 3.3.6 Dauer der Speicherung
Benutzerdaten werden bis zur Accountlöschung aufbewahrt. In Wiki-Artikel eingetragene personenbezogene Daten und Autor\*inneneigenschaft werden im Artikel und in der Änderungshistorie aufbewahrt; sie werden auf Anfrage (siehe Abschnitt Betroffenenrechte) gelöscht bzw. anonymisiert.
### 3.4 Nextcloud
#### 3.4.1 Übersicht über die Verarbeitungstätigkeiten
Wir bieten unter <https://cloud.hamburg.ccc.de> eine Nextcloud-Instanz an, über die Besucher\*innen und Mitglieder einen Kalender benutzen, Dateien hochladen oder Formulare und Umfragen erstellen und ausfüllen können.
#### 3.4.2 Art und Umfang der Verarbeitung personenbezogener Daten
Beim Benutzung der Nextcloud können je nach Nutzungsart folgende Kategorien von Daten verarbeitet werden: Von dir hochgeladene Dateien (z.B. Textdateien oder Fotos) einschließlich Metadaten, Username, Name, E-Mail-Adresse, Session-Token, Formulareingaben, Umfrageergebnisse, Teilnahmestatus für Termine, Adressbücher und Teams, Änderungshistorie. Dein Benutzername und deine E-Mail-Adresse werden aus der CCCHH-ID übernommen und sind für alle Nutzer\*innen einsehbar.
#### 3.4.3 Cookies
| Bezeichnung | Zweck | Speicherdauer |
|----|:---|:---|
| oc_sessionPassphrase | Speichert eine Passphrase, um verschiedene Seitenanfragen einer Sitzung zuzuordnen / eine\*r Benutzer\*in zuzuordnen. | Session |
| \_\_Host-nc_sameSiteCookielax/\_\_Host-nc_sameSiteCookiestrict | Vermeidung von Cross Site Request Forgery (CSRF) - Attacken | 5 Wochen |
Die eingesetzten Cookies sowie die Session- und Local-Storage-Objekte sind gemäß § 25 Absatz 2 Nr. 2 des Telekommunikation-Digitale-Dienste-Datenschutz-Gesetz (TDDDG) als technisch erforderlich einzuordnen. Sie dürfen daher ohne deine Zustimmung auf deinem Gerät gespeichert werden.
#### 3.4.4 Rechtsgrundlage
Rechtsgrundlage für den technisch erforderlichen Betrieb ist Art. 6 Abs. 1 S. 1 lit. f DSGVO (berechtigtes Interesse an Betrieb und Sicherheit des DokuWiki).
Rechtsgrundlage für die Nutzung eines Nextcloud-Accounts (über die CCCHH ID) ist deine Einwilligung, Art. 6 Abs. 1 S. 1 lit. a DSGVO.
#### 3.4.5 Empfänger oder Kategorien von Empfängern
Eine Weitergabe personenbezogener Daten an Dritte ist nicht geplant.
#### 3.4.6 Dauer der Speicherung
Die gespeicherten Cookies werden nach den oben genannten Fristen automatisch gelöscht. Hochgeladene Dateien und erstellte Umfragen, Formulare oder Kontakte werden bis zur Löschung durch dich oder unsere Administrator\*innen aufbewahrt. Von uns erstellte Einträge, Umfragen oder Formulare werden nach Ende der Auswertung, spätestens nach Erreichen des Verarbeitungszwecks gelöscht.
## 4. Übermittlung von personenbezogenen Daten an ein Drittland
Deine Daten werden grundsätzlich innerhalb der Europäischen Union bzw. innerhalb der EWR-Staaten Island, Liechtenstein und Norwegen verarbeitet. Sofern wir deine Daten in einem Drittland verarbeiten, achten wir darauf, dass die Empfänger\*innen über angemessene Garantien gem. Art. 44 ff. DSGVO verfügen, um ein angemessenes Datenschutzniveau zu gewährleisten. Mögliche Garantien sind ein von der EU-Kommission festgestelltes angemessenes Schutzniveau wie z. B. in den USA, der Schweiz oder in Kanada, mit dem Empfänger abgeschlossene EU-Standardvertragsklauseln oder in Ausnahmefällen deine Einwilligung in die Datenverarbeitung. Weitere Informationen dazu erhältsts du bei unserer Datenschutzbeauftragten.
## 5. Betroffenenrechte
Du hast gegenüber uns folgende Rechte hinsichtlich der dich betreffenden personenbezogenen Daten:
- Recht auf Auskunft
- Recht auf Berichtigung oder Löschung
- Recht auf Einschränkung der Verarbeitung
- Recht auf Widerspruch gegen die Verarbeitung
- Recht auf Widerruf der Einwilligung
## 6. Recht auf Beschwerde bei der Aufsichtsbehörde
Du hast das Recht, bei einer Aufsichtsbehörde Beschwerde einzulegen, wenn du der Meinung bist, dass unsere Verarbeitung deiner personenbezogenen Daten gegen die gültigen Datenschutzgesetze verstößt.
## 7. Links zu anderen Internetseiten
Unsere Webseite enthält Links zu anderen Internetseiten. Wir haben keinen Einfluss darauf, dass deren Betreiber\*innen die Datenschutzbestimmungen einhalten. Trotz vorheriger sorgfältiger inhaltlicher Kontrolle können wir für externe Links zu fremden Inhalten keine Haftung übernehmen.
- Nach DSGVO hast Du zahlreiche Rechte. Darunter fallen das Auskunftsrecht nach Art.15. Dies ist durch diese Seite erfüllt. Eine Kopie der hier nicht gespeicherten Daten kann als leere Email angefordert werden.
- Nach Art.16 kannst Du Vervollständigung oder Berichtigung der Dich betreffenden, hier nicht existierenden Daten verlangen.
- Nach Art.17 hast Du das Recht das Dich betreffende Daten unverzüglich gelöscht werden. Dies passiert fortlaufend automatisch, noch bevor die Daten gespeichert werden. Auf Anfrage bestätige wir Dir das gern mit einem Daumen nach oben per E-Mail.
- Nach Art.18 hast Du das Recht auf eine Einschränkung der Verarbeitung Deiner Daten. Aus physischen Gründen ist es uns leider nicht möglich weniger als nichts zu verarbeiten.
- Nach Art.20 hast Du das Recht alle bei uns gespeicherten (also keine) Daten zu übertragen.
- Du hast das Recht erteilte Einwilligungen zu widerrufen. Du kannst der künftigen Datenverarbeitung widersprechen.
Unabhängig eines anderweitigen verwaltungsrechtlichen oder gerichtlichen Rechtsbehelfs steht Dir das Recht auf Beschwerde bei einer zuständigen Aufsichtsbehörde zu, insbesondere in dem Mitgliedstaat deines Aufenthaltsorts, deines Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes, wenn Du der Ansicht bist, dass die Verarbeitung der Dich betreffenden personenbezogenen Daten gegen die DSGVO verstößt.

View file

@ -454,17 +454,12 @@ div.nav-aside {
margin: 15px var(--block-spacing-horizontal);
}
.image-container {
margin: 0;
padding: 0;
display: flex;
justify-content: center;
img {
padding: 15px var(--block-spacing-horizontal);
max-width: 100%;
max-height: 100%;
}
img {
padding: 15px var(--block-spacing-horizontal);
width: 100%;
height: 25cqw;
object-fit: cover;
object-position: top;
}
}

View file

@ -1,3 +1,4 @@
{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}}
{{- $authorEmail := "" }}
{{- with site.Params.author }}
{{- if reflect.IsMap . }}
@ -5,8 +6,14 @@
{{- $authorEmail = . }}
{{- end }}
{{- end }}
{{- else }}
{{- with site.Author.email }}
{{- $authorEmail = . }}
{{- warnf "The author key in site configuration is deprecated. Use params.author.email instead." }}
{{- end }}
{{- end }}
{{- /* Deprecate site.Author.name in favor of site.Params.author.name */}}
{{- $authorName := "" }}
{{- with site.Params.author }}
{{- if reflect.IsMap . }}
@ -16,6 +23,11 @@
{{- else }}
{{- $authorName = . }}
{{- end }}
{{- else }}
{{- with site.Author.name }}
{{- $authorName = . }}
{{- warnf "The author key in site configuration is deprecated. Use params.author.name instead." }}
{{- end }}
{{- end }}
{{- $pctx := . }}
@ -36,12 +48,12 @@
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ .Site.Title }}{{ end }}</title>
<link>{{ .Permalink }}</link>
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{ . }} {{ end }}{{ end }}on {{ .Site.Title }}</description>
<generator>Hugo</generator>
<language>{{ site.Language.LanguageCode }}</language>{{ with $authorEmail }}
<generator>Hugo -- gohugo.io</generator>
{{ with $authorEmail }}
<managingEditor>{{.}}{{ with $authorName }} ({{ . }}){{ end }}</managingEditor>{{ end }}{{ with $authorEmail }}
<webMaster>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</webMaster>{{ end }}{{ with .Site.Copyright }}
<copyright>{{ . }}</copyright>{{ end }}{{ if not .Date.IsZero }}
<lastBuildDate>{{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
{{- with .OutputFormats.Get "RSS" }}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{- end }}
@ -57,7 +69,7 @@
<pubDate>{{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{- with $authorEmail }}<author>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</author>{{ end }}
<guid>{{ .Permalink }}</guid>
<description>{{ .Content | transform.XMLEscape | safeHTML }}</description>
<description>{{ .Content | html }}</description>
</item>
{{- end }}
</channel>

View file

@ -7,14 +7,9 @@
{{- $events := where (.Site.GetPage "blog").Pages ".Params.categories" "event" }}
{{- $lookback := time.ParseDuration "-6h" }}
{{- $upcoming := where $events ".Params.date" "ge" (time.Now.Add $lookback) }}
{{- $article := where (.Site.GetPage "blog").Pages ".Params.categories" "article" }}
{{- $articleDisplayTime := time.ParseDuration "-126h" }}
{{- $articleNew := where $article ".Params.publishDate" "ge" (time.Now.Add $articleDisplayTime) }}
{{ if or $upcoming $articleNew }}
{{ if $upcoming }}
<div class="announcements">
<h2 id="aktuell" class="on-hover-trg">Aktuell <a href="#aktuell" class="on-hover"><i class="fa-solid fa-link small"></i></a></h2>
<h2 id="neuigkeiten" class="on-hover-trg">Neuigkeiten <a href="#neuigkeiten" class="on-hover"><i class="fa-solid fa-link small"></i></a></h2>
{{- range $upcoming.ByDate }}
<div class="announcement">
{{- partial "blog-header.html" (dict "headingLink" true "level" 4 "reduced" true "page" . ) }}
@ -29,8 +24,16 @@
{{- end }}
</div>
{{- end }}
</div>
{{- end }}
{{- range $articleNew.ByDate.Reverse }}
{{- $article := where (.Site.GetPage "blog").Pages ".Params.categories" "article" }}
{{- $articleDisplayTime := time.ParseDuration "-30h" }}
{{- $articleNew := where $article ".Params.publishDate" "ge" (time.Now.Add $articleDisplayTime) }}
{{ if $articleNew }}
<div class="announcements">
<h2 id="neuigkeiten" class="on-hover-trg">Neuigkeiten <a href="#neuigkeiten" class="on-hover"><i class="fa-solid fa-link small"></i></a></h2>
{{- range $articleNew.ByDate }}
<div class="announcement">
{{- partial "blog-header.html" (dict "headingLink" true "level" 4 "reduced" true "page" . ) }}
@ -44,7 +47,6 @@
{{- end }}
</div>
{{- end }}
<p>Wir pflegen ein <a href="blog">Archiv aller Neuigkeiten</a>.</p>
</div>
{{- end }}

View file

@ -14,12 +14,7 @@
{{- end }}
<div class="infos">
{{- if (eq .Params.categories "event") }}
<span class="li-space"><i class="fa-solid fa-calendar-day"></i> {{ .Date | time.Format "Mon, 2006-01-02 15:04" }}</span>
{{- else }}
<span class="li-space"><i class="fa-solid fa-newspaper"></i> {{ .Date | time.Format "2006-01-02" }}</span>
{{- end }}
{{- if (eq .Params.categories "event") }}
{{- with .Params.location }}
<span class="li-space">
<i class="fa-solid fa-location-dot"></i>
@ -30,7 +25,6 @@
{{- end -}}
</span>
{{- end }}
{{- end }}
{{- if $showTags }}
{{- with .Page.GetTerms "tags" }}
<span class="li-space"><i class="fa-solid fa-tag"></i>
@ -52,10 +46,8 @@
{{- end }}
</div>
{{- if isset .Params "header" }}
<div class="image-container">
{{- $img := .Resources.GetMatch .Params.header.image }}
<img src="{{ $img.RelPermalink }}" alt="{{ .Params.header.caption }}" />
</div>
{{- $img := .Resources.GetMatch .Params.header.image }}
<img class="container" src="{{ $img.RelPermalink }}" alt="{{ .Params.header.caption }}" />
{{- end }}
</header>
{{- end }}

View file

@ -12,17 +12,17 @@
{{- if eq ._type "vevent"}}
<tr>
{{- $start := time .dtstart }}
<td style="font-variant-numeric: tabular-nums;">{{- if eq .status "CANCELLED" }}<del>{{- end }}{{ time.Format "Mon, 2006-01-02 15:04" $start.Local }}{{- if eq .status "CANCELLED" }}</del>{{- end }}</td>
<td style="font-variant-numeric: tabular-nums;">{{ time.Format "Mon, 2006-01-02 15:04" $start.Local }}</td>
{{- $potentialUrl := index (findRE `https?://\S*` .description 1) 0 }}
{{- if eq $potentialUrl nil }}
<td>{{- if eq .status "CANCELLED" }}<del>{{- end }}{{ .summary }}{{- if eq .status "CANCELLED" }}</del>{{- end }}</td>
<td>{{ .summary }}</td>
{{- else }}
<td><a href="{{ $potentialUrl }}">{{- if eq .status "CANCELLED" }}<del>{{- end }}{{ .summary }}{{- if eq .status "CANCELLED" }}</del>{{- end }}</a></td>
<td><a href="{{ $potentialUrl }}">{{ .summary }}</a></td>
{{- end }}
{{- if eq .location "Z9" }}
<td><a href="https://wiki.hamburg.ccc.de/club:z9:start">{{- if eq .status "CANCELLED" }}<del>{{- end }}Z9{{- if eq .status "CANCELLED" }}</del>{{- end }}</a></td>
<td><a href="https://wiki.hamburg.ccc.de/club:z9:start">Z9</a></td>
{{- else }}
<td>{{- if eq .status "CANCELLED" }}<del>{{- end }}{{ .location }}{{- if eq .status "CANCELLED" }}</del>{{- end }}</td>
<td>{{ .location }}</td>
{{- end }}
</tr>
{{- end }}