Case study · Security engineering

Sharing my CV without publishing my phone number.

Blaze Link is the site you are on. It keeps my work public and my private details behind an access flow that I approve, that expires, and that I can revoke at any time.

Role
Design and development
Year
2026
Stack
Vercel · Supabase · JavaScript
Status
Live
Blaze Link contact request form filled in with sample details
1 · A visitor asks for access.
Blaze Link private access page showing sample contact details, a view count and a CV download button
2 · After approval, they receive a private page. Real interface, sample data.

The problem

At networking events I want to share my CV and contact details quickly. Putting them on a public page means anyone, including scrapers and scammers, has them for good.

So the public site shows my work, and the private details are released one person at a time, for a limited time, with a record of what happened.

How it works

  1. 01

    Request

    A visitor sends their name, email and reason. The form includes a hidden honeypot field for simple bots.

  2. 02

    Review

    I see the request in a private owner area that needs an email sign-in link, an authenticator code and an approved device.

  3. 03

    Approve

    I choose how long the link lasts and how many views it allows, and the link is emailed to the requester.

  4. 04

    Access

    They open a private page with my contact details and CV download, until it expires or I revoke it.

Architecture

Simplified. Secrets, internal names and private-area details are deliberately left out.

Security decisions

Trade-offs

Validation

I test the deployed site within an authorised scope, covering its access controls, authentication boundaries and token handling, and use what I learn to keep hardening it. Security work here is ongoing rather than finished.

See it from the other side.

Request my CV and you will go through exactly this flow.