深夜提醒

现在是深夜,建议您注意休息,不要熬夜哦~

🏮 🏮 🏮

新年快乐

祝君万事如意心想事成!

share-image
中
ESC

My Road to De-SaaS-ification in the AI Era

English 阅读中文版

Over the past few years the experience of all kinds of SaaS products and commercial apps has become increasingly absurd: splash-screen ads, feed ads, and pop-up ads bombard you in rotation; they demand a huge pile of background permissions, itching to read through your contacts, location, photo album, and clipboard one by one. Even more annoying, many features that could plainly be done locally refuse to work unless you go online and upload your personal information.

去 SaaS 化总览

What Is SaaS, and Why De-SaaS-ify?

SaaS (Software as a Service) plainly means running software on someone else’s servers, with users accessing it over the network. Its benefits are out-of-the-box usability, automatic updates, and cross-device sync; the price is that your data is handed over to the service provider along with everything else.

In the past this was almost the default choice: running your own server, writing your own client, and building your own sync was too much of a hassle — something ordinary users and even small teams couldn’t manage. So everyone got used to handing their passwords to 1Password, uploading their photos to Google Photos, giving their workout data to Huawei Cloud, and entrusting their surveillance footage to Ezviz Cloud.

But the conditions have changed now:

  • The open-source ecosystem has matured: projects like LineageOS, MusicFree, the KeePass ecosystem, Immich, and Nextcloud can already cover the vast majority of daily needs, and their interfaces and experience are no longer as rough as ten years ago.
  • Personal computing power is sufficient: a mini PC, an old phone, or even a NAS can run services that once required commercial cloud to support.
  • The development barrier has dropped: AI-assisted programming, cross-platform frameworks, and containerized deployment let individual developers maintain their own toolchain.
  • Privacy risks have been amplified: in the AI era, data is fuel. What you hand over isn’t just a few records — it’s raw material for model training, profiling analysis, and precision targeting.

So “de-SaaS-ification” isn’t blind anti-commercialism; it’s about taking back as much as possible of “what you can control yourself”: local data storage, self-hosted services, auditable code. Use SaaS to fill gaps when needed, rather than storing everything at other people’s houses by default.

Why I Started Tinkering With This

There is one core reason: I am sick to death of the wanton collection of personal private information and ads flying everywhere. I’ve had enough. Now, if there’s an open-source option I use it; if it doesn’t work well I modify it myself, gradually replacing all these ad-riddled garbage services.

These commercial SaaS products and domestic apps share several chronic ills that I can no longer tolerate:

  • Ads seep into every crack: splash screens, notification bars, search results, even system-level pushes — ad slots everywhere.
  • Excessive permission demands: a music player wants to read your contacts; a fitness app wants to stay resident in the background and upload your location — far beyond what the functionality requires.
  • Forced cloud upload of data: data that could be stored locally must be synced to servers; any moment it’s “no authorization, no service.”
  • Closed, locked-in ecosystems: once you’re inside one vendor’s all-in-one suite, the cost of switching platforms is extremely high.

Sometimes the more I think about it the more wrong it feels: the phone I paid for — how did I end up seeming like its slave, working for these apps?

In the AI era, information collection will only become more covert and more efficient. I don’t want my workout routes, listening history, SMS content, or home surveillance footage to become someone else’s training data or precision-marketing material.

That Quote About Privacy — Why It Stung So Many People

At the 2018 China Development Forum, an English remark by Robin Li (Li Yanhong), once translated and spread, caused an uproar. The most widely circulated version is: “Chinese people are more open to privacy issues, less sensitive about them. If they can trade privacy for convenience, safety, or efficiency, in many cases they are willing to.”

The full remark actually had a second half: companies must have principles — data may only be used when it benefits the user and the user is willing. But public opinion clearly didn’t let the first half off the hook.

