R has this concept of workspaces. A workspace contains the loaded modules as well as the state of all user-defined variables, their values, etc. And a common workflow is that the entire workspace state is persisted in an RData file. It's like you were working in some REPL, but the last state of the REPL is persisted in between your sessions. So it's a different kind of programming, it's more interactive if you don't need to start from scratch every time. That means if something takes a while to compute, it's OK, because you only run it once, not every time you "run the program".
Doppler solves this problem by storing your secrets in the cloud *hand wave*.
In actuality, the Doppler CLI (a Go binary) fetches your secrets from Doppler's API and injects them as environment variables into your specified process. That looks something like `doppler run -- printenv`. This prevents your secrets from being written to the filesystem in plain text, and prevents the environment variables from being available more broadly. In the case of docker, you would bake the Doppler CLI into your image, thereby sidestepping the documented `docker inspect` pitfall.
Of course, the CLI still needs a way of authenticating to Doppler's API. You authenticate and authorize the CLI by running `doppler login`. This initiates a login flow that you complete in your browser. Once completed, your newly generated auth token is sent back to the CLI. The CLI then saves the auth token to your system keyring for later use. The identifier needed to access that keyring entry is then stored in plain text in the CLI's config file (~/.doppler/.doppler.yaml), which is only readable by the user.
We're exploring other means of injecting your secrets into your application, as some users are wary of using environment variables. This is a challenging problem though as there are few means of injecting secrets that don't require substantially changing your application's logic.
I'm on Android and use Castbox. Wouldn't recommend the free version unless you're extremely tolerant to ads. It comes with a good selection of other features (comments, recommendations, etc.) but I don't use them.
I'd also (tentatively) put PocketCasts forward. I switched to Castbox because I encountered an issue that made it unusable, but it doesn't seem like it was widespread when I was trying to find out what was wrong. Unfortunately the Support Team couldn't help so I had to leave it.