Privacy policy
A straightforward account of the data this site uses, and the choices you have.
Last updated: 3 September 2026
What this policy covers
This policy explains what happens to information when you browse this portfolio, send a message through the contact form, or change a site preference such as the sound toggle. It covers this site only — not the external sites linked from it, including GitHub, LinkedIn, Instagram, X, and the live client projects shown in the work section, each of which has its own policy.
Information collected
Information you send. If you use the contact form, the first name, last name, email address, and message you type are delivered to Abdus Salam's inbox so he can reply. That is the whole payload — there is no hidden field, no marketing list, and the site has no database, so nothing you send is stored on the site itself.
Information you send another way. The WhatsApp, phone, and email links elsewhere on the site simply hand off to those apps. Anything you send that way is governed by whichever service you used to send it.
Usage information. There is no analytics package on this site. No Google Analytics, no tracking pixels, no advertising or session-recording scripts, and no visitor profile of any kind. The one thing counted is the total number of visits shown in the footer: arriving adds one to a single number, and that number is the entire record. Nothing about who you are, where you came from, or what you read is stored beside it — the total cannot be taken apart into individual visits, because individual visits are never written down. The hosting provider keeps ordinary server request logs, as any web host does, and those are used only to keep the site running and secure.
Cookies and browser storage
This site sets no cookies. It does use a small amount of browser session storage, which lives on your device, is never transmitted to the site, and is discarded when you close the tab:
- entry-sequence-played — records that you have already seen the opening animation, so it does not replay on every page you visit.
- ambient-audio-muted — records that you muted the background music, so it stays muted for the rest of your visit.
- visit-counted — records that this visit has already been added to the footer's total, so reading several pages counts once rather than once per page.
Because both are session storage rather than cookies or local storage, they expire on their own when the tab closes. Nothing here is used to identify or track you.
Fonts, media, and third parties
Fonts. Typefaces are downloaded at build time and served from this site, so your browser makes no request to Google Fonts and no third party sees your IP address for typography.
Images. Project screenshots and other imagery are served from this site's own assets.
Background audio. The ambient track streams from a media host. It is requested lazily — only after you interact with the page, and never if you have muted the site — so a visit where you never click nor press a key does not fetch it at all.
GitHub activity. The contribution graph on the About page is fetched by this site's server from a public GitHub mirror and cached. Your browser never contacts that service, and nothing about you is sent to it.
Visit count. The footer's total is one number held in a hosted Redis database. Your browser asks this site's own server to add one to it and to report the new figure back; your browser never contacts that database, and it receives nothing about you.
Service providers. The site runs on Vercel, the contact form is delivered through Resend, and the visit total is stored on Upstash. Each processes data only to perform those functions.
How information is used
- To read and reply to messages you send through the contact form.
- To remember, for the length of your visit, that you have seen the intro animation, whether you muted the sound, and that your visit has already been counted.
- To keep a single running total of visits to the site, shown in the footer.
- To keep the site available, diagnose technical problems, and protect it from abuse.
Your information is not used to profile you, to target advertising, or to build a mailing list.
Sharing and retention
Personal information is never sold or traded. It is shared only with the service providers listed above, which are needed to host the site and deliver contact-form messages, or where disclosure is required by law.
Contact messages arrive as email and are kept for as long as is reasonably useful to answer you and to maintain a record of the conversation, then deleted. Beyond those there is no per-visitor data to retain, because none is collected — the footer's total is a single running number, kept indefinitely, that says nothing about any individual visit.
Your choices
- Mute the background music from the control in the corner of any page. The site also honours your operating system's reduced-motion setting and drops the animation accordingly.
- Clear browser storage, or simply close the tab, to reset the sound and intro preferences described above.
- Choose not to use the contact form — WhatsApp, phone, and email reach the same person directly.
- Depending on where you live, you may have the right to request access to, correction of, or deletion of information you have sent. Ask through any contact method on the site and it will be honoured.
Policy updates
This policy is updated whenever the site's behaviour changes — a new tool, a new form field, or anything that touches your data. The date at the top of this page reflects the most recent revision.