Inspiration

We were inspired by research showing that browsing patterns can be surprisingly unique. Even if trackers are blocked, repeatedly using the same browser identity across unrelated sites can still create a recognizable behavioural trail.

What it does

Unlink keeps unrelated browsing separate while preserving convenience where shared login state is actually needed. Gmail, Drive, and Docs can share one Google session, while Google Search and unrelated sites stay isolated. Anonymous sessions also rotate before too many different sites accumulate under one identity.

How we built it

We built Unlink as a Firefox extension using Firefox Contextual Identities. It automatically routes tabs into separate containers, supports shared-state clusters for related services, and creates fresh ephemeral identities for unrelated browsing.

Challenges we ran into

The hardest part was balancing privacy with usability. Isolating everything breaks logins and workflows, while sharing too much defeats the purpose.

Accomplishments that we're proud of

We built a working browser prototype using real Firefox containers rather than simulating isolation. Unlink can preserve useful login state across related apps and keep unrelated browsing separate to avoid identification.

What we learned

Privacy is not just about blocking trackers. It is also about controlling how much activity gets attached to the same identity. We learned that the best approach is not maximum isolation, but selective continuity: keep state where it is needed and separate it everywhere else.

What's next for Unlink

Next, we want to make detecting more stateful workflows automatic (workflows that must be on the same login across tabs), and test Unlink against larger real-world browsing workflows.

Built With

Share this project:

Updates

Submission history