Privacy
This page describes what ryansmedstad.com collects when it is visited and used, where that data lives, and how long it is kept. I run the site myself and use no advertising or social media trackers.
Traffic and page counts
Cloudflare hosts the site. Cloudflare receives every request, including the visitor's IP address and browser details, and gives me aggregate reports on pages, countries, devices, and referring sites.
A small script on each page adds anonymous counts in my own storage on Cloudflare. It records the referring site, any utm_source, utm_medium, or utm_campaign tags on the link, the page path, and the time. Clicks on outbound links, share, copy, and export buttons, and contact links are counted the same way, as are events in the 404 game. Some of these records include a two-letter country code supplied by Cloudflare. None of them holds an IP address, a cookie, or a persistent identifier.
Event records are deleted after 90 days. Running totals per outbound destination are kept as plain counts.
Search
Site search runs in the browser. Each search term is also logged with the number of results, whether the device is mobile or desktop, and the time. Log entries are deleted after 90 days. Search terms are stored as typed, so personal details are best left out of the box.
Bot checks and rate limits
Cloudflare Turnstile checks that requests to the tools come from a person. Turnstile receives the IP address and browser details for that check. To limit repeated requests, the tools keep a salted hash of the IP address for up to an hour. The site's storage does not hold the IP address itself.
Content Decoder
Text pasted into Content Decoder is sent to an AI model run by Groq and analysed there. The site does not store the text. After each analysis it keeps summary measures of the result for 90 days, such as word count, themes, keywords, sentiment, estimated audience and industry, the model used, and a country code.
Groq handles the text under its own terms, so personal or confidential material is best left out.
AI Readiness and UX Bench
AI Readiness fetches the public files and pages of the domain entered, including robots.txt, sitemaps, llms.txt, the home page, and structured data, and looks the domain up in Common Crawl, Wikipedia, and Reddit. An AI model run by Groq writes a short summary from those check results. The domain, score, category scores, model, and a country code are kept for 90 days.
A share link is created only when the Share button is used. It stores the scanned result under the link's share id until the link expires after 90 days. The result is removed within a day of expiry.
UX Bench looks up the domain entered in Google's Chrome UX Report and the Tranco ranking. It keeps the domain, its industry classification, and the measured metrics for 90 days.
Monthly rollups of tool usage are kept beyond 90 days. They hold counts and, for these two tools, the domains checked with their scores.
Cookies and local storage
The site's own code sets no cookies. Local storage holds the light or dark theme. Session storage holds flags that keep a visit from being counted twice and temporary state for the 404 game. All of it stays on the device.
Requests
To ask for a record to be looked up or deleted, use the Connect section of the About page. Records carry no names or identifiers, so a request may need details such as the approximate time and the text searched.
Last updated October 28, 2026.