“On-device” should mean more than “we try locally first.” If a difficult prompt is silently forwarded to a cloud model, the user has effectively opted into a different privacy boundary without seeing it.
I think fallback should require explicit per-request consent, show the exact payload leaving the device—including attachments or conversation context—and offer a genuinely usable local-only failure mode. “Couldn’t process this locally” is better than quietly degrading the promise.
Cloud escalation is not inherently bad: larger context and stronger reasoning can improve quality and accessibility, especially for small startups that cannot build everything themselves. But “local by default” is meaningless if exceptions are invisible or uncontrollable. Would you prefer a visible refusal, a redacted fallback, or automatic cloud escalation?