Draft for the operator
Privacy
Hosting and database
[PLACEHOLDER — replace before the site is public. This skeleton is not legal advice.] Name the host. The site is a Next.js app with a Postgres database on a server the operator controls. The host sees connection data such as IP address and the pages requested, as any web server does.
Account and report mail is sent through the provider selected by EMAIL_PROVIDER. resend sends through Resend (api.resend.com). smtp sends through the SMTP host named in the server configuration. console only prints the message on the server and is for development. The messages are a magic-link confirmation, a watchlist notice about a hotel the person asked to watch, or a one-time notice that a report was removed. They are not marketing. The watchlist notice includes a link that turns those notices off.
Account and session cookie
Sign-in uses Better Auth with a magic link. After the link is confirmed, the browser stores a session cookie named better-auth.session_token. It is required to keep the person signed in. The session lasts about 7 days. The server stores the session, the account row, and the email address. No password is stored.
Search
Hotel search runs on Meilisearch on the same server. The browser calls this site’s /api/search route. Meilisearch does not set a cookie in the browser. A search query is not tied to an account.
Analytics
The layout loads https://analytics.mcflight.com/script.js with a website id. That file is the Umami tracker. It does not set a cookie. It sends the page URL, referrer, browser language and screen size to analytics.mcflight.com. It can read a localStorage key named umami.disabled if the visitor has set that opt-out. The script is not required to read the site. The operator decides, with the privacy text, whether this stays, is gated, or is removed. The tag is set to honour a browser Do Not Track signal.
Fonts
The typeface is Geist, loaded with next/font. Next.js downloads the files at build time and serves them from this site. The browser does not request Google Fonts for the page.
Program filter
Choosing Marriott Bonvoy, Hilton Honors, World of Hyatt, IHG One Rewards or Accor ALL puts that choice in the URL. The site does not store it in a cookie or in localStorage. A signed-in member’s saved programs live in the database, not in the browser. An older ei_program cookie, if one is still on the device, is no longer read or written.
Reports
A stay or lounge report stores the answers, the email address, and, for moderation, the IP address and user agent. The email is confirmed with a magic link before the report can be public. There is no proof of stay. Account deletion keeps published reports and removes the email and the link to the account, unless the person also chooses to delete the reports. A guest with no account can ask for their guest reports to be deleted from the form on this page. The link in that email expires and works once.
Legal bases, retention and rights
[PLACEHOLDER — replace before the site is public. This skeleton is not legal advice.] State the legal bases (for example contract, legitimate interests, consent), how long each category is kept, and how to access, export, correct, delete or complain. Export and account deletion are available in the signed-in account. The supervisory authority is for the operator to name.