Skip to main content

PINPal

A tool for helping you memorize random passwords.

The Problem

Most of the time, we should store our passwords in password managers and not memorize them.

But there are a small number of passwords that you really need to have committed to memory:

  • first and foremost, of course, the master password for your password manager
  • the PIN code for your bank
  • the unlock code for your mobile devices
  • the password to the email account where the unlock codes

All of these codes should be rotated at least somewhat regularly, but doing the work of re-memorizing these is super annoying and often we just don't bother.

The Solution

Rather than write down a password and rely on the process of needing to actually unlock your devices, PINPal provides a spaced-repetition prompt to try to help you remember them as you're working on a computer.

Security

Since PINPal's job is to help you manage your most sensitive secrets, it behooves it to treat its data very carefully.

Currently PINPal stores all secrets using the Python keyring module, and gradually forgets the password as you make progress in memorizing it.

Usage

To start memorizing a new secret,

$ pinpal new

and you'll be prompted to label the new secret.

To check up on your secrets and get prompted to recite them, simply run

$ pinpal

You will want to add

pinpal check

to something that is run frequently. I have it in my shell prompt. This will tell you when you need to run pinpal.

Metadata

Release files for pinpal 2025.8.21

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pinpal 2025.8.21
File Size Uploaded
pinpal-2025.8.21.tar.gz 28.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pinpal 2025.8.21
File Interpreter ABI Platform
pinpal-2025.8.21-py3-none-any.whl Python 3 none any Details

Total release size: 49.3 kB

Release files / pinpal-2025.8.21.tar.gz

Download URL pinpal-2025.8.21.tar.gz
Size 28.6 kB
Tags Source
SHA-256 checksum
How to use checksums
daaa965b60b179293ce3f34720aa4a2a0970150139fab69b20c4496ab156ae06
BLAKE2b-256 checksum
How to use checksums
d57430f9b995a4358453cf453ce6ec8f1e0d58e7e5626feda4875641c8cbd369
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pinpal-2025.8.21-py3-none-any.whl

Download URL pinpal-2025.8.21-py3-none-any.whl
Size 20.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d4bfcfde8ef9bda53107532e6f5e1bc2ce0f0795ff0cc11853d2e8295a025bf
BLAKE2b-256 checksum
How to use checksums
3fea551eec0ab5dcd924c2a901e52a6c8b770450b271d850071ff7ac00fe71e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

2025.8.21 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page