mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-18 06:03:09 -05:00
[GDPR] Cookie free usage #4373
Closed
opened 2025-11-02 05:48:30 -06:00 by GiteaMirror
·
24 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
No Label
type/proposal
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#4373
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Pingger on GitHub (Nov 22, 2019).
EDIT: Round up (from 2019-11-22 21:40 UTC)
Things that should be done:
See here:
https://gdpr.eu/cookies/
Old Post:
@guillep2k commented on GitHub (Nov 22, 2019):
Are session cookies also required to be announced? I think not. So, the quickest path to comply would be an option to disable the "Remember me" function.
You can disable the "Remember me" function by editing the login page template yourself if you are really pressed.
@Pingger commented on GitHub (Nov 22, 2019):
EDIT: GOT somewhat irrelevant, see top post for roundup
@guillep2k commented on GitHub (Nov 22, 2019):
Hey, I live in Argentina. We don't even eat cookies here. No need to yell. 😁
However, from the link you provided:
(Emphasis is mine).
Anyway, you can still update your template to warn and explain the users about any cookies.
@Pingger commented on GitHub (Nov 22, 2019):
OK ... sorry, It seems that I have multiple times now overread the not in that sentence ...
But then again, are those cookies strictly necessary?
By just opening the main page once, I get
EDIT: lang is set for ~75 years ...
EDIT 2: Yes I need to yell, because you are so far away, you otherwise couldn't hear what I say 🤐
@guillep2k commented on GitHub (Nov 22, 2019):
@Pingger OK, I was only aware of the
i_like_giteacookie. Let's see what other maintainers have to say about this (as they may be well aware of the issue).@sapk commented on GitHub (Nov 22, 2019):
@guillep2k Your https://github.com/go-gitea/gitea/issues/9122#issuecomment-557526839 seems the good action to take.
What we should do:
For details, the _csrf token would register as necessary cookie as it secure some actions by validating them.
@silverwind commented on GitHub (Nov 22, 2019):
Yeah, I'd add something like "Privacy Information" to the footer which links to a page that explains what data is stored on a visitor's computer and for what purpose (the law is not only about cookies).
Just don't make any annoying dialogs please 😉.
@sapk commented on GitHub (Nov 22, 2019):
On a side note for the bigger picture of GDPR, we should also add :
and a docs how to edit the page holding GDPR information
@guillep2k commented on GitHub (Nov 22, 2019):
What about a pre-defined template in
/contribthe users can add tocustom/templates? It may default to empty, and be referenced fromhome.tmpl. Multi-language may be a problem, though, although not unsurmountable. I'm sure there's plenty of resources in internet with such legal notice already translated.@bagasme commented on GitHub (Nov 23, 2019):
@Pingger I had similar feature issue in #8353.
@Pingger commented on GitHub (Nov 23, 2019):
Yours was more for privacy information, mine was initially intended for removal of cookie requirement. But I agree, it has also changed strongly in the direction of your Feature Request.
@guillep2k commented on GitHub (Nov 24, 2019):
@sapk Is this even possible with a git repository? Like commits, signatures, etc.
@lafriks commented on GitHub (Nov 24, 2019):
@guillep2k it is not possible with git repository as that would require rewriting whole repository git history and it would lose all signed commits and would require retag all tags, so it is unrealistic
@guillep2k commented on GitHub (Nov 24, 2019):
My point exactly. 😄
What I mean is that we can't bother to e.g. being responsible for removing user data, or force a repository owner to expose a private repo that has commits from public repos, etc. There's no way to comply with something like that. All we can do is:
Am I missing something?
@lafriks commented on GitHub (Nov 24, 2019):
imho when user is deleted all comments for that user becomes as commented by
Ghostso that should be enough@bryanpedini commented on GitHub (May 13, 2020):
EDIT 1: added source about entire SHA1 history rebase for author info (email/name/commit_message)
From comment 69897:
I don't see why you can't tell the user "hey, you joined a service that keeps track of who submitted what, we won't change how
gitworks just because you want to get deleted; your email won't be in our systems anymore, wherever possible, but all your commits get either deleted if they're part of a repository owned by your account, or remain in the system if they're in a public or otherwise owned repo".Regarding to the fact that the commits need to remain by how
gitworks, from comment 15586:imho effectively rewrting all the user's commit history (remember, you can hide the user from the web interface, but not effectively from all the single commits which base their SHA1 on the committer too), has to remain the same. An entire rebase of all the repos a particular user has committed to, just because a deletion request seems a little bit too far from being reasonable. (source: https://gist.github.com/masak/2415865, found in literally two minutes of googling).
Also, GDPR doesn't strictly require that you delete all the data, if you're forced to keep it for example by law, and in this case, by how the
gitsystem itself works. Gitea is imho a simple "web visualizer" (and manager and cloner and stuff, you get the point) of an underlying system not controlled by Gitea itself, which isgit.IMO letting the user know that anything he does regarding pushing commits and stuff that cannot be deleted even by entirely uninstalling the whole Gitea instance and trasfering all the repos to GitLab for example (in this case, the commits themselves), and telling him/her "look, you got this service, here are the terms and conditions, you accept them fine, you don't don't use the service", is GDPR-compliant "enough"...
Tho I'm not either a lawyer nor a GDPR expert, I only read here and there some articles and understood what I needed to understood for my personal life, so I might be both terribly wrong by means of how it should be implemented and terribly unlawful by means of effective GDPR compliance. Please don't quote me on this!
@zeripath commented on GitHub (Sep 7, 2020):
See also #12298
@Fl1tzi commented on GitHub (Apr 11, 2023):
In my understanding, technically required cookies are allowed to be used without announcing them. However, the _csrf cookie is not technically required when the user is not logged in. Therefore, you would need to inform the user about it.
The most simple solution to it would be to just not use the _csrf cookie when the user is not logged in.
@delvh commented on GitHub (Apr 11, 2023):
I am not a lawyer, but I don't think a technically required cookie depends on the context to be technically required.
I want to see the lawyer who sues a page on the basis that even anonymous users get a CSRF cookie that is not misused in any way.
@Fl1tzi commented on GitHub (Apr 11, 2023):
Cantao (they are saying they are GPDR compliant):
You are maybe correct, but that doesn't change that the cookie is simply not required, and the cookies used should be minimized.
@lafriks commented on GitHub (Apr 11, 2023):
I would not say it's not required but imho this all discussion is not productive, feel free to submit PR that fixes or improves cookie usage without degrading security or usability. Gitea does not use non-functional or optional cookies.
@silverwind commented on GitHub (Apr 11, 2023):
The CSFR cookie could likely be moved to an attribute on the
<html>node for the same effect.The CSFR mechanisms could probably be removed completely with a proper
SameSitesetting on the auth cookie, but so far no one has dared to attempt this.@lafriks commented on GitHub (Apr 11, 2023):
This can degrade usability when working with multiple tabs, especially if you have long standing open tab that at one point could have outdated CSRF token
Can be but at least some time ago there were some quirks with it on some browsers.
EDIT: SameSite=Strict for auth cookie would also pretty much degrade links to non public parts of gitea from anywhere outside gitea. For example if company uses private gitea instance and posts links in their external issue tracker, chat or intranet pretty much all links would lead for user to require to authorize again
@silverwind commented on GitHub (Apr 12, 2023):
How do they authorize currently? Is your cookie multi-site or are the services on the same domain name with different paths and your cookie is on top-level? I'd say both are insecure practices and cookie should be scoped to domain and the sub-path of the gitea instance (if any).