Skip to content

Privacy page and terms and disclaimer - #22

Merged
acesonic7 merged 1 commit into
mainfrom
docs/privacy-terms
Oct 7, 2026
Merged

acesonic7 merged 1 commit into
mainfrom
docs/privacy-terms

Conversation

@acesonic7

Copy link
Copy Markdown
Owner

Summary

/privacy. Every claim was checked against the code and the live deployment:

  • No accounts, cookies or analytics; fonts are self-hosted (next/font).
  • What is stored in the browser: studies, earlier designs, settings, and the LimeSurvey address, username and survey ID. The password is never stored, and project files leave out the username. Clearing site data, or Safari's 7-day rule, removes it; project files keep copies.
  • What reaches a server:
    • Vercel's standard request handling, with a link to its privacy policy.
    • The optional LimeSurvey push, which goes through a function in Washington, D.C., USA (iad1, read from x-vercel-id). The route stores and logs nothing; the rate limiter keeps the address in memory for about ten minutes.
    • Linked images, which are loaded from third-party hosts.
  • Respondents' data is collected by the survey platform and never reaches UtilityLab. The page also covers rights and changes.

/terms:

  • The Apache-2.0 "as is" basis, with the warranty and liability sections cited.
  • What stays the researcher's responsibility: checking the design, testing the survey, ethics and data protection, reporting.
  • Platform verification status: LimeSurvey tested on a live server; Qualtrics and Sawtooth not yet.
  • No affiliation with Qualtrics, LimeSurvey, Sawtooth or Ngene, availability (keep project files), and fair use of the push.

Links: from the landing footer, the rail footer, the app footer, the LimeSurvey push panel (which now says that the credentials pass through a US function and that the LSS download keeps everything local), the sitemap and the README.

Rate limiter: it now drops expired clients on each check, so an address is held only about ten minutes, matching the privacy page.

Test plan

  • npm test (1039 passed), npx tsc --noEmit
  • Browser: both pages in light and dark, and at 375px with no horizontal scroll; links on the landing page, rail and push panel; the rail footer doesn't overflow
  • CI build

🤖 Generated with Claude Code

/privacy states what stays in the browser, what reaches a server (Vercel's
request handling, and the optional LimeSurvey push through a function in
Washington, D.C.), linked images, and that respondents' data never reaches
UtilityLab. /terms covers the Apache-2.0 "as is" basis, what remains the
researcher's responsibility, the verification status of each platform export,
availability and fair use. Both are linked from the landing page, the rail, the
app footer, the LimeSurvey push panel, the sitemap and the README. The push
route's rate limiter now drops expired clients so addresses are held only
about ten minutes, as the privacy page says.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
utilitylab Ready Ready Preview Oct 7, 2026 2:23pm UTC

@acesonic7
acesonic7 merged commit 80d2487 into main Oct 7, 2026
3 checks passed
@acesonic7
acesonic7 deleted the docs/privacy-terms branch October 7, 2026 14:31

This branch was successfully deployed

1 active deployment
Preview — 586029e1 Deployed Oct 7, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant