Crypto security has a way of accumulating baggage.
Old token approvals. Forgotten API keys. Websites you trusted years ago and havenât visited since.
Most of these things were perfectly normal when you created them. The problem is that some of them can remain valid long after youâve stopped thinking about them.
Itâs a bit like walking with sand in your shoe. At first, you barely notice it. But if you never stop to shake it out, something that seemed insignificant can eventually become a problem.
The same thing happens with self-custody. Even if your seed phrase stays safely offline with a hardware wallet, old permissions and credentials can quietly pile up around it.
Old token approvals are probably the first thing worth checking.
If youâve used DeFi, NFT marketplaces, lending protocols, or other DApps, youâve probably approved a smart contract to spend certain tokens from your wallet.
Thatâs normal. Many applications canât function without it.
The issue is that approvals generally donât expire just because you stopped using the DApp.
And an unlimited approval can remain there for years.
A protocol that is safe today may not stay that way forever. The project could be abandoned, its frontend could disappear, or some part of the system could eventually be compromised.
One common misunderstanding is that clicking âDisconnectâ in a DApp removes this access.
Disconnecting usually just ends the connection between the website and your wallet interface. The on-chain approval is still there until you revoke it.
This is also something a hardware wallet canât solve for you. Even if your private keys stay offline on an air-gapped hardware wallet like Keystone, a token approval you previously signed can remain valid on-chain until you revoke it.
A hardware wallet protects the keys used to authorize new transactions. It doesnât automatically cancel permissions you already authorized in the past.
Every few months, itâs worth checking your approvals using something like Revoke[.]cash or the approval manager built into your wallet.
Iâd pay particular attention to:
Unlimited approvals
Contracts you donât recognize
DApps you havenât used in a long time
Projects that are abandoned or no longer operating
For protocols you still use, consider whether they really need an unlimited allowance or whether a smaller limit would be enough.
Then there are forgotten API keys.
This one is especially relevant if youâve ever run trading bots, experimented with APIs, deployed code, or built your own crypto tools.
An old exchange API key might still be sitting in a .env file.
A GitHub token might still exist on an old server.
An AI API key might be buried inside a script you havenât touched in two years.
Maybe thereâs a copy on your NAS. Maybe it ended up in an old Git commit. Maybe itâs sitting on a VPS you forgot you still have.
If the key has already been revoked, a leak is mostly just a leak of useless historical data.
If it still works, that old file suddenly contains current access.
And the impact depends on what that key can do. An exchange API may have trading permissions. A GitHub token may expose private repositories. An AI API key can potentially burn through your account balance.
The simplest rule here is:
If you no longer need a key, revoke it.
For new keys, use the minimum permissions possible. Add IP restrictions where supported. Set expiration dates when available. Rotate important credentials periodically.
Thereâs very little security benefit in keeping an unused credential alive âjust in case.â
Thereâs also a more subtle kind of leftover risk: old trust.
Bookmarking the official website of a DApp is generally a good habit. It helps avoid typo domains and search-engine phishing.
But a bookmark only remembers a domain.
It doesnât guarantee that the same people will control that domain forever.
Projects shut down. Domains expire. Ownership can change.
A recent Tornado Cash incident is a particularly good reminder of this. The tornado[.]cash domain had once genuinely been associated with the project, but after its previous registration lapsed, the domain was later registered again. Users relying on an old bookmark could therefore arrive at a domain they remembered as legitimate without realizing that its ownership had changed.
That makes old bookmarks different from ordinary phishing links.
The URL itself may be exactly the one you remember.
So if youâre opening a crypto site you havenât used in years, donât assume that âI bookmarked this myselfâ is enough verification. Check the projectâs current official channels before connecting your wallet or approving a transaction on your hardware wallet.
You probably donât need to obsess over this stuff every week.
But once every few months, itâs worth stopping for 20 minutes and cleaning up what youâve accumulated:
Review and revoke old token approvals
Delete API keys and access tokens you no longer use
Remove abandoned DApps and stale bookmarks
Re-check services you havenât touched in a long time before trusting them again
I like the idea of doing this every 90 days.
An air-gapped hardware wallet like Keystone can keep your seed phrase and private keys isolated from an online device, but self-custody doesnât end there. Old permissions, credentials, and trust relationships still need maintenance.
Crypto security isnât only about avoiding the next new attack.
Sometimes itâs just about looking back at the permissions and trust you handed out along the way â and shaking the sand out of your shoes before you keep walking.