Last updated: 2026-04-23
This site does not track you. It does not set cookies for analytics or advertising, does not fingerprint your browser, does not embed third-party trackers, and does not share data with third parties. Standard web-server access logs (IP address, timestamp, path) are retained only as long as the hosting provider's default retention permits.
Anyone can use the basic QR code generator. Short, named slugs (e.g.
/qr/mytalk/) can only be created by authenticated site
accounts โ and since account sign-up is disabled, in practice only
Mariatta creates slug-style QR codes. No new accounts can be
self-registered through this site.
The QR code generator stores the following in the site's database so that the codes continue to resolve and can be inspected later:
Not stored: your IP address, your identity, which account (if any) created which QR code, any per-visitor record of who followed a short URL, or anything else that would link a QR code back to a specific person.
The availability feature depends on OAuth access to Mariatta's own Google Calendar accounts. When Mariatta (the site owner) connects a Google account to this site, the following is stored:
From Google Calendar, the site calls the
freeBusy.query
API, which returns only the start and end timestamps of busy
time ranges. The site does not read event titles, descriptions,
attendees, locations, guest lists, or any other calendar event details.
freeBusy responses are cached for up to 5 minutes and then re-fetched.
The busy timestamps are combined with Mariatta's configured business hours to produce a public free/busy shadow โ shown on this site as qualitative day labels ("Available", "Likely available", "Tight", "Unlikely", "Unavailable") and time ranges. Visitors see only this processed output, never raw event data.
To prevent abuse of the public JSON API and the Model Context Protocol endpoint, the site enforces per-IP request limits (currently 120 requests per minute for the JSON API and 60 requests per minute for the MCP endpoint). Counters are held in the site's cache backend keyed by the requester's IP address and expire automatically at the end of each one-minute window. The IP address is used only to enforce these limits and is not retained, aggregated, or used for any other purpose. Standard web-server access logs (described above) are separate and follow the hosting provider's default retention.
The site does not sell, trade, or share connected-account data with third parties. Data is accessed only by Google (when fetching freeBusy) and the hosting provider (as a necessary part of serving requests).
Connected-account data is retained until the site owner revokes the connection from the site's admin, or until you (if you authorized a connection) revoke access at myaccount.google.com/permissions. Revocation invalidates the stored refresh token immediately.
Questions, concerns, or data-access / deletion requests: open an issue at github.com/Mariatta/secretcodes/issues.