Anything with online dependencies will necessarily require ongoing upkeep and ongoing costs. If a system is not local-first (or ideally local-only), it’s not designed for long-term dependability.
The purpose of abstracting is not to be vague, but to create a new semantic level in which one can be absolutely precise.