People say “everything is in the database” or “it’s all JSON now.” Both can be true at different layers. What stays constant: your meaningful stuff becomes bytes — often broken into objects (a file in object storage), rows in tables, or blobs (images, attachments) pointed to by those rows.
Settings, drafts, chat messages, and API responses often start life as UTF-8 text — human-readable if you squint. On disk they are still binary the machine writes in chunks. “Plain text” is a format choice, not magic that escapes custody: those bytes still live on some provider’s SSDs when you use hosted SaaS.
Photos, audio, and video are heavier blobs — same datacenter reality, bigger egress bills. Whether the app shows a gallery or a spreadsheet, storage economics push vendors toward deduplication, CDNs, and retention policies you did not negotiate line by line.
Useful simplification: hosted product ⇒ someone else’s disks hold the canon. Local app or browser database ⇒ your device (or your server’s disk) holds the canon until you sync elsewhere on purpose.