Privacy
This page describes, honestly and completely, the usage data this site collects: an anonymized, aggregate-only pipeline for tool calls and chat questions, and page-level analytics for the site itself. Nothing here is public — see the sections below for exactly what is and isn't stored.
What's collected
- Aggregated tool-call usage: which tool was called, from which surface (the public MCP endpoint or this site's chat), and its outcome.
- Question-theme labels for chat questions — a fixed set of topic buckets (e.g. experience, skills, availability), not the question text itself.
- Coarse response-latency buckets (e.g. "under 2s"), never an exact millisecond value.
- Page-level analytics via Vercel Analytics: page views and web vitals for this site, cookieless and first-party.
What's never collected
- Raw question text or chat message contents — only a theme label, never the words asked.
- Tool call arguments or results.
- IP addresses.
- Identities, accounts, logins, or user agents — nothing that ties a request to a person.
- Third-party advertising or tracking cookies of any kind.
Chat session identifier
- Every chat request carries a session identifier: a random UUID your own browser generates the first time you open the chat, kept in that tab's session storage and thrown away when you close the tab.
- It is there to group the turns of one conversation — so a single conversation's server log lines can be read together, and so the per-conversation message limit that keeps this demo's costs bounded has something to count against.
- It is not an account, a login, or a cookie. Your browser invents it at random: it is not derived from you, your device, or your network, it carries no personal data, and it is not linked to any identity here or anywhere else.
- It is never written to this site's usage database. A stored usage event has no session field at all — only the surface, tool, outcome, theme and latency-bucket labels listed above — so the retention window below has no session identifier to apply to.
- The only places it outlives the request itself are the rate-limiting counter keyed on it, which expires with the rate-limit window (5 minutes), and this site's ordinary server request logs, which the hosting platform keeps on its own retention schedule and which are never exported anywhere else.
Nothing else is sent with a chat request — these are all of the fields the endpoint accepts:
sessionId— the per-conversation session identifier described above.messages— the conversation so far — the messages you typed and the agent's previous replies — so the agent can answer the next question in context. That text is used to produce an answer and to pick a single theme label; the words themselves are never stored.
Retention
Every usage event is deleted after 90 days. Nothing is kept longer.
Tracking cookies
No third-party advertising or tracking cookies are set anywhere on this site.
Third-party services
- Vercel — hosting this site, and Vercel Analytics for page-level traffic
- Google Gemini — processing chat questions and generating embeddings
- Neon — the Postgres database usage events and career data are stored in
- Upstash — rate limiting requests to the chat and MCP endpoints — the chat's per-conversation counter is keyed on the session identifier described above
Questions
This site has no contact form or write tools — reach Marcos Javier Alvarez through the same public links used elsewhere on the site: