OP_CLTV is another alternative for that scenario because it has the necessary feature to allow your key to spend the locked output before the locktime and allow another key [
of the inheritor(s)] to spend it only after the locktime.
Example script:
IF
<Your Private key's Public key pair> CHECKSIG
ELSE
<Your Preferred inheritance date> CHECKLOCKTIMEVERIFY DROP
<Inheritor's Public key> CHECKSIG
ENDIF
The problem is I'm not aware of any user-friendly implementation of that script in famous bitcoin wallets.
One option I can think of is to utilize Bitcoin Core's "
sh" or "
wsh" descriptor and "
miniscript" to import it to a watch-only wallet.
Touching descriptors and miniscript to make a DIY dead man's switch is really dangerous if you don't know what you're doing. It can cause a total loss of funds in dramatic Wile E. Coyote fashion.
I'm not saying that to scare anyone, but it is
much better to simply use a third party guarrantor/trustee. I wouldn't even trust random companies for something this sensitive.