Why the Public Criticized This Remark So Fiercely

  1. Packaging “forced compromise” as “voluntary willingness”
    Back then, the logic of countless apps was “no authorization, no service” — users had no real choice. Many people surrendered their privacy not willingly, but because using the service required concession. Worse, what they got in return was often not convenience but spam calls, ad bombardment, and endless pop-ups.

  2. Labeling an entire nation with a group stereotype
    Slapping the label “insensitive to privacy” directly onto “Chinese people” is offensive in itself. Privacy needs vary enormously from person to person; you can’t define everyone by a partial phenomenon.

  3. A sensitive historical moment
    Around that time Facebook had just been exposed for its massive user-data leak, and the whole world was reflecting on tech giants’ abuse of data. The remark was easily read as a company rationalizing excessive data collection.

Two Sides of the Real-World Picture

Objectively speaking, digital services do require a certain amount of data exchange: maps need location, food delivery needs addresses, payments need identity information. Reasonable data collection is the foundation on which services run.

The real disagreement isn’t about “whether to exchange,” but about three things: choice, transparency, and boundaries.

Users may choose to hand over some information in exchange for services, but they must have the right to refuse; companies must clearly state the purpose, must not over-collect or leak data, and certainly must not resell it. Unfortunately, back then it was precisely “no authorization, no service” that held users hostage — and that’s what inflamed the conflict.

The Institutional Changes That Followed

This episode also pushed public discussion of personal information protection. Later, the Personal Information Protection Law landed, spelling out several rules most practical for ordinary people:

  • Processing personal information requires the individual’s explicit consent;
  • Core services cannot be denied just because a user refuses authorization;
  • Excessive collection of personal information is prohibited.

The core is one sentence: privacy may be exchanged for services, but it must be truly voluntary — not the hostage-style “if you’re not willing, don’t use it.”

Why This Matters for My De-SaaS-ification

Today’s scam and quick-money recruitment companies can brazenly form industry chains to trap people largely because personal information is collected and circulated at massive scale. Once a company can obtain your demographic attributes, consumption habits, location trails, and contact relationships — and resell them downstream — precision fraud and targeted harvesting become possible. Big companies act recklessly, but the cost is borne by ordinary users.

Sometimes I run a thought experiment: if the Windows operating system were designed by certain domestic companies, splash-screen ads would probably fly everywhere, the system tray would be stuffed with “guess you like” suggestions, and every boot would make you watch a 5-second ad before reaching the desktop. This isn’t groundless worry — it’s a reality already happening on phones.

So my sensitivity about privacy isn’t because I have some shameful secret to hide; it’s because I don’t want my life to become fuel for other people’s algorithm training and precision targeting.

Firsthand Experience Woke Me Up Completely

I count myself as someone who watched the domestic internet experience deteriorate step by step. In earlier years I lived through the 3Q War, when two companies brawled on users’ computers and forced them to choose sides. Even then you could feel it: in these giants’ eyes, users’ computers and phones are merely their battlefield — your right to choose and your experience simply don’t matter.

Over all these years, things haven’t gotten better; they’ve gotten worse. Product design increasingly strays from “serving users” toward every possible trick to stretch session time, extract attention, and pry data loose. Open an app and first dismiss a three-second splash ad; run a search and the top results are promotions; watch a video and three livestream-sales pitches are spliced into the middle. Features grow ever more bloated, while the parts that actually deserve care are handled perfunctorily.

I’m not saying every domestic company is like this — ones with a bottom line do exist, but pitifully few, countable on one hand. The vast majority have grown habituated to involuting within this business model: users aren’t users, they’re traffic; data isn’t data, it’s assets; experience isn’t experience, it’s one link in the conversion funnel.

Precisely because I lived through all this, I decided to stop waiting for them to improve and to vote with my own actions. Rather than keep complaining, I’d rather replace the apps that can be replaced, one by one, and take control back into my own hands.

Even Uninstalling Is Theater — “Free” Is Actually the Most Expensive

One more detail I find especially revolting: many apps now even perform theater when you uninstall them. You tap uninstall, and instead of a confirmation button you get copy like “cruelly uninstall” or “ruthlessly quit,” complete with crying faces, retention pleas, and “think again” — as if trying to make you feel guilty. Yet when it comes to what actually should be easy — canceling auto-renewal, disabling password-free payment, deleting account information — the entrances are buried deep, for fear you’ll find them.

