Privacy note
Evidence, not surveillance.
This site measures whether the work is being read. It is designed to do that without cookies, raw IP storage, advertising pixels, or individual profiles. This page describes exactly what runs in the code in this repository.
Current choice
You have not chosen yet
You can change your mind at any time. Turning analytics off removes the anonymous visitor and session identifiers from this browser. It does not delete already-aggregated counts, because those records contain no identifier that could be traced back to you.
01
Analytics are opt-in
Anonymous analytics are off until you press “Allow anonymous” in the privacy notice. If you decline, no analytics request is sent from this browser.
When enabled, the site stores a random visitor identifier in localStorage and a random session identifier in sessionStorage. These are not cookies, and they are not derived from your name, email, or device fingerprint.
The API records page paths, project views, résumé downloads, contact-button clicks, assistant opens, command-palette use, an approximate device/browser/OS label, a referrer hostname, and a two-letter country code when a hosting CDN supplies one. It does not store raw IP addresses.
02
Retention
Aggregated analytics events are retained for up to 400 days by default. Visitor sessions are counted as active only during a 60-second window; the site sends a heartbeat every 25 seconds while the tab is visible.
The exact retention period is a server configuration value. There is no public profile, advertising network, cross-site tracker, or sale of data.
03
Contact messages
If you submit the contact form, your name, email address, subject, message, source page, and submission time are stored in a private database so Somanadh can reply. The form is rate limited and server validated.
Messages are not published. They are not sent to an email provider unless that integration is configured by the operator. You can ask for a message to be deleted by emailing skollavajjala@gmail.com from the address used to send it.
04
The AI assistant
Questions sent to SOMANADH.AI are processed by the API and stored with the assistant mode, latency, token counts, and source titles so the owner can measure quality. No visitor identifier is attached to an assistant question by the current frontend.
When OpenRouter is configured, the conversation and retrieved portfolio context are sent to the configured model provider so it can generate a response. When it is not configured, answers are assembled locally from the same verified records and clearly labelled as local grounded mode.
Do not paste sensitive personal information into the assistant. It is a portfolio guide, not a private support channel.
05
Cookies and the admin studio
The public site sets no analytics cookies. The private /admin area uses one HttpOnly, SameSite=Lax session cookie after a password login. It is marked Secure in production. The cookie is not readable by JavaScript and expires after the configured admin session window.
Uploaded portraits and résumés are served from the API's /media route. They are public assets once referenced by the portfolio; do not upload anything you would not want a visitor to see.
Contact
Questions or deletion requests: skollavajjala@gmail.com. This is a personal portfolio, not a company service.
Last reviewed · 2026