Skip to content

Comments

Feature: Privacy, Terms and Research Consent#210

Merged
jankapunkt merged 26 commits intomainfrom
feature/privacy-page
Nov 21, 2025
Merged

Feature: Privacy, Terms and Research Consent#210
jankapunkt merged 26 commits intomainfrom
feature/privacy-page

Conversation

@jankapunkt
Copy link
Member

@jankapunkt jankapunkt commented Nov 19, 2025

This adds our privacy declaration, terms of use and research consent system for openqda.org and other instances (usable as blueprint).

  • static markdown page for privacy at /privacy
  • static markdown page for terms of use at /terms
  • privacy document added
  • terms document added
  • research consent implemented as double opt-in (request - email - confirm) and withdrawable
  • terms, privacy consent are necessary at registration, research is optional
  • privacy, terms and research are added to the audit
  • updating privacy and terms triggers an consent form after login

@jankapunkt jankapunkt added this to the 1.1.0 milestone Nov 19, 2025
@jankapunkt jankapunkt self-assigned this Nov 19, 2025
@jankapunkt jankapunkt added documentation Improvements or additions to documentation enhancement New feature or request UI/UX Privacy php Pull requests that update Php code javascript Pull requests that update Javascript code labels Nov 19, 2025
@jankapunkt jankapunkt marked this pull request as ready for review November 19, 2025 10:38
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a comprehensive privacy, terms, and research consent system for OpenQDA. It enables users to review legal documents, accept required terms during registration, and opt-in to research participation with a double opt-in email confirmation workflow.

  • Adds privacy policy and terms of use pages with markdown content
  • Implements a research consent system with email verification workflow
  • Updates registration to require acceptance of terms and privacy policy

Reviewed Changes

Copilot reviewed 32 out of 33 changed files in this pull request and generated 27 comments.

Show a summary per file
File Description
web/vite.config.js Configures custom element support for altcha-widget
web/tests/Feature/UserController.php Adds tests for research consent endpoints
web/tests/Feature/ResearchConsentService.php Adds unit tests for ResearchConsentService
web/tests/Feature/RegistrationTest.php Updates registration test to include consent fields
web/routes/web.php Adds routes for privacy/terms pages and research consent endpoints
web/resources/views/emails/user-research.blade.php Email template for research participation confirmation
web/resources/markdown/terms.md Complete terms of use document
web/resources/markdown/privacy.md Complete privacy policy document
web/resources/markdown/policy.md Removes old placeholder policy file
web/resources/js/form/InputError.vue Updates error styling with background color
web/resources/js/form/Checkbox.vue Adds label slot for custom checkbox content
web/resources/js/Pages/ProjectsList.vue Adds footer component to project list page
web/resources/js/Pages/ProjectOverview.vue Adds footer component to project overview page
web/resources/js/Pages/Profile/Show.vue Integrates LegalForm component in profile
web/resources/js/Pages/Profile/Partials/LegalForm.vue New component for managing legal documents and research consent
web/resources/js/Pages/PreparationPage.vue Adds footer component to preparation page
web/resources/js/Pages/CodingPage.vue Adds footer component to coding page
web/resources/js/Pages/Auth/Register.vue Updates registration form with consent checkboxes
web/resources/js/Pages/AnalysisPage.vue Adds footer component to analysis page
web/resources/js/Layouts/Footer.vue Adds Privacy link to footer navigation
web/resources/js/Layouts/AuthenticatedLayout.vue Integrates footer in mobile navigation
web/resources/js/Components/Altcha.vue Updates altcha widget configuration
web/package.json Updates altcha dependency to v2.2.4
web/package-lock.json Reflects package.json dependency updates
web/database/migrations/2025_11_18_125742_add_research_confirmation_to_users_table.php Adds research consent database fields to users table
web/app/Services/ResearchConsentService.php New service for handling research consent workflow
web/app/Models/User.php Adds research consent fields to User model
web/app/Mail/ResearchConfirmation.php Mailable class for research confirmation emails
web/app/Http/Middleware/HandleInertiaRequests.php Shares research consent data with frontend
web/app/Http/Controllers/UserController.php Adds endpoints for research consent management
web/app/Actions/Fortify/CreateNewUser.php Validates and handles research consent during registration
docs/development/backend/testing.md Updates testing documentation with linter instructions
.github/workflows/client_tests.yml Adds npm audit job to CI workflow
Files not reviewed (1)
  • web/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jankapunkt jankapunkt requested a review from hohse November 19, 2025 13:25
hohse
hohse previously approved these changes Nov 19, 2025
Copy link

@hohse hohse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Den Code habe ich mehr so überflogen - da habe ich keine Kompetenz. Die beiden legal-Sachen habe ich gelesen und für hervorragend befunden.

@jankapunkt
Copy link
Member Author

Thank you @hohse that's a great step forward! I just found we need one more feature and that is, that we need to add the consent flags to the audit.This is, because privacy and terms might change in the future and users have to actively give consent to each updated privacy and terms.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 39 out of 40 changed files in this pull request and generated 17 comments.

Files not reviewed (1)
  • web/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@kadewe kadewe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, i think you have added the footer to all the relevant views and implemented all the consent logic and ui

@jankapunkt jankapunkt merged commit bf3223f into main Nov 21, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request javascript Pull requests that update Javascript code php Pull requests that update Php code Privacy UI/UX

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants