Overse Browser
A multi-tab desktop browser in Python and PyQt5, with SQLite history and AES-encrypted profiles.
The problem
I wanted to understand what a browser actually does — tab lifecycle, session state, history, and where the security boundaries sit — which is hard to learn from the outside.
What I built
PyQt5 over a Chromium widget for rendering, with the parts I wanted to understand written by hand: tab lifecycle and state, bookmarks, and history in SQLite.
Profile storage is AES-encrypted through OpenSSL, so the interesting question — what a browser is trusted to hold on disk, and what happens if that file is read by someone else — had to be answered rather than assumed.
Measured
- Working multi-tab browser with persistent history and bookmarks.
- Encrypted profile storage rather than plaintext on disk.
- A concrete understanding of where browser state actually lives.
Plan
Plan
5 items · scale 1:1What I'd redraw
Encrypting the profile without a real key-derivation story is security theatre — the key handling is the weak link, not the cipher. Done again, I'd start from where the key lives and work outwards.