Skip to content
"sdfgh", an encrypted notepad in ~65 lines of Python. Read the code, trust it (or not), and use it (or not)!
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Why this name?

"sdfgh" are consecutive letters from the second row of a QWERTY or AZERTY keyboard, the kind of letters you type when you need a random name.

What's the goal?

We often hear:

Don't trust an encryption program if it's not open-source

This is true, and here it's even:

"Don't trust my encryption program if you cannot read its source code completely in 5 minutes."

You want to use it this program for your personal notes? Just take 5 minutes to read the ~65 lines of code(*).

Why another lightweight notepad with encryption?

I needed an encrypted notepad for personal notes that has these features:

  • Ask a password on startup
  • Don't re-ask for the password when saving since we already asked that when opening (except if it's a new file)
  • Open-source
  • Dark mode colors
  • The unencrypted plaintext is never written to disk
  • I wanted to be able to read the full source-code before using it, without spending 1 full day on it (so I finally wrote it in a few hours)

(*) Ok, you still have to trust the Python official package (I think it's ok) and PyCryptoDome (installed via pip install pycryptodome).

How to use it?

Just run python That's all.


CC BY-SA 4.0


Feel free to post issues. NB: This project will (probably) never be made longer than 100 lines of code, so nearly no new features will be added. (No modular splitting into several .py files will be done, and no re-structuring with Class MyEditor:, etc.)

About this project

This project started as an attempt to write an encryption plugin for Sublime Text (see here) but the integration is not that easy since Sublime Text compares the file on disk with the buffer to determine if there are unsaved changes; if the former is encrypted after saving, the editor always see unsaved changes, and this introduces a lot of small issues.


@JosephErnest on Twitter

More on

You can’t perform that action at this time.