As for IMAP with more JSON there would also be Fastmails https://jmap.io/
Unless I'm missing something about what they're doing, this is a basic SIEVE script that filters anything not explicitly whitelisted into a folder.
You could probably build that with a bunch of hacks but you'll not get a polished consumer friendly feature out of that. They are not in competition with people running mutt and a bunch of custom scripts, it's more of an alternative for people using Gmail with Gmail apps currently and don't even know what's IMAP.
That's exactly how you'd do it, and the functionality definitely exists - all handled on the server side. See: learning spam from ham by dragging to/from the spam folder.
If I were building it for my parents, I'd say "anything in Pending/Held/StrangerDanger that you flag will be whitelisted and will be in the Inbox from then on".
Flagging a message on iOS Mail is pretty straightforward - swipe+tap or long-press+tap+tap and easy enough conceptually as a "this is good" action, I think?
Backend picks up the flag change, adds the address to the inbox, strips the flag, and moves that message to the inbox.
Add "move it to junk to undo the whitelisting" for completion (also easy on iOS Mail).
Perhaps not as polished as writing a custom app to do it, no, but it seems fairly consumer friendly to me?
Again I'm not arguing that IMAP isn't creaky and clumsy but let's not pretend that lack of power is the reason they didn't use it.