I keep wondering: why isn’t it “ruthlessly pay” or “cruelly pay”? Because payment concerns their revenue, so it must be simple, direct, one step; while uninstalling and quitting mean you’ll no longer contribute data and attention, so of course every possible obstacle must be erected. In this logic, users were never the object of service — just penned-up data sources.

“Free” follows the same playbook. Google Photos once waved the banner of unlimited free storage, attracting massive numbers of users to upload their photos — then, once everyone was dependent, changed the policy and started charging. Many domestic apps are more direct: free to use, but the price is your contacts, location, search records, browsing habits, even the contents of your photo album. They take this data to train recommendation algorithms, build large models, and run precision ads, ultimately monetizing value far exceeding the small membership fee you might originally have paid.

So now I am extremely wary of the word “free.” If a service doesn’t charge money, what it’s selling is most likely you. Rather than be slowly squeezed dry as a data asset, I’d rather pay upfront for a good tool — at least the transaction is clear.

Overview of My Replacements

Original App Replacement Notes
System OS LineageOS No Google services, no vendor preinstalls — clean and controllable
SMS QKSMS (modified) Added verification-code sync
Huawei Health Self-built fitness app Integrates Gadgetbridge’s Huawei authentication protocol
QQ Music MusicFree + self-built plugin Ad-free, controllable sources
1Password / KeePass Self-built password manager Cross-platform, end-to-end encrypted, self-hosted data
Windows Linux Primary system already migrated
Ezviz Local RTSP streaming + LAN isolation In progress

短信与音乐替代方案

LineageOS: Starting Clean at the System Layer

Changing the OS is the most fundamental step. LineageOS has no vendor preinstalls, no bundled suite, no ad framework — open source, auditable, with stable updates.

The first thing I did after flashing was remove Google services and use F-Droid as the app source. The home screen, notifications, and permission management are far cleaner than the stock system, and more importantly, the system doesn’t secretly send telemetry back to servers.

Modified QKSMS: Verification-Code Sync

For SMS I chose QKSMS — Material Design, lightweight, open source. The original version lacked one feature I really needed: syncing verification codes to the computer or other devices. I forked it and added verification-code extraction and push sync myself. Now when a code arrives on my computer I no longer have to look down and hunt for my phone.

Self-Built Fitness App: Keeping Data Local

The Huawei Health app was the one I most wanted to replace. The workout routes, heart-rate, and sleep data it collects are extremely sensitive, and its cloud analysis results aren’t transparent.

I studied the Huawei device authentication protocol inside Gadgetbridge and wrote my own fitness app:

  • Device pairing via Gadgetbridge’s Huawei authentication protocol
  • Workout data parsed and stored locally
  • Heart rate, GPS track, pace, and cadence all visualized
  • No more dependence on the vendor’s cloud service

This setup currently runs very stably; cycling and running data sync completely to pages I wrote myself.

运动健康自研方案一

运动健康自研方案二

MusicFree + Self-Built Plugin: Listening to Music Becomes Just Listening Again

QQ Music’s problems are too many ads, scattered copyrights, a recommendation algorithm that hijacks your ears, and massive collection of playback behavior.

I switched to MusicFree, an open-source plugin-based music player. The sound and interface are both good, and the key point is that music sources are plugged in via plugins. I wrote my own music plugin connecting the sources I want — and listening to music finally became simple again.

Here I also adjusted my thinking. In the first half of the year I had actually written a complete music app myself; every feature worked, but the ongoing maintenance was pure torment: any API change had to be chased down, and UI adaptation, bug fixes, and new-version compatibility all fell on my own shoulders. After going around that loop I decided: if open source exists, don’t build my own wheel — if the open-source community already has a mature solution, use it first; only where open source can’t meet the need do I write a plugin or make minimal modifications.

MusicFree is a product of exactly this thinking: the player itself belongs to someone else; I only wrote one plugin to connect my own music source. Maintenance cost is far lower, and the experience is clean enough.

Password Management: A Self-Built Cross-Platform Tool

I took a long time to settle on a password manager. Commercial solutions like 1Password are genuinely full-featured, but handing all my account passwords to a foreign company never sat right with me: what’s stored server-side, whether it’s being inspected, whether there’s a potential backdoor — I have no way to verify any of it.

