Skip to main content

CV Sharing

Share your CV with a link — no account required for the viewer. You control who can see it and for how long.

Access modes

ModeDescription
PublicAnyone with the link can view your CV
RestrictedOnly specific email addresses you invite can view it

Access controls (Pro)

OptionDescription
Password protectionVisitors must enter a password before viewing
Expiry dateThe link automatically stops working after a chosen date
Email restrictionOnly named email addresses can access the link

Share URL

Your shareable link looks like:

https://cvfox.app/s/your-unique-token

How the viewer sees your CV

The viewer opens your link and sees a clean, standalone page with your CV — no CVFox navigation, no login prompt (unless you've restricted access). If you've set a password, they'll be prompted to enter it first. Password -->|No| Access Access -->|Yes| EmailCheck EmailCheck -->|Not in list| Deny EmailCheck -->|In list| Show Access -->|No - anyone| Show


## Plan Requirements

| Feature | Free | Pro |
|---|---|---|
| Basic public sharing | ✅ | ✅ |
| Password protection | ❌ | ✅ |
| Expiry date | ❌ | ✅ |
| Email-restricted access | ❌ | ✅ |

## Share Password Security

Passwords are **BCrypt-hashed** before storage using `bcryptjs`. The plain-text password is never stored. On each share view, the entered password is compared against the hash.

## Shared Link Routes

Shared CV pages are rendered under `src/app/s/`. These routes are intentionally **outside** the `[locale]` App Router segment and skip both i18n and auth middleware.