Hey! I also made something similar to this (uses a password-derived key to create protected, self-contained HTML).
https://www.maxlaumeister.com/pagecrypt/
Mine was originally in-browser, but thanks to some contributors (Zoltán Gálli and Nial Francis) it has Python and PowerShell CLIs now.
I like your use of async to make sure the work stays off the main thread.