I also tried the open-source route with KeePass / KeePassXC. The security model is fine, and the local database is under my own control. But the interface really didn’t fit my habits — the interaction is dated, and cross-platform sync requires setting up your own WebDAV or cloud drive; after all that tinkering the experience felt disjointed.

In the end I simply wrote my own cross-platform password management tool, based on open protocols:

  • End-to-end encrypted data; keys exist only locally
  • Supports Windows, Linux, and Android; multi-device sync over my own private channel
  • Interface redesigned around my habits, with autofill, password generation, and category management
  • Database files self-hosted, with no dependence on any third-party cloud service

Now all my account passwords are locked in my own hands — I don’t have to bet on a commercial company’s integrity, nor endure an open-source tool’s dated experience.

自研密码管理工具

Windows to Linux: Migrating the Primary System

I also switched my desktop system to Linux. Daily development, writing, browsing, and video watching all work fine; package management is convenient, with no forced updates and no telemetry. On the rare occasions I need Windows software, a VM or Wine handles it — the frequency is very low.

Actually, developing on Windows isn’t unusable, but it never feels as satisfying as typing commands directly on Linux. WSL also needs separately allocated memory; often just opening a Terminal hangs it, and running heavier compilations — say Go, Rust, or Java projects — pushes resources up until the whole subsystem can’t hold.

Linux 桌面截图

Ezviz: Local RTSP Streaming + LAN Isolation

Many SaaS companies will say out loud that their privacy protection meets this standard or that standard, with pages full of certification badges. But I’ve worked in this industry and know that behind the scenes a lot of the data can actually be viewed — not that everyone does look, but technically it’s entirely possible, and permissions can be opened that far. Entrusting my home’s surveillance footage to such a service, I could never feel at ease.

I once heard a rather telling story: an employee of Hikvision said their own family never buys these consumer cameras. People who work in an industry know its inside story, and naturally know what to avoid. This left a deep impression on me and further hardened my resolve to keep surveillance data local.

For home monitoring I’m already deploying a replacement: the cameras push streams over RTSP to a local NVR, without passing through any third-party cloud; external access goes through VPN or NAT traversal, and the data never lands on vendor servers.

Concretely, I run a web service on a small host inside the LAN to display multiple camera feeds in real time, while using RTMP to record and store the video streams. The whole chain stays closed inside the home LAN — when I want to watch, I just VPN home.

Later I plan to add event-driven detection: when a person appears in the frame, automatically capture a screenshot and push it to Feishu. That way I keep the local private chain while still getting timely alerts on what matters, without staring at a screen all day.

This approach has somewhat higher network requirements, but in exchange the surveillance footage is completely private — not subject to review, not analyzed, not turned into ad material.

本地监控方案

Who Is This Approach For?

If you’re like me:

  • Sick of splash-screen ads and push bombardment
  • Unwilling to hand workout, music, SMS, or surveillance data to commercial companies
  • Willing to spend some time learning open-source tools or modifying code yourself

Then gradually replacing these commercial SaaS products and domestic apps is a road well worth walking. You don’t need to do it all at once — tackle them one by one by priority: start with the worst ad offenders, then move to the most data-sensitive.

Final Words

AI makes data more valuable, and makes the consequences of privacy leaks more severe. Rather than count on vendors’ self-discipline, better to act yourself and take back control of your digital life.

If open source exists, use it; if it doesn’t work well, modify it yourself. This is the road I’ll keep walking.

文章作者:阿文
文章链接: https://www.awen.me/post/4f3913d9.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿文的博客!

评论

0 条评论
😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️✋ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐⛎ ♈♉♊ ♋♌♍ ♎♏♐ ♑♒♓ 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘❌⭕ 🛑⛔📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭❗ ❕❓❔ ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️✅ 🈯💹❇️ ✳️❎🌐 💠Ⓜ️🌀 💤🏧🚾 ♿🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️
加载中...

留言反馈

😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️✋ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐⛎ ♈♉♊ ♋♌♍ ♎♏♐ ♑♒♓ 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘❌⭕ 🛑⛔📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭❗ ❕❓❔ ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️✅ 🈯💹❇️ ✳️❎🌐 💠Ⓜ️🌀 💤🏧🚾 ♿🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️