[{"data":1,"prerenderedAt":6125},["ShallowReactive",2],{"blog-list":3},[4,255,543,740,999,1233,1417,1812,2158,2423,2616,2853,3011,3202,3403,3596,3791,4280,4607,4829,5220,5469],{"id":5,"title":6,"body":7,"date":245,"description":246,"extension":247,"meta":248,"navigation":249,"path":250,"readTime":251,"seo":252,"stem":253,"__hash__":254},"blog/blog/open-sourcing-before-shutdown.md","Should You Open Source Your Product Before Shutting Down?",{"type":8,"value":9,"toc":234},"minimark",[10,14,17,22,25,54,57,61,64,70,76,82,88,94,98,104,110,116,122,126,132,138,144,150,154,157,184,187,191,194,224,227,231],[11,12,13],"p",{},"When you announce a shutdown, a certain kind of user always asks the same question: \"Will you open source it?\"",[11,15,16],{},"Sometimes it's a reasonable request. Sometimes it's not. Here's how to think through the decision.",[18,19,21],"h2",{"id":20},"why-people-ask","Why People Ask",[11,23,24],{},"The people asking want one of a few things:",[26,27,28,36,42,48],"ol",{},[29,30,31,35],"li",{},[32,33,34],"strong",{},"Self-hosting"," — to run the product themselves after you shut it down",[29,37,38,41],{},[32,39,40],{},"Learning"," — to study how you built it",[29,43,44,47],{},[32,45,46],{},"Forking"," — to continue developing it as a community project",[29,49,50,53],{},[32,51,52],{},"Preservation"," — so the work isn't lost",[11,55,56],{},"These are legitimate reasons, and for some products — especially developer tools, community platforms, and niche utilities — releasing the code is genuinely the right thing to do.",[18,58,60],{"id":59},"the-real-costs-of-open-sourcing","The Real Costs of Open Sourcing",[11,62,63],{},"It's not as simple as pushing to GitHub. Consider:",[11,65,66,69],{},[32,67,68],{},"Security audit:"," Your codebase probably has hardcoded credentials, API keys, or secrets that need to be removed before publishing. Shipping with even one secret embedded is a real problem.",[11,71,72,75],{},[32,73,74],{},"Cleanup:"," Most production codebases have TODO comments, temporary hacks, and embarrassing shortcuts. You can ship it as-is, but expect that reaction.",[11,77,78,81],{},[32,79,80],{},"Legal review:"," If you used third-party libraries with restrictive licenses, or built on top of proprietary SDKs, you may have licensing conflicts that prevent open sourcing. If you had investors, some term sheets require approval before releasing IP.",[11,83,84,87],{},[32,85,86],{},"Ongoing support expectations:"," Once the code is public, people will file issues, ask questions, and expect responses. \"We're not maintaining this\" is a valid answer, but you'll still get pinged.",[11,89,90,93],{},[32,91,92],{},"Competitive concerns:"," If you're building something next, think about whether your old codebase reveals architectural or business approaches you'd rather keep private.",[18,95,97],{"id":96},"when-open-sourcing-makes-sense","When Open Sourcing Makes Sense",[11,99,100,103],{},[32,101,102],{},"Developer tools."," If you built a CLI, a library, or an API layer that developers integrated into their workflows, open sourcing it respects the investment they made in your tool.",[11,105,106,109],{},[32,107,108],{},"Community products."," Forums, social platforms, and community tools often mean more to their users than to the founders. Giving the community the tools to continue (even if they rarely do) is a generous act.",[11,111,112,115],{},[32,113,114],{},"Games."," As discussed in our guide on shutting down games, releasing server software or client code is one of the most goodwill-generating things a game studio can do.",[11,117,118,121],{},[32,119,120],{},"When users have critical data."," If users have years of data in your system, open sourcing lets them (or a technical community member) build an export or migration tool.",[18,123,125],{"id":124},"when-it-probably-doesnt-make-sense","When It Probably Doesn't Make Sense",[11,127,128,131],{},[32,129,130],{},"When the code is genuinely messy."," Releasing truly embarrassing code is more harmful than helpful. If you're going to do it, at least spend a few days doing basic cleanup.",[11,133,134,137],{},[32,135,136],{},"When there are legal complications."," If you're not sure about the licensing situation, don't rush it. A license review can take a few days and is worth doing.",[11,139,140,143],{},[32,141,142],{},"When it replicates proprietary algorithms or data."," If your core IP is in the model, the data, or the algorithm, the UI code may not be interesting enough to release on its own.",[11,145,146,149],{},[32,147,148],{},"When you plan to rebuild it."," If there's a chance you'll relaunch under a new name, releasing your code helps potential competitors more than it helps your users.",[18,151,153],{"id":152},"the-middle-ground-read-only-archive","The Middle Ground: Read-Only Archive",[11,155,156],{},"If you can't or won't fully open source, consider:",[158,159,160,166,172,178],"ul",{},[29,161,162,165],{},[32,163,164],{},"Exporting user data"," and making it available for download",[29,167,168,171],{},[32,169,170],{},"Publishing documentation"," about your architecture and decisions",[29,173,174,177],{},[32,175,176],{},"Writing a technical post-mortem"," that captures what you learned",[29,179,180,183],{},[32,181,182],{},"Making the client-side code available"," (if the backend has IP you want to protect)",[11,185,186],{},"Something is better than nothing. The community remembers the effort.",[18,188,190],{"id":189},"how-to-actually-do-it","How to Actually Do It",[11,192,193],{},"If you decide to go ahead:",[26,195,196,204,211,218,221],{},[29,197,198,199,203],{},"Run ",[200,201,202],"code",{},"git grep -r \"password\\|secret\\|key\\|token\""," and audit every match",[29,205,206,207,210],{},"Add a ",[200,208,209],{},"LICENSE"," file (MIT is the most permissive and widely understood)",[29,212,213,214,217],{},"Write a ",[200,215,216],{},"README.md"," that explains what the project is, that it's unmaintained, and links to your shutdown page",[29,219,220],{},"Archive the repository on GitHub so it can't receive new issues (or be clear in the README that you won't be responding)",[29,222,223],{},"Announce it in the same places you announced the shutdown",[11,225,226],{},"Label it clearly as unmaintained. \"We're not fixing bugs or reviewing PRs, but you're welcome to fork it\" is an honest and reasonable position.",[18,228,230],{"id":229},"the-default-answer","The Default Answer",[11,232,233],{},"If you're unsure, open sourcing is usually the better choice. The upside (goodwill, legacy, utility to users) typically outweighs the downside. The code you shipped is what it is — releasing it doesn't change that. And the community that built their workflows around your tool deserves the best possible exit you can give them.",{"title":235,"searchDepth":236,"depth":236,"links":237},"",2,[238,239,240,241,242,243,244],{"id":20,"depth":236,"text":21},{"id":59,"depth":236,"text":60},{"id":96,"depth":236,"text":97},{"id":124,"depth":236,"text":125},{"id":152,"depth":236,"text":153},{"id":189,"depth":236,"text":190},{"id":229,"depth":236,"text":230},"2026-02-28","The case for and against releasing your code when you close — what it actually takes, what you gain, and when it's worth it.","md",{},true,"/blog/open-sourcing-before-shutdown","6 min read",{"title":6,"description":246},"blog/open-sourcing-before-shutdown","l2aPimLDt-2ElwcCldQCoUQWjr7RyGPzVpWkMA-yJD8",{"id":256,"title":257,"body":258,"date":536,"description":537,"extension":247,"meta":538,"navigation":249,"path":539,"readTime":251,"seo":540,"stem":541,"__hash__":542},"blog/blog/shutdown-page-on-custom-domain-without-server.md","How to Put a Shutdown Page on Your Domain Without a Server",{"type":8,"value":259,"toc":526},[260,263,267,274,277,281,288,296,299,308,311,320,326,329,333,336,360,363,367,370,398,401,405,418,421,425,477,481,484,510,513,517,523],[11,261,262],{},"When you decide to close your product, the last thing you want is to manage infrastructure. But your domain still needs to point somewhere. Here's how to show a proper shutdown page on your domain without running a single server.",[18,264,266],{"id":265},"the-problem","The Problem",[11,268,269,270,273],{},"Your app is down. The server is off. But ",[200,271,272],{},"yourapp.com"," is still live in bookmarks, in old tweets, in the Wayback Machine. When someone visits, they get a connection timeout or a blank page — not the closure and context they deserve.",[11,275,276],{},"You need a page. You don't need a server to serve it.",[18,278,280],{"id":279},"option-1-dns-redirect-to-exitpage-easiest","Option 1: DNS Redirect to ExitPage (Easiest)",[11,282,283,284,287],{},"The simplest path: create your exit page at ",[200,285,286],{},"yourapp.exitpage.one",", then redirect your domain there.",[11,289,290],{},[32,291,292,293,295],{},"For the root domain (",[200,294,272],{},"):",[11,297,298],{},"Go to your DNS provider (Cloudflare, Namecheap, etc.) and set:",[300,301,306],"pre",{"className":302,"code":304,"language":305},[303],"language-text","Type: CNAME\nName: @\nValue: cname.exitpage.one\n","text",[200,307,304],{"__ignoreMap":235},[11,309,310],{},"If your DNS provider doesn't support CNAME on the root (most managed ones do via ALIAS/ANAME records), use a URL redirect rule instead — most registrars offer this for free.",[11,312,313],{},[32,314,315,316,319],{},"For ",[200,317,318],{},"www.yourapp.com",":",[300,321,324],{"className":322,"code":323,"language":305},[303],"Type: CNAME\nName: www\nValue: cname.exitpage.one\n",[200,325,323],{"__ignoreMap":235},[11,327,328],{},"That's it. No build steps, no hosting account, no deployment pipeline.",[18,330,332],{"id":331},"option-2-cloudflare-redirect-rules-no-hosting-needed","Option 2: Cloudflare Redirect Rules (No Hosting Needed)",[11,334,335],{},"If your domain is behind Cloudflare (free tier works), you can redirect your domain to any URL without owning a server:",[26,337,338,345,354],{},[29,339,340,341,344],{},"Go to ",[32,342,343],{},"Rules → Redirect Rules"," in your Cloudflare dashboard",[29,346,347,348,350,351],{},"Create a rule: when the hostname matches ",[200,349,272],{},", redirect to ",[200,352,353],{},"https://yourapp.exitpage.one",[29,355,356,357],{},"Set it to a ",[32,358,359],{},"301 permanent redirect",[11,361,362],{},"This means Cloudflare handles all the traffic and redirects visitors before any server is involved. Free, instant, zero maintenance.",[18,364,366],{"id":365},"option-3-github-pages-static-html","Option 3: GitHub Pages Static HTML",[11,368,369],{},"If you want to host the page yourself, GitHub Pages is free and requires no server:",[26,371,372,379,386,395],{},[29,373,374,375,378],{},"Create a repo named ",[200,376,377],{},"yourapp.github.io"," (or any repo with Pages enabled)",[29,380,381,382,385],{},"Add an ",[200,383,384],{},"index.html"," with your shutdown message",[29,387,388,389,392,393],{},"Point your domain's ",[200,390,391],{},"CNAME"," record to ",[200,394,377],{},[29,396,397],{},"Enable the custom domain in GitHub Pages settings",[11,399,400],{},"The downside: you're writing raw HTML, and GitHub might eventually deprecate or change the service.",[18,402,404],{"id":403},"option-4-netlify-drop","Option 4: Netlify Drop",[11,406,340,407,414,415,417],{},[408,409,413],"a",{"href":410,"rel":411},"https://netlify.com/drop",[412],"nofollow","netlify.com/drop",", drag an ",[200,416,384],{}," file onto the browser, and get a live URL in seconds. Then point your domain there.",[11,419,420],{},"This works, but like GitHub Pages, you're on your own for design and maintenance.",[18,422,424],{"id":423},"which-option-should-you-use","Which Option Should You Use?",[426,427,428,441],"table",{},[429,430,431],"thead",{},[432,433,434,438],"tr",{},[435,436,437],"th",{},"Situation",[435,439,440],{},"Best option",[442,443,444,453,461,469],"tbody",{},[432,445,446,450],{},[447,448,449],"td",{},"Want it done in 5 minutes",[447,451,452],{},"ExitPage + DNS redirect",[432,454,455,458],{},[447,456,457],{},"Already on Cloudflare",[447,459,460],{},"Cloudflare redirect rule",[432,462,463,466],{},[447,464,465],{},"Want full control over HTML",[447,467,468],{},"GitHub Pages",[432,470,471,474],{},[447,472,473],{},"Need it up right now",[447,475,476],{},"Netlify Drop",[18,478,480],{"id":479},"what-to-put-on-the-page","What to Put on the Page",[11,482,483],{},"Regardless of the method, your shutdown page should cover:",[158,485,486,492,498,504],{},[29,487,488,491],{},[32,489,490],{},"What happened"," — a brief, honest explanation",[29,493,494,497],{},[32,495,496],{},"When"," — the exact shutdown date",[29,499,500,503],{},[32,501,502],{},"What users should do"," — export data, migrate to alternatives",[29,505,506,509],{},[32,507,508],{},"Where the team is going"," — so people can follow",[11,511,512],{},"Don't leave visitors guessing. A 200-word explanation is infinitely better than a blank page.",[18,514,516],{"id":515},"the-long-game","The Long Game",[11,518,519,520,522],{},"Even after your domain expires, old links keep circulating. That's why hosting on a subdomain like ",[200,521,286],{}," is a smart backup — it stays up regardless of what happens to your domain registration.",[11,524,525],{},"Set up your redirect first, then let it run on autopilot while you focus on whatever comes next.",{"title":235,"searchDepth":236,"depth":236,"links":527},[528,529,530,531,532,533,534,535],{"id":265,"depth":236,"text":266},{"id":279,"depth":236,"text":280},{"id":331,"depth":236,"text":332},{"id":365,"depth":236,"text":366},{"id":403,"depth":236,"text":404},{"id":423,"depth":236,"text":424},{"id":479,"depth":236,"text":480},{"id":515,"depth":236,"text":516},"2026-02-05","Step-by-step: point your domain to a static shutdown page using DNS redirects, Cloudflare Pages, or ExitPage — no server required.",{},"/blog/shutdown-page-on-custom-domain-without-server",{"title":257,"description":537},"blog/shutdown-page-on-custom-domain-without-server","19tB8ZwZYbKNn6c8zV56bJY4szQy0cjNyiLpDYgK694",{"id":544,"title":545,"body":546,"date":732,"description":733,"extension":247,"meta":734,"navigation":249,"path":735,"readTime":736,"seo":737,"stem":738,"__hash__":739},"blog/blog/what-to-do-after-shutting-down.md","What to Do After You Shut Down Your Product",{"type":8,"value":547,"toc":724},[548,551,554,558,561,564,578,581,586,603,607,610,613,616,630,633,637,640,659,662,665,669,672,675,678,695,698,701,705,708,711,715,718,721],[11,549,550],{},"The shutdown is done. The page is up, the refunds are out, the infrastructure is off. Now what?",[11,552,553],{},"The aftermath of closing a product is something almost nobody talks about. The conversations about shutdowns focus on how to do it. This one is about what happens after.",[18,555,557],{"id":556},"the-first-two-weeks-practical-cleanup","The First Two Weeks: Practical Cleanup",[11,559,560],{},"You'll still be getting emails. Customer questions, a few angry messages, maybe some media inquiries if you were well-known. Keep a support email active and check it daily for the first 30 days.",[11,562,563],{},"Common questions you'll receive:",[158,565,566,569,572,575],{},[29,567,568],{},"\"Is there a way to export my data?\"",[29,570,571],{},"\"Can I get a refund?\"",[29,573,574],{},"\"Will you open source it?\"",[29,576,577],{},"\"What are you doing next?\"",[11,579,580],{},"Have short, honest answers ready. Being responsive in this window builds the reputation that follows you.",[11,582,583],{},[32,584,585],{},"Practical tasks:",[158,587,588,591,594,597,600],{},[29,589,590],{},"Archive your codebase somewhere you can access it (even a private GitHub repo)",[29,592,593],{},"Export all analytics, user data, and financial records before you lose access",[29,595,596],{},"Screenshot or archive anything you want to keep as a portfolio piece",[29,598,599],{},"Cancel every subscription and service you no longer need (you'll forget one — check your card statements)",[29,601,602],{},"Back up your database in case you ever need the schema for reference",[18,604,606],{"id":605},"writing-your-post-mortem","Writing Your Post-Mortem",[11,608,609],{},"A post-mortem isn't required, but it's one of the most valuable things you can do — for yourself and for other founders.",[11,611,612],{},"Writing forces you to crystallize what actually happened versus the narrative you tell at dinner parties. It helps you understand which decisions mattered and which were noise.",[11,614,615],{},"Some questions worth answering:",[158,617,618,621,624,627],{},[29,619,620],{},"What was the original hypothesis, and when did you know it was wrong?",[29,622,623],{},"What would you do differently on day 1? On day 100?",[29,625,626],{},"What did customers actually want that you didn't build?",[29,628,629],{},"What did you learn about yourself as a founder?",[11,631,632],{},"Whether you publish it or keep it private, it's a useful document to have.",[18,634,636],{"id":635},"reference-calls-and-your-professional-reputation","Reference Calls and Your Professional Reputation",[11,638,639],{},"Your investors, advisors, and notable customers can be references for your next venture. Before moving on, send a brief personal note to each of them:",[641,642,643],"blockquote",{},[11,644,645,646,650,651,654,655,658],{},"Hey ",[647,648,649],"span",{},"Name",", as you probably know, we shut down ",[647,652,653],{},"Product"," last month. I wanted to reach out personally, say thank you for ",[647,656,657],{},"specific thing they did",", and let you know I'll be reaching out in a few months as I figure out what's next.",[11,660,661],{},"Short. Personal. Not asking for anything. This maintains the relationship without being transactional.",[11,663,664],{},"If you worked with a team, write LinkedIn recommendations proactively. Don't wait for them to ask.",[18,666,668],{"id":667},"the-emotional-reality","The Emotional Reality",[11,670,671],{},"This part gets skipped in most shutdown guides.",[11,673,674],{},"Closing something you built is a grief process. It doesn't feel like grief — it often feels like relief, numbness, or the strange busyness of the practical tasks. But grief shows up later, usually when you're idle.",[11,676,677],{},"Things people report:",[158,679,680,683,686,689,692],{},[29,681,682],{},"Loss of identity (the product was what you talked about at parties)",[29,684,685],{},"Loss of routine (the daily rituals that structured your time)",[29,687,688],{},"Guilt about the team, users, or investors",[29,690,691],{},"Imposter syndrome about what to do next",[29,693,694],{},"A strange flatness that doesn't quite resolve",[11,696,697],{},"None of this is unusual. Most people who've shut something down recognize this pattern.",[11,699,700],{},"Give yourself more time than you think you need before jumping into the next thing. The urgency to immediately start something new is often avoidance, not drive.",[18,702,704],{"id":703},"telling-the-story","Telling the Story",[11,706,707],{},"How you describe your shutdown matters. \"I ran a startup for three years, learned a ton, and decided to close it when we couldn't find product-market fit\" is a normal, respectable narrative in the startup world.",[11,709,710],{},"You don't have to spin it. You don't have to hide it. Founders who've shipped and closed things are often better candidates, partners, and founders than people who've only succeeded — because they've been through the hard part.",[18,712,714],{"id":713},"what-comes-next","What Comes Next",[11,716,717],{},"Some people start something new immediately. Some take six months off. Some join a company. Some become investors. Some consult. Some move to the mountains.",[11,719,720],{},"There's no right answer. The only wrong one is letting the shutdown define your ceiling.",[11,722,723],{},"The fact that you built something, served real users, and closed it with integrity means you've done something most people only talk about. That's a foundation, not an ending.",{"title":235,"searchDepth":236,"depth":236,"links":725},[726,727,728,729,730,731],{"id":556,"depth":236,"text":557},{"id":605,"depth":236,"text":606},{"id":635,"depth":236,"text":636},{"id":667,"depth":236,"text":668},{"id":703,"depth":236,"text":704},{"id":713,"depth":236,"text":714},"2026-01-22","The practical and emotional aftermath of closing something you built — from reference calls to personal recovery to what comes next.",{},"/blog/what-to-do-after-shutting-down","7 min read",{"title":545,"description":733},"blog/what-to-do-after-shutting-down","HSUeazoxFM26owMaY3MoU7MpH-6UK9vYUpGjZYfmF4c",{"id":741,"title":742,"body":743,"date":992,"description":993,"extension":247,"meta":994,"navigation":249,"path":995,"readTime":251,"seo":996,"stem":997,"__hash__":998},"blog/blog/shutting-down-mobile-app.md","How to Shut Down a Mobile App Properly",{"type":8,"value":744,"toc":982},[745,748,752,755,760,771,776,787,791,794,808,811,815,818,829,832,835,839,842,853,859,863,866,877,880,884,887,890,907,911,914,917,921,924,979],[11,746,747],{},"Shutting down a mobile app has a few extra layers compared to a web product. You have to deal with two app stores, in-app purchase policies, users who might not see your shutdown announcement for months, and data that lives on devices you don't control.",[18,749,751],{"id":750},"step-1-plan-your-timeline-around-app-store-policies","Step 1: Plan Your Timeline Around App Store Policies",[11,753,754],{},"Both Apple and Google have policies around app shutdowns that affect refunds and timing.",[11,756,757],{},[32,758,759],{},"Apple (App Store):",[158,761,762,765,768],{},[29,763,764],{},"Apple may issue refunds to users for in-app purchases if they determine the app was shut down before a reasonable usage period",[29,766,767],{},"Notify Apple support if you're doing a planned shutdown — they can help coordinate",[29,769,770],{},"Remove the app from the store at least 30 days before backend shutdown to prevent new downloads",[11,772,773],{},[32,774,775],{},"Google (Play Store):",[158,777,778,781,784],{},[29,779,780],{},"Similar policies apply for in-app purchases",[29,782,783],{},"Use the \"Unpublish\" option (not delete) so existing users can still access it temporarily",[29,785,786],{},"Consider leaving it published but showing an in-app shutdown notice",[18,788,790],{"id":789},"step-2-show-an-in-app-notice-before-shutdown","Step 2: Show an In-App Notice Before Shutdown",[11,792,793],{},"The most effective way to reach your users is inside the app itself. Before you do anything else:",[26,795,796,799,802,805],{},[29,797,798],{},"Release an app update with a prominent shutdown notice",[29,800,801],{},"Include the exact shutdown date",[29,803,804],{},"Include instructions for data export if available",[29,806,807],{},"Send a push notification to all opted-in users",[11,809,810],{},"Don't rely solely on email. Mobile users often ignore emails but open push notifications.",[18,812,814],{"id":813},"step-3-handle-in-app-purchases","Step 3: Handle In-App Purchases",[11,816,817],{},"Refunds for in-app purchases are split between you and the app store, which complicates things:",[158,819,820,823,826],{},[29,821,822],{},"You only control your 70% (or 85% for small developers) of the purchase price",[29,824,825],{},"Apple and Google collect their 30% cut and have their own refund policies",[29,827,828],{},"You may need to coordinate with their developer relations teams for large-scale refunds",[11,830,831],{},"For subscriptions: cancel all active auto-renewals before your backend shutdown date. Most subscription management libraries (RevenueCat, etc.) let you cancel in bulk.",[11,833,834],{},"For consumables and one-time purchases: issue refunds via your own backend for any unused credits or locked content. For content that was consumed, contact Apple/Google about their policies for your specific case.",[18,836,838],{"id":837},"step-4-data-deletion-and-privacy-compliance","Step 4: Data Deletion and Privacy Compliance",[11,840,841],{},"Mobile apps often collect data that's subject to GDPR, CCPA, and platform-specific privacy policies. Before shutdown:",[158,843,844,847,850],{},[29,845,846],{},"Delete all user data from your servers (or document your data retention policy)",[29,848,849],{},"If users have local data on their devices, you can't delete it — but you can document that backend data will be deleted",[29,851,852],{},"Send a final privacy notice explaining what's happening to stored data",[11,854,855,858],{},[32,856,857],{},"For apps with user-generated content:"," Give users a way to export or download their data before you shut down the backend.",[18,860,862],{"id":861},"step-5-coordinate-with-review-sites-and-app-catalogs","Step 5: Coordinate with Review Sites and App Catalogs",[11,864,865],{},"Your app is listed on various review sites (Product Hunt, GetApp, Capterra, AppFollow). These sites don't automatically know you've shut down. Consider:",[158,867,868,871,874],{},[29,869,870],{},"Notifying major review sites directly",[29,872,873],{},"Updating your own Product Hunt post with a shutdown announcement",[29,875,876],{},"Updating any public documentation that references the app",[11,878,879],{},"This prevents confusion when people find your app through these channels months after shutdown.",[18,881,883],{"id":882},"step-6-keep-your-app-website-up","Step 6: Keep Your App Website Up",[11,885,886],{},"Your app's website (landing page, support page) should be redirected to a shutdown notice. Users who Google your app name should land on a clear explanation, not a 404.",[11,888,889],{},"This page should include:",[158,891,892,895,898,901,904],{},[29,893,894],{},"What the app did",[29,896,897],{},"Why it's shutting down",[29,899,900],{},"When the app stopped working",[29,902,903],{},"What happened to user data",[29,905,906],{},"Any alternatives you'd recommend",[18,908,910],{"id":909},"the-users-who-install-it-after-shutdown","The Users Who Install it After Shutdown",[11,912,913],{},"If you leave the app in the store (even as \"no longer maintained\"), new users may download it expecting it to work. Be clear in the store listing description that the app is shut down, or remove it entirely.",[11,915,916],{},"An app that shows nothing but a \"service has ended\" screen is worse than no app at all for a new user who didn't know about the shutdown.",[18,918,920],{"id":919},"final-checklist","Final Checklist",[11,922,923],{},"Before you turn off the lights:",[158,925,928,937,943,949,955,961,967,973],{"className":926},[927],"contains-task-list",[29,929,932,936],{"className":930},[931],"task-list-item",[933,934],"input",{"disabled":249,"type":935},"checkbox"," App update with shutdown notice released",[29,938,940,942],{"className":939},[931],[933,941],{"disabled":249,"type":935}," Push notifications sent",[29,944,946,948],{"className":945},[931],[933,947],{"disabled":249,"type":935}," Subscriptions cancelled",[29,950,952,954],{"className":951},[931],[933,953],{"disabled":249,"type":935}," Refunds issued",[29,956,958,960],{"className":957},[931],[933,959],{"disabled":249,"type":935}," Data deletion scheduled and documented",[29,962,964,966],{"className":963},[931],[933,965],{"disabled":249,"type":935}," App removed or marked as discontinued in stores",[29,968,970,972],{"className":969},[931],[933,971],{"disabled":249,"type":935}," Website redirected to shutdown page",[29,974,976,978],{"className":975},[931],[933,977],{"disabled":249,"type":935}," Support email monitored for 90 days post-shutdown",[11,980,981],{},"Mobile shutdowns have more surface area than web shutdowns. The checklist helps.",{"title":235,"searchDepth":236,"depth":236,"links":983},[984,985,986,987,988,989,990,991],{"id":750,"depth":236,"text":751},{"id":789,"depth":236,"text":790},{"id":813,"depth":236,"text":814},{"id":837,"depth":236,"text":838},{"id":861,"depth":236,"text":862},{"id":882,"depth":236,"text":883},{"id":909,"depth":236,"text":910},{"id":919,"depth":236,"text":920},"2025-03-12","App Store removal, push notification opt-outs, in-app purchase refunds, and what happens to your users' data when you pull a mobile app.",{},"/blog/shutting-down-mobile-app",{"title":742,"description":993},"blog/shutting-down-mobile-app","Vko8HxX63JyuFgWAG26ingohCzfnQz0_XxDN-RzYOCE",{"id":1000,"title":1001,"body":1002,"date":1226,"description":1227,"extension":247,"meta":1228,"navigation":249,"path":1229,"readTime":736,"seo":1230,"stem":1231,"__hash__":1232},"blog/blog/maintenance-page-matters.md","Why Your Maintenance Page Matters More Than You Think",{"type":8,"value":1003,"toc":1210},[1004,1007,1010,1014,1017,1020,1023,1027,1030,1036,1042,1048,1054,1058,1061,1066,1069,1073,1076,1080,1083,1087,1090,1094,1097,1101,1107,1113,1119,1125,1128,1132,1138,1155,1161,1175,1178,1182,1185,1188,1191,1194,1197,1201,1204,1207],[11,1005,1006],{},"Your server goes down. Maybe it's a planned deployment, maybe it's an emergency patch, maybe your database decided to take a personal day. Whatever the reason, your users hit a wall.",[11,1008,1009],{},"The question is: what wall do they hit?",[18,1011,1013],{"id":1012},"the-503-problem","The 503 problem",[11,1015,1016],{},"Most products default to a bare 503 error. A white page, maybe some grey text: \"Service Unavailable.\" That's it. No context, no timeline, no reassurance.",[11,1018,1019],{},"From the user's perspective, there's no difference between \"we're deploying a feature that'll be done in 10 minutes\" and \"this company might be dead.\" Both look exactly the same.",[11,1021,1022],{},"That ambiguity is expensive. A study by Google found that 53% of mobile users abandon a site that takes longer than 3 seconds to load. A dead-looking error page? That abandonment rate is close to 100% — and many of those users never come back.",[18,1024,1026],{"id":1025},"what-a-good-maintenance-page-actually-does","What a good maintenance page actually does",[11,1028,1029],{},"A branded maintenance page isn't just prettier. It serves four critical functions:",[11,1031,1032,1035],{},[32,1033,1034],{},"1. It proves you're alive.","\nThe most important thing a maintenance page communicates is that someone is on the other side. The lights are on. There's a plan. This is temporary.",[11,1037,1038,1041],{},[32,1039,1040],{},"2. It sets expectations.","\nWhen will you be back? An hour? A day? Even \"we don't know yet, but we're working on it\" is better than silence. Users can plan around information. They can't plan around a void.",[11,1043,1044,1047],{},[32,1045,1046],{},"3. It preserves trust.","\nEvery interaction with your product is a trust signal. A polished maintenance page says \"we take this seriously.\" A raw error says \"we didn't think about you.\"",[11,1049,1050,1053],{},[32,1051,1052],{},"4. It redirects energy.","\nInstead of users hammering refresh or flooding your support inbox, a good maintenance page gives them somewhere to go. A status page link. A Twitter account to follow. An email to contact.",[18,1055,1057],{"id":1056},"what-to-show-on-your-maintenance-page","What to show on your maintenance page",[11,1059,1060],{},"The best maintenance pages include these elements:",[1062,1063,1065],"h3",{"id":1064},"a-clear-headline","A clear headline",[11,1067,1068],{},"\"We're upgrading our systems\" beats \"Maintenance\" every time. Be specific about what's happening. Users appreciate honesty.",[1062,1070,1072],{"id":1071},"an-estimated-time","An estimated time",[11,1074,1075],{},"Even if it's a range. \"We expect to be back between 2:00–3:00 PM UTC\" gives users something to work with. If you don't know, say \"We're working on it and will update this page as we know more.\"",[1062,1077,1079],{"id":1078},"a-progress-indicator","A progress indicator",[11,1081,1082],{},"This can be as simple as a text update: \"Step 2 of 4: Migrating database.\" Or a progress bar. Or just timestamps of your updates. The point is to show forward motion.",[1062,1084,1086],{"id":1085},"contact-information","Contact information",[11,1088,1089],{},"If something is urgent, users need a way to reach you. An email address, a support link, a phone number for enterprise customers. Don't make them guess.",[1062,1091,1093],{"id":1092},"your-branding","Your branding",[11,1095,1096],{},"Logo, colors, tone of voice. This page should look and feel like it belongs to your company. It's not a system error — it's a communication from your team.",[18,1098,1100],{"id":1099},"how-the-best-companies-handle-downtime","How the best companies handle downtime",[11,1102,1103,1106],{},[32,1104,1105],{},"Slack"," shows a friendly illustration and a clear message: \"Slack is being worked on. We'll be back shortly.\" They include a link to their status page and keep it updated in real time.",[11,1108,1109,1112],{},[32,1110,1111],{},"GitHub"," uses their Octocat mascot in a \"unicorn\" pose — it's become iconic. Their maintenance page is so well-known that it generates positive sentiment even during outages.",[11,1114,1115,1118],{},[32,1116,1117],{},"Stripe"," provides detailed status breakdowns per service (API, Dashboard, Webhooks) with color-coded indicators. Developers know exactly what's affected and what's not.",[11,1120,1121,1124],{},[32,1122,1123],{},"Basecamp"," goes personal. Their maintenance pages often include a message from a specific person on the team, explaining what happened and what they're doing about it. It feels human.",[11,1126,1127],{},"The pattern is clear: the companies with the best reputations are the ones that treat downtime as a communication opportunity, not a failure to hide.",[18,1129,1131],{"id":1130},"planned-vs-unplanned-downtime","Planned vs. unplanned downtime",[11,1133,315,1134,1137],{},[32,1135,1136],{},"planned maintenance",", you have the luxury of preparation:",[158,1139,1140,1143,1146,1149,1152],{},[29,1141,1142],{},"Send an email 24–48 hours in advance",[29,1144,1145],{},"Post a banner in your app the day before",[29,1147,1148],{},"Schedule the maintenance during your lowest-traffic window",[29,1150,1151],{},"Prepare a page with a specific timeline",[29,1153,1154],{},"Have your status page ready to go live the moment you start",[11,1156,315,1157,1160],{},[32,1158,1159],{},"unplanned outages",", you need speed:",[158,1162,1163,1166,1169,1172],{},[29,1164,1165],{},"Get a page up within minutes, even if it just says \"We're aware of an issue and investigating\"",[29,1167,1168],{},"Update it every 15–30 minutes",[29,1170,1171],{},"Be honest about what you know and don't know",[29,1173,1174],{},"Post a retrospective after the incident",[11,1176,1177],{},"In both cases, the maintenance page is your primary communication channel. Don't waste it.",[18,1179,1181],{"id":1180},"the-maintenance-page-as-a-product-feature","The maintenance page as a product feature",[11,1183,1184],{},"Here's a perspective shift: your maintenance page isn't a failure state. It's a feature.",[11,1186,1187],{},"Every product has downtime. The question isn't whether your users will ever see a maintenance page — they will. The question is what they'll think of your company when they do.",[11,1189,1190],{},"A 503 error says: \"We didn't think about this.\"",[11,1192,1193],{},"A branded maintenance page says: \"We thought about you, even now.\"",[11,1195,1196],{},"That difference compounds over time. Users who feel cared for during downtime become more loyal, not less. They tell stories about companies that handled outages well. They forgive faster. They stay longer.",[18,1198,1200],{"id":1199},"getting-started","Getting started",[11,1202,1203],{},"You don't need to build a maintenance page system from scratch. Services like ExitPage let you create beautiful, branded status pages in minutes — for maintenance, planned pauses, or permanent shutdowns.",[11,1205,1206],{},"The important thing is to have something ready before you need it. Because by the time your server goes down, it's too late to start designing.",[11,1208,1209],{},"Set up your maintenance page today. Your future users — the ones refreshing at 3 AM, wondering if your product is dead — will thank you.",{"title":235,"searchDepth":236,"depth":236,"links":1211},[1212,1213,1214,1222,1223,1224,1225],{"id":1012,"depth":236,"text":1013},{"id":1025,"depth":236,"text":1026},{"id":1056,"depth":236,"text":1057,"children":1215},[1216,1218,1219,1220,1221],{"id":1064,"depth":1217,"text":1065},3,{"id":1071,"depth":1217,"text":1072},{"id":1078,"depth":1217,"text":1079},{"id":1085,"depth":1217,"text":1086},{"id":1092,"depth":1217,"text":1093},{"id":1099,"depth":236,"text":1100},{"id":1130,"depth":236,"text":1131},{"id":1180,"depth":236,"text":1181},{"id":1199,"depth":236,"text":1200},"2025-03-06","The difference between a 503 error and a branded maintenance page is the difference between losing trust and building it. Here's how to get it right.",{},"/blog/maintenance-page-matters",{"title":1001,"description":1227},"blog/maintenance-page-matters","qqwqjHyEfRGRX7TZ4ogk_1LyhrlUWL6mFzAXGbLcHnU",{"id":1234,"title":1235,"body":1236,"date":1409,"description":1410,"extension":247,"meta":1411,"navigation":249,"path":1412,"readTime":1413,"seo":1414,"stem":1415,"__hash__":1416},"blog/blog/seo-implications-of-shutting-down.md","The SEO Implications of Shutting Down Your Website",{"type":8,"value":1237,"toc":1400},[1238,1241,1245,1248,1268,1271,1275,1278,1281,1284,1288,1291,1294,1298,1301,1304,1315,1318,1322,1325,1336,1339,1343,1352,1355,1359,1397],[11,1239,1240],{},"When you shut down a website, you're not just closing a product — you're making decisions that affect years of accumulated SEO equity. Backlinks from other sites, indexed pages, and search rankings don't disappear overnight. Here's what actually happens and what you can do about it.",[18,1242,1244],{"id":1243},"what-youre-giving-up","What You're Giving Up",[11,1246,1247],{},"If your product had any traction, your domain likely has:",[158,1249,1250,1256,1262],{},[29,1251,1252,1255],{},[32,1253,1254],{},"Domain Authority (DA)"," — accumulated through backlinks, age, and traffic",[29,1257,1258,1261],{},[32,1259,1260],{},"Indexed pages"," — articles, help docs, landing pages that rank for various queries",[29,1263,1264,1267],{},[32,1265,1266],{},"Backlinks"," — other websites linking to you, which pass authority through the web",[11,1269,1270],{},"None of this transfers automatically to anywhere. When your domain goes dark, it slowly depreciates and eventually gets dropped from indexes entirely.",[18,1272,1274],{"id":1273},"option-1-sell-the-domain","Option 1: Sell the Domain",[11,1276,1277],{},"If your domain has real DA and backlinks, it has market value. Domain brokers and marketplaces (Flippa, Sedo, GoDaddy Auctions) can help you sell it.",[11,1279,1280],{},"A domain with genuine backlinks from high-authority sites and a clean history can sell for anywhere from a few hundred to tens of thousands of dollars.",[11,1282,1283],{},"If you're shutting down but the domain has value, selling it is often the right move.",[18,1285,1287],{"id":1286},"option-2-redirect-to-a-successor-project","Option 2: Redirect to a Successor Project",[11,1289,1290],{},"If you're building something new, you can 301-redirect your old domain to your new project. This passes some (not all) link equity to the new domain, giving your next venture a head start.",[11,1292,1293],{},"Be aware: Google has gotten better at devaluing redirects that seem purely manipulative. If the content is genuinely related, it works well. If it's a redirect from a closed SaaS to an unrelated new project, the equity transfer is limited.",[18,1295,1297],{"id":1296},"option-3-keep-a-static-shutdown-page","Option 3: Keep a Static Shutdown Page",[11,1299,1300],{},"The minimum viable approach: keep a shutdown page at your domain that clearly explains what happened.",[11,1302,1303],{},"This is good for:",[158,1305,1306,1309,1312],{},[29,1307,1308],{},"People who find you via old backlinks",[29,1310,1311],{},"Users who bookmarked your site",[29,1313,1314],{},"Journalists or researchers who reference your old content",[11,1316,1317],{},"A static shutdown page with clean HTML, proper meta tags, and a canonical URL preserves some indexability. Search engines will eventually de-index it, but the transition is gradual rather than abrupt.",[18,1319,1321],{"id":1320},"what-happens-to-backlinks-after-you-close","What Happens to Backlinks After You Close",[11,1323,1324],{},"When your domain returns a 404 or times out, the sites linking to you don't automatically remove those links. The backlinks stay, but over time:",[26,1326,1327,1330,1333],{},[29,1328,1329],{},"Google reduces the value passed through links to dead pages",[29,1331,1332],{},"The linking sites may eventually update or remove the links",[29,1334,1335],{},"Your domain loses relevance in the index",[11,1337,1338],{},"If you're keeping the domain for personal or professional reasons (it's your name, it's a brand you might reuse), maintaining a shutdown page keeps those backlinks from becoming entirely wasted.",[18,1340,1342],{"id":1341},"the-wayback-machine-and-permanent-archives","The Wayback Machine and Permanent Archives",[11,1344,1345,1346,1351],{},"Regardless of what you do, ",[408,1347,1350],{"href":1348,"rel":1349},"https://web.archive.org",[412],"web.archive.org"," likely has snapshots of your site. This is actually useful — it means your content is permanently accessible to researchers and users, even after your domain goes dark.",[11,1353,1354],{},"You can also proactively submit your shutdown page to the Wayback Machine to ensure a final, accurate snapshot is preserved.",[18,1356,1358],{"id":1357},"practical-recommendations","Practical Recommendations",[26,1360,1361,1367,1385,1391],{},[29,1362,1363,1366],{},[32,1364,1365],{},"Don't rush the domain cancellation."," Keep it registered for at least a year after shutdown. Let people find the shutdown page.",[29,1368,1369,1372,1373,1376,1377,1380,1381,1384],{},[32,1370,1371],{},"Redirect subdomains."," Your ",[200,1374,1375],{},"docs.",", ",[200,1378,1379],{},"app.",", and ",[200,1382,1383],{},"api."," subdomains should all redirect to the main shutdown page, not 404.",[29,1386,1387,1390],{},[32,1388,1389],{},"If the domain has value, sell it."," There's no shame in monetizing an asset you're no longer using.",[29,1392,1393,1396],{},[32,1394,1395],{},"Submit a final sitemap."," Before going dark, submit a sitemap to Google Search Console with your shutdown page as the canonical URL. It helps with the graceful de-indexing of old content.",[11,1398,1399],{},"Closing a website cleanly is one of the things that separates professional builders from people who just abandon their work. The internet has a long memory — shape what it remembers.",{"title":235,"searchDepth":236,"depth":236,"links":1401},[1402,1403,1404,1405,1406,1407,1408],{"id":1243,"depth":236,"text":1244},{"id":1273,"depth":236,"text":1274},{"id":1286,"depth":236,"text":1287},{"id":1296,"depth":236,"text":1297},{"id":1320,"depth":236,"text":1321},{"id":1341,"depth":236,"text":1342},{"id":1357,"depth":236,"text":1358},"2025-03-05","What happens to your domain's authority, backlinks, and Google rankings when you close a product — and what you can do about it.",{},"/blog/seo-implications-of-shutting-down","5 min read",{"title":1235,"description":1410},"blog/seo-implications-of-shutting-down","GqcqBJjm5hSvpm6bNiVlp0sr23TXfJACQyek7Itb8e8",{"id":1418,"title":1419,"body":1420,"date":1804,"description":1805,"extension":247,"meta":1806,"navigation":249,"path":1807,"readTime":1808,"seo":1809,"stem":1810,"__hash__":1811},"blog/blog/pause-saas-without-losing-users.md","How to Put Your SaaS on Pause Without Losing Users",{"type":8,"value":1421,"toc":1781},[1422,1425,1428,1431,1435,1438,1442,1445,1448,1452,1455,1459,1462,1466,1469,1473,1476,1479,1483,1486,1490,1493,1519,1523,1526,1540,1543,1547,1550,1554,1557,1563,1569,1575,1582,1586,1589,1595,1601,1607,1613,1616,1620,1623,1627,1678,1682,1715,1719,1752,1756,1759,1762,1765,1768,1772,1775,1778],[11,1423,1424],{},"Not every product that goes quiet is dead. Some are sleeping.",[11,1426,1427],{},"There's a space between \"full speed ahead\" and \"we're shutting down\" that nobody talks about. It's the pause — the deliberate decision to stop operating for a while, with the intention of coming back.",[11,1429,1430],{},"And more founders are choosing it than you'd think.",[18,1432,1434],{"id":1433},"when-pausing-makes-sense","When pausing makes sense",[11,1436,1437],{},"A pause isn't giving up. It's strategic hibernation. Here are the most common reasons founders choose it:",[1062,1439,1441],{"id":1440},"burnout","Burnout",[11,1443,1444],{},"You've been building for two years straight. Revenue is there but not growing. You're exhausted. The choice isn't between \"keep going\" and \"shut down\" — it's between \"keep going and burn out completely\" and \"take three months off, come back fresh.\"",[11,1446,1447],{},"Many solo founders and small teams hit this wall. The product works, users are happy, but the humans behind it are running on fumes. A pause preserves the product and the people.",[1062,1449,1451],{"id":1450},"funding-gap","Funding gap",[11,1453,1454],{},"Your runway is about to end but you have a promising lead on your next round. Or you're bootstrapped and need to take a contract gig for a few months to refill the coffers. The product is viable — you just need to bridge a financial gap.",[1062,1456,1458],{"id":1457},"pivot-exploration","Pivot exploration",[11,1460,1461],{},"You've realized your current product isn't quite right, but the adjacent space might be. You need a few months to research, prototype, and validate without the operational overhead of running the existing product.",[1062,1463,1465],{"id":1464},"life-events","Life events",[11,1467,1468],{},"A co-founder leaves. Someone has a health issue. A baby arrives. Life happens, and sometimes the responsible thing is to acknowledge that the product needs to wait.",[18,1470,1472],{"id":1471},"how-to-communicate-a-pause","How to communicate a pause",[11,1474,1475],{},"The biggest mistake founders make when pausing is going silent. They stop shipping, stop responding to support, stop posting updates — and users are left to assume the worst.",[11,1477,1478],{},"Here's how to do it right:",[1062,1480,1482],{"id":1481},"_1-announce-it-before-it-happens","1. Announce it before it happens",[11,1484,1485],{},"Give users at least 2 weeks notice, ideally 4. Send an email. Post on your social channels. Put a banner in your app. Be proactive, not reactive.",[1062,1487,1489],{"id":1488},"_2-be-specific-about-whats-happening","2. Be specific about what's happening",[11,1491,1492],{},"\"We're taking a planned pause\" is much better than just going quiet. Tell them:",[158,1494,1495,1501,1507,1513],{},[29,1496,1497,1500],{},[32,1498,1499],{},"Why"," you're pausing (you don't have to overshare — \"the team is taking a break to recharge\" is fine)",[29,1502,1503,1506],{},[32,1504,1505],{},"How long"," you expect it to last (even a range: \"2–4 months\")",[29,1508,1509,1512],{},[32,1510,1511],{},"What happens to their data"," (this is the #1 concern — address it directly)",[29,1514,1515,1518],{},[32,1516,1517],{},"What still works"," during the pause (can they still log in? Export data? Read docs?)",[1062,1520,1522],{"id":1521},"_3-set-up-a-status-page","3. Set up a status page",[11,1524,1525],{},"Replace your landing page — or put up a dedicated URL — with a clear status page that says:",[158,1527,1528,1531,1534,1537],{},[29,1529,1530],{},"The product is paused, not dead",[29,1532,1533],{},"When you expect to return",[29,1535,1536],{},"How to reach you if something is urgent",[29,1538,1539],{},"What the product's current state is",[11,1541,1542],{},"This page becomes the single source of truth. Link to it from everywhere.",[1062,1544,1546],{"id":1545},"_4-keep-email-working","4. Keep email working",[11,1548,1549],{},"Even if the product is paused, keep your support email active. Set up an autoresponder if you can't check it daily. Nothing destroys trust faster than emails bouncing back.",[18,1551,1553],{"id":1552},"what-to-do-with-user-data","What to do with user data",[11,1555,1556],{},"This is the question that keeps founders up at night. Here's a simple framework:",[11,1558,1559,1562],{},[32,1560,1561],{},"If your pause is under 3 months:"," Keep everything running. Database stays up, backups continue, data is safe. The cost is minimal and the peace of mind is enormous.",[11,1564,1565,1568],{},[32,1566,1567],{},"If your pause is 3–6 months:"," Keep the database but you can turn off compute resources. Make sure users have had a chance to export anything they need. Send a reminder email before you scale down.",[11,1570,1571,1574],{},[32,1572,1573],{},"If your pause is 6+ months:"," At this point, be honest with yourself about whether this is a pause or a soft shutdown. If it's truly a pause, keep the database. If you're unsure, give users a deadline to export and be transparent about it.",[11,1576,1577,1578,1581],{},"In all cases: ",[32,1579,1580],{},"never delete user data without warning."," This is the one thing that turns a pause into a betrayal.",[18,1583,1585],{"id":1584},"startups-that-paused-and-came-back-stronger","Startups that paused and came back stronger",[11,1587,1588],{},"This isn't just theory. Real companies have paused and returned:",[11,1590,1591,1594],{},[32,1592,1593],{},"Glitch (formerly Fog Creek)"," went through multiple identity changes and pauses before finding its groove as a code playground that millions of developers use.",[11,1596,1597,1600],{},[32,1598,1599],{},"Hiten Shah"," famously put KISSmetrics on pause while exploring what would become FYI. The pause gave him clarity about what he actually wanted to build.",[11,1602,1603,1606],{},[32,1604,1605],{},"Buffer"," went through a near-death experience, cut their team, paused features, and came back leaner and more focused. They've been profitable ever since.",[11,1608,1609,1612],{},[32,1610,1611],{},"Many indie hackers"," on platforms like Indie Hackers and X (Twitter) openly share stories of pausing projects for months, returning with fresh energy, and hitting their stride the second time around.",[11,1614,1615],{},"The pattern: a pause isn't a death sentence. Often, it's the thing that saves the company.",[18,1617,1619],{"id":1618},"the-mechanics-of-a-good-pause","The mechanics of a good pause",[11,1621,1622],{},"Here's a practical checklist:",[1062,1624,1626],{"id":1625},"before-the-pause","Before the pause",[158,1628,1630,1636,1642,1648,1654,1660,1666,1672],{"className":1629},[927],[29,1631,1633,1635],{"className":1632},[931],[933,1634],{"disabled":249,"type":935}," Email all users with the announcement",[29,1637,1639,1641],{"className":1638},[931],[933,1640],{"disabled":249,"type":935}," Set up a status/pause page (use ExitPage or similar)",[29,1643,1645,1647],{"className":1644},[931],[933,1646],{"disabled":249,"type":935}," Enable data export if it's not already available",[29,1649,1651,1653],{"className":1650},[931],[933,1652],{"disabled":249,"type":935}," Set up email autoresponder",[29,1655,1657,1659],{"className":1656},[931],[933,1658],{"disabled":249,"type":935}," Cancel or downgrade non-essential services",[29,1661,1663,1665],{"className":1662},[931],[933,1664],{"disabled":249,"type":935}," Document your infrastructure so you can spin it back up",[29,1667,1669,1671],{"className":1668},[931],[933,1670],{"disabled":249,"type":935}," Make a note of all recurring charges and cancel what you can",[29,1673,1675,1677],{"className":1674},[931],[933,1676],{"disabled":249,"type":935}," Back up everything",[1062,1679,1681],{"id":1680},"during-the-pause","During the pause",[158,1683,1685,1691,1697,1703,1709],{"className":1684},[927],[29,1686,1688,1690],{"className":1687},[931],[933,1689],{"disabled":249,"type":935}," Check your status page email monthly",[29,1692,1694,1696],{"className":1693},[931],[933,1695],{"disabled":249,"type":935}," Monitor your domain renewal dates",[29,1698,1700,1702],{"className":1699},[931],[933,1701],{"disabled":249,"type":935}," Keep your SSL certificate valid",[29,1704,1706,1708],{"className":1705},[931],[933,1707],{"disabled":249,"type":935}," Post a brief update if plans change",[29,1710,1712,1714],{"className":1711},[931],[933,1713],{"disabled":249,"type":935}," Keep your database backups running",[1062,1716,1718],{"id":1717},"coming-back","Coming back",[158,1720,1722,1728,1734,1740,1746],{"className":1721},[927],[29,1723,1725,1727],{"className":1724},[931],[933,1726],{"disabled":249,"type":935}," Email users 2 weeks before you relaunch",[29,1729,1731,1733],{"className":1730},[931],[933,1732],{"disabled":249,"type":935}," Post on social media",[29,1735,1737,1739],{"className":1736},[931],[933,1738],{"disabled":249,"type":935}," Update your status page to \"coming back\"",[29,1741,1743,1745],{"className":1742},[931],[933,1744],{"disabled":249,"type":935}," Do a soft launch for existing users before opening to new ones",[29,1747,1749,1751],{"className":1748},[931],[933,1750],{"disabled":249,"type":935}," Write a \"we're back\" blog post — people love a comeback story",[18,1753,1755],{"id":1754},"the-emotional-side","The emotional side",[11,1757,1758],{},"Let's be real: pausing feels like failure. Even when it's the rational choice, there's a voice in your head saying \"real founders don't quit.\"",[11,1760,1761],{},"But pausing isn't quitting. Quitting is letting your domain expire, your users vanish, and your reputation dissolve. Pausing is saying: \"This matters enough to do right. I need to step back so I can step forward.\"",[11,1763,1764],{},"The founders who handle pauses well — who communicate openly, protect user data, and come back with a plan — often earn more respect than the ones who never struggled at all.",[11,1766,1767],{},"Your users are human. They understand burnout, funding gaps, and life events. What they don't understand is silence.",[18,1769,1771],{"id":1770},"dont-just-disappear","Don't just disappear",[11,1773,1774],{},"If you're considering a pause, the worst thing you can do is nothing. Don't let your product slowly rot while you avoid the conversation.",[11,1776,1777],{},"Put up a page. Send an email. Be honest. Your users will understand, and they'll be there when you come back.",[11,1779,1780],{},"That's the difference between a pause and an abandonment — communication.",{"title":235,"searchDepth":236,"depth":236,"links":1782},[1783,1789,1795,1796,1797,1802,1803],{"id":1433,"depth":236,"text":1434,"children":1784},[1785,1786,1787,1788],{"id":1440,"depth":1217,"text":1441},{"id":1450,"depth":1217,"text":1451},{"id":1457,"depth":1217,"text":1458},{"id":1464,"depth":1217,"text":1465},{"id":1471,"depth":236,"text":1472,"children":1790},[1791,1792,1793,1794],{"id":1481,"depth":1217,"text":1482},{"id":1488,"depth":1217,"text":1489},{"id":1521,"depth":1217,"text":1522},{"id":1545,"depth":1217,"text":1546},{"id":1552,"depth":236,"text":1553},{"id":1584,"depth":236,"text":1585},{"id":1618,"depth":236,"text":1619,"children":1798},[1799,1800,1801],{"id":1625,"depth":1217,"text":1626},{"id":1680,"depth":1217,"text":1681},{"id":1717,"depth":1217,"text":1718},{"id":1754,"depth":236,"text":1755},{"id":1770,"depth":236,"text":1771},"2025-03-04","Burnout, funding gaps, pivots — sometimes the smartest move is to pause. Here's how to freeze your product without losing the users you fought so hard to get.",{},"/blog/pause-saas-without-losing-users","9 min read",{"title":1419,"description":1805},"blog/pause-saas-without-losing-users","_xcrV5frtZpBQgQeBeWeGXlpHkxjazRISl_9BdmYeno",{"id":1813,"title":1814,"body":1815,"date":2150,"description":2151,"extension":247,"meta":2152,"navigation":249,"path":2153,"readTime":2154,"seo":2155,"stem":2156,"__hash__":2157},"blog/blog/best-status-pages-2025.md","The Best Product Status Pages of 2025",{"type":8,"value":1816,"toc":2120},[1817,1820,1823,1827,1830,1862,1866,1869,1873,1876,1880,1883,1887,1890,1894,1897,1901,1905,1908,1928,1931,1935,1938,1952,1955,1959,1962,1965,1969,1973,1976,1979,1983,1986,1989,1993,1996,2000,2003,2007,2010,2014,2018,2021,2025,2028,2032,2035,2039,2042,2046,2049,2055,2061,2067,2073,2077,2080,2086,2092,2098,2104,2110,2114,2117],[11,1818,1819],{},"When a product dies, its status page is the last thing users see. Some companies nail it. Most don't.",[11,1821,1822],{},"We've spent months collecting examples of real product shutdowns, planned pauses, and maintenance pages from across the internet. Here's what the best ones look like — and what makes them work.",[18,1824,1826],{"id":1825},"what-makes-a-great-status-page","What makes a great status page",[11,1828,1829],{},"Before we dive into examples, let's establish the criteria. A great status page:",[26,1831,1832,1838,1844,1850,1856],{},[29,1833,1834,1837],{},[32,1835,1836],{},"Answers \"why\" immediately."," Users arrive confused. The first thing they need to understand is what happened.",[29,1839,1840,1843],{},[32,1841,1842],{},"Respects the user's time."," Clear dates, specific action items, and no corporate fluff.",[29,1845,1846,1849],{},[32,1847,1848],{},"Provides next steps."," Alternatives, data export options, contact information.",[29,1851,1852,1855],{},[32,1853,1854],{},"Looks intentional."," Design signals care. A polished page says \"we thought about you.\" A broken page says \"we stopped caring.\"",[29,1857,1858,1861],{},[32,1859,1860],{},"Stays up."," The page needs to outlive the product. Dead links are the whole problem — don't create more.",[18,1863,1865],{"id":1864},"the-categories","The categories",[11,1867,1868],{},"Status pages fall into a few distinct categories, each with different requirements:",[1062,1870,1872],{"id":1871},"permanent-shutdowns","Permanent shutdowns",[11,1874,1875],{},"The product is gone forever. The page needs to explain why, where users should go, and what happens to their data. Tone matters enormously — this is a farewell.",[1062,1877,1879],{"id":1878},"planned-pauses","Planned pauses",[11,1881,1882],{},"The product is temporarily offline, with a return date. The page needs to set expectations, reassure users their data is safe, and provide a way to stay updated.",[1062,1884,1886],{"id":1885},"maintenance-windows","Maintenance windows",[11,1888,1889],{},"Short-term downtime for updates or fixes. These pages need an ETA, a status indicator, and a way to check progress.",[1062,1891,1893],{"id":1892},"acquisitions-and-migrations","Acquisitions and migrations",[11,1895,1896],{},"The product still \"exists\" but is moving somewhere else. Users need clear instructions on what to do and by when.",[18,1898,1900],{"id":1899},"permanent-shutdown-pages-that-got-it-right","Permanent shutdown pages that got it right",[1062,1902,1904],{"id":1903},"the-personal-letter-approach","The personal letter approach",[11,1906,1907],{},"Some of the most effective shutdown pages read like personal letters from the founder. They include:",[158,1909,1910,1913,1916,1919,1922,1925],{},[29,1911,1912],{},"A genuine explanation of why the product is closing",[29,1914,1915],{},"Gratitude for users who stuck around",[29,1917,1918],{},"Specific dates and deadlines",[29,1920,1921],{},"Data export instructions",[29,1923,1924],{},"Alternative product recommendations",[29,1926,1927],{},"A personal sign-off, sometimes handwritten",[11,1929,1930],{},"This works because it's human. Users don't want to be notified by a system — they want to hear from a person. The letter format signals that a real human sat down and wrote this, which makes the message feel more authentic.",[1062,1932,1934],{"id":1933},"the-information-first-approach","The information-first approach",[11,1936,1937],{},"Other great pages prioritize information density:",[158,1939,1940,1943,1946,1949],{},[29,1941,1942],{},"A clear status banner at the top (SHUTTING DOWN / PAUSED / MAINTENANCE)",[29,1944,1945],{},"A timeline with key dates",[29,1947,1948],{},"FAQ-style sections: \"What happens to my data?\" / \"Can I export?\" / \"What are the alternatives?\"",[29,1950,1951],{},"Links to every resource a user might need",[11,1953,1954],{},"This works for larger products with enterprise customers who need specific technical details. It's less emotional but more useful.",[1062,1956,1958],{"id":1957},"the-creative-approach","The creative approach",[11,1960,1961],{},"Some pages use their shutdown as a creative moment. Terminal-style pages for developer tools. Receipt-style pages that \"ring up\" the product's history. Game over screens for gaming products.",[11,1963,1964],{},"These work when the product's brand has always been playful or creative. A fintech product probably shouldn't use a \"GAME OVER\" screen, but an indie game studio? Perfect.",[18,1966,1968],{"id":1967},"common-mistakes-we-see","Common mistakes we see",[1062,1970,1972],{"id":1971},"the-blank-page","The blank page",[11,1974,1975],{},"The most common mistake: the product just... disappears. The domain expires, or it redirects to a registrar parking page. Users searching for the product find nothing. There's no explanation, no alternative, no closure.",[11,1977,1978],{},"This is the worst outcome. It leaves a trail of confused users, broken links, and dead bookmarks across the internet.",[1062,1980,1982],{"id":1981},"the-one-liner","The one-liner",[11,1984,1985],{},"\"We're shutting down. Thanks for using our product.\"",[11,1987,1988],{},"That's it. No dates, no alternatives, no data export instructions. It technically communicates the shutdown, but it answers none of the questions users actually have.",[1062,1990,1992],{"id":1991},"the-legal-wall","The legal wall",[11,1994,1995],{},"Some companies replace their product with a page of legal disclaimers, terms of service updates, and privacy policy notifications. This is compliance theater. Users need practical information, not a legal brief.",[1062,1997,1999],{"id":1998},"the-premature-redirect","The premature redirect",[11,2001,2002],{},"The product shuts down and immediately redirects to the parent company's homepage, or to a \"try our other product\" landing page. This ignores the user's context entirely — they came here for a reason, and that reason deserves acknowledgment.",[1062,2004,2006],{"id":2005},"the-please-dont-go-guilt-trip","The \"please don't go\" guilt trip",[11,2008,2009],{},"Some pages try to turn a shutdown announcement into a conversion opportunity. \"We're shutting down Product A, but have you tried Product B?\" This feels manipulative, especially when users are losing something they relied on.",[18,2011,2013],{"id":2012},"elements-of-design-that-work","Elements of design that work",[1062,2015,2017],{"id":2016},"typography","Typography",[11,2019,2020],{},"The best pages use clear, readable type. Large headlines for the status (\"Shutting down April 15, 2025\"). Body text that's easy to scan. No walls of small text.",[1062,2022,2024],{"id":2023},"color","Color",[11,2026,2027],{},"Warm, muted palettes work for empathetic shutdown pages. Bold, high-contrast palettes work for dramatic announcements. The worst choice is no choice — default browser styles signal that nobody cared enough to design the page.",[1062,2029,2031],{"id":2030},"whitespace","Whitespace",[11,2033,2034],{},"Generous whitespace signals confidence and calm. Cramped pages feel panicked. Give your content room to breathe.",[1062,2036,2038],{"id":2037},"hierarchy","Hierarchy",[11,2040,2041],{},"The most important information should be the most visible. Status first, then dates, then details, then alternatives, then contact info. Users should be able to get the gist in 5 seconds and the full picture in 30.",[18,2043,2045],{"id":2044},"maintenance-pages-worth-noting","Maintenance pages worth noting",[11,2047,2048],{},"The best maintenance pages share a few traits:",[11,2050,2051,2054],{},[32,2052,2053],{},"Real-time updates."," They change as the situation evolves. A timestamp shows when the page was last updated.",[11,2056,2057,2060],{},[32,2058,2059],{},"Estimated time."," Even a range (\"we expect this to take 1–2 hours\") dramatically reduces user anxiety.",[11,2062,2063,2066],{},[32,2064,2065],{},"Service-level detail."," \"API: operational. Dashboard: maintenance. Webhooks: delayed.\" This level of specificity helps users assess impact.",[11,2068,2069,2072],{},[32,2070,2071],{},"Personality."," The best maintenance pages still sound like the brand. A casual company stays casual. A serious company stays professional. But neither should sound like a robot.",[18,2074,2076],{"id":2075},"what-you-can-learn-from-all-of-this","What you can learn from all of this",[11,2078,2079],{},"After reviewing hundreds of status pages, here's what stands out:",[11,2081,2082,2085],{},[32,2083,2084],{},"1. Design is communication."," A well-designed page doesn't just look nice — it communicates competence, care, and intentionality.",[11,2087,2088,2091],{},[32,2089,2090],{},"2. Tone matters as much as content."," The same information delivered with empathy vs. delivered with corporate detachment produces completely different user reactions.",[11,2093,2094,2097],{},[32,2095,2096],{},"3. Alternatives are the most valuable thing you can provide."," Users who lose a product need to find a replacement. Making that easy is the single most useful thing a shutdown page can do.",[11,2099,2100,2103],{},[32,2101,2102],{},"4. Permanence matters."," The best shutdown pages stay up for years. Dead links are the disease — don't let your status page become one.",[11,2105,2106,2109],{},[32,2107,2108],{},"5. Templates accelerate quality."," Companies that use purpose-built tools for their status pages consistently produce better results than those who hack something together under pressure.",[18,2111,2113],{"id":2112},"build-your-own","Build your own",[11,2115,2116],{},"You don't have to design a status page from scratch. ExitPage offers 14 templates designed specifically for shutdowns, pauses, and maintenance — each with light and dark mode, customizable colors, and mobile responsiveness built in.",[11,2118,2119],{},"The best time to set up your status page is before you need it. The second best time is right now.",{"title":235,"searchDepth":236,"depth":236,"links":2121},[2122,2123,2129,2134,2141,2147,2148,2149],{"id":1825,"depth":236,"text":1826},{"id":1864,"depth":236,"text":1865,"children":2124},[2125,2126,2127,2128],{"id":1871,"depth":1217,"text":1872},{"id":1878,"depth":1217,"text":1879},{"id":1885,"depth":1217,"text":1886},{"id":1892,"depth":1217,"text":1893},{"id":1899,"depth":236,"text":1900,"children":2130},[2131,2132,2133],{"id":1903,"depth":1217,"text":1904},{"id":1933,"depth":1217,"text":1934},{"id":1957,"depth":1217,"text":1958},{"id":1967,"depth":236,"text":1968,"children":2135},[2136,2137,2138,2139,2140],{"id":1971,"depth":1217,"text":1972},{"id":1981,"depth":1217,"text":1982},{"id":1991,"depth":1217,"text":1992},{"id":1998,"depth":1217,"text":1999},{"id":2005,"depth":1217,"text":2006},{"id":2012,"depth":236,"text":2013,"children":2142},[2143,2144,2145,2146],{"id":2016,"depth":1217,"text":2017},{"id":2023,"depth":1217,"text":2024},{"id":2030,"depth":1217,"text":2031},{"id":2037,"depth":1217,"text":2038},{"id":2044,"depth":236,"text":2045},{"id":2075,"depth":236,"text":2076},{"id":2112,"depth":236,"text":2113},"2025-03-02","A curated look at the most well-designed shutdown, maintenance, and end-of-life pages from real companies. What works, what doesn't, and what you can steal.",{},"/blog/best-status-pages-2025","11 min read",{"title":1814,"description":2151},"blog/best-status-pages-2025","Zzwsw_rK70Xasgw8lHg3hP7IH9KUo7KD0AggyaHZ6q4",{"id":2159,"title":2160,"body":2161,"date":2416,"description":2417,"extension":247,"meta":2418,"navigation":249,"path":2419,"readTime":251,"seo":2420,"stem":2421,"__hash__":2422},"blog/blog/404-is-not-status-page.md","The 404 Page Is Not a Status Page",{"type":8,"value":2162,"toc":2398},[2163,2166,2169,2172,2175,2179,2182,2185,2188,2191,2194,2198,2201,2205,2208,2212,2215,2219,2222,2226,2229,2233,2236,2262,2269,2276,2280,2283,2287,2290,2293,2296,2300,2303,2306,2310,2313,2317,2320,2330,2336,2342,2348,2354,2360,2364,2367,2373,2379,2382,2386,2389,2392,2395],[11,2164,2165],{},"There are two ways a product can disappear from the internet.",[11,2167,2168],{},"The first: the domain expires, the server shuts off, and anyone who visits the URL gets a 404 error, a browser timeout, or a domain registrar parking page. No explanation. No context. Just... nothing.",[11,2170,2171],{},"The second: users arrive at a page that says \"This product has shut down. Here's why, here's what to do next, and here's how to reach us.\"",[11,2173,2174],{},"One of these is an accident. The other is a decision.",[18,2176,2178],{"id":2177},"it-crashed-vs-we-decided","\"It crashed\" vs. \"we decided\"",[11,2180,2181],{},"This is the core distinction that most founders miss.",[11,2183,2184],{},"A 404 error communicates: something broke. The server is gone. Nobody is home. The company might be dead, might be hacked, might have just forgotten to renew their domain. The user has no idea.",[11,2186,2187],{},"A status page communicates: we made a deliberate choice, and we respect you enough to explain it.",[11,2189,2190],{},"The emotional difference is enormous. A 404 feels like abandonment. A status page feels like closure.",[11,2192,2193],{},"And the practical difference is just as big.",[18,2195,2197],{"id":2196},"the-seo-damage-of-going-404","The SEO damage of going 404",[11,2199,2200],{},"When your product's domain starts returning 404 errors, Google notices. Here's what happens:",[1062,2202,2204],{"id":2203},"your-pages-get-deindexed","Your pages get deindexed",[11,2206,2207],{},"Google's crawler visits your URLs, gets a 404, and marks them for removal from the search index. Within days to weeks, your pages start disappearing from search results. All the SEO equity you built over months or years — gone.",[1062,2209,2211],{"id":2210},"backlinks-become-worthless","Backlinks become worthless",[11,2213,2214],{},"Every blog post that linked to your product, every directory listing, every mention on a forum — all of those backlinks now point to a dead page. The link equity that once flowed to your domain evaporates. If you ever want to use that domain again, you're starting from zero.",[1062,2216,2218],{"id":2217},"your-brand-searches-go-dark","Your brand searches go dark",[11,2220,2221],{},"When someone Googles your product name, they should find something. If your domain is dead, they'll find old cached results, third-party mentions, or nothing at all. You've lost control of your own narrative.",[1062,2223,2225],{"id":2224},"the-soft-404-trap","The \"soft 404\" trap",[11,2227,2228],{},"Some founders set up a catch-all redirect to their personal site or another project. Google treats these as \"soft 404s\" — they know the content isn't what was originally at that URL, and they penalize accordingly. A redirect isn't a status page.",[18,2230,2232],{"id":2231},"what-the-right-http-response-looks-like","What the right HTTP response looks like",[11,2234,2235],{},"This is a technical point, but it matters:",[158,2237,2238,2244,2250,2256],{},[29,2239,2240,2243],{},[32,2241,2242],{},"404"," means \"this resource doesn't exist.\" It tells search engines to remove the page.",[29,2245,2246,2249],{},[32,2247,2248],{},"410"," means \"this resource is permanently gone.\" It tells search engines to remove it faster.",[29,2251,2252,2255],{},[32,2253,2254],{},"503"," means \"temporarily unavailable.\" It tells search engines to check back later.",[29,2257,2258,2261],{},[32,2259,2260],{},"200"," with a proper status page means \"this URL is working, here's the current content.\" Search engines keep the page indexed with the new content.",[11,2263,2264,2265,2268],{},"If you're shutting down but want your status page to remain findable, you want a ",[32,2266,2267],{},"200 response"," on your main domain serving the status page. This preserves your SEO presence and ensures users can find your shutdown announcement through search.",[11,2270,2271,2272,2275],{},"If you're pausing temporarily, a ",[32,2273,2274],{},"503 with a Retry-After header"," tells Google to come back later — preserving your rankings for when you return.",[18,2277,2279],{"id":2278},"the-reputation-cost","The reputation cost",[11,2281,2282],{},"Beyond SEO, there's a human cost to going dark.",[1062,2284,2286],{"id":2285},"dead-links-spread","Dead links spread",[11,2288,2289],{},"Your product has been mentioned in blog posts, tweets, forum threads, and documentation across the internet. When those links break, it doesn't just affect the people who click them — it affects the people who shared them.",[11,2291,2292],{},"A developer who recommended your API in a Stack Overflow answer now looks careless. A blogger who wrote a review now has a broken link in their post. A founder who built on your platform now has dead references in their docs.",[11,2294,2295],{},"You can't prevent people from linking to you. But you can make sure those links still lead somewhere useful.",[1062,2297,2299],{"id":2298},"trust-transfers","Trust transfers",[11,2301,2302],{},"If you're a founder working on your next project, your reputation from the last one follows you. Users who had a bad experience with your shutdown will be wary of your next product.",[11,2304,2305],{},"Conversely, founders who handle shutdowns well often hear \"I used your last product and you handled the closing so well — I trust you with this one.\" That goodwill is rare and valuable.",[1062,2307,2309],{"id":2308},"the-internet-remembers","The internet remembers",[11,2311,2312],{},"Thanks to the Wayback Machine, Google Cache, and screenshot culture, your shutdown will be documented one way or another. Would you rather that documentation be \"they put up a thoughtful page\" or \"their domain expired and nobody said anything\"?",[18,2314,2316],{"id":2315},"building-a-proper-status-page","Building a proper status page",[11,2318,2319],{},"A good status page doesn't need to be complex. At minimum, it should include:",[11,2321,2322,2325,2326,2329],{},[32,2323,2324],{},"What happened."," \"We've decided to shut down ",[647,2327,2328],{},"Product Name","\" or \"We're undergoing planned maintenance.\"",[11,2331,2332,2335],{},[32,2333,2334],{},"When."," Specific dates. \"As of March 1, 2025\" or \"Expected to be back by 4:00 PM UTC.\"",[11,2337,2338,2341],{},[32,2339,2340],{},"What users should do."," Export data, migrate to an alternative, contact support.",[11,2343,2344,2347],{},[32,2345,2346],{},"Where to go instead."," Two or three alternative products, with brief descriptions of why you recommend them.",[11,2349,2350,2353],{},[32,2351,2352],{},"How to reach you."," An email address at minimum. Social links if relevant.",[11,2355,2356,2359],{},[32,2357,2358],{},"Your branding."," Logo, colors, tone. This page represents your company at its most vulnerable moment. Make it look intentional.",[18,2361,2363],{"id":2362},"the-comparison","The comparison",[11,2365,2366],{},"Imagine you're a user of a product you've relied on for two years. You open the app one morning and:",[11,2368,2369,2372],{},[32,2370,2371],{},"Scenario A:"," The page doesn't load. You try again. Nothing. You Google the product name. No recent results. You check Twitter. Nothing. You check the domain a week later — it's a GoDaddy parking page. The product is gone, and you have no idea why, what happened to your data, or where to go.",[11,2374,2375,2378],{},[32,2376,2377],{},"Scenario B:"," The page loads, but instead of the usual dashboard, you see a clean, branded page: \"We're shutting down. Here's why, here's when, here's how to export your data, and here are three alternatives we recommend. Thank you for being a user.\"",[11,2380,2381],{},"The information in both scenarios is the same: the product is dead. But the experience is completely different. Scenario A breeds resentment. Scenario B creates understanding, maybe even gratitude.",[18,2383,2385],{"id":2384},"dont-wait-for-the-emergency","Don't wait for the emergency",[11,2387,2388],{},"The irony of status pages is that you most need them at the moment you're least prepared to create one. If you're shutting down because you ran out of money, the last thing you want to do is spend time designing a page.",[11,2390,2391],{},"That's why tools like ExitPage exist. Pick a template, fill in your product details, hit publish. You get a page at yourapp.exitpage.one that stays up indefinitely — even after your original domain expires.",[11,2393,2394],{},"A 404 page tells your users nothing. A status page tells them everything they need to know.",[11,2396,2397],{},"The choice is yours, but the consequences affect everyone who ever trusted your product.",{"title":235,"searchDepth":236,"depth":236,"links":2399},[2400,2401,2407,2408,2413,2414,2415],{"id":2177,"depth":236,"text":2178},{"id":2196,"depth":236,"text":2197,"children":2402},[2403,2404,2405,2406],{"id":2203,"depth":1217,"text":2204},{"id":2210,"depth":1217,"text":2211},{"id":2217,"depth":1217,"text":2218},{"id":2224,"depth":1217,"text":2225},{"id":2231,"depth":236,"text":2232},{"id":2278,"depth":236,"text":2279,"children":2409},[2410,2411,2412],{"id":2285,"depth":1217,"text":2286},{"id":2298,"depth":1217,"text":2299},{"id":2308,"depth":1217,"text":2309},{"id":2315,"depth":236,"text":2316},{"id":2362,"depth":236,"text":2363},{"id":2384,"depth":236,"text":2385},"2025-02-28","When your product goes offline, a 404 error tells users nothing. Here's why a deliberate status page protects your SEO, your reputation, and your users.",{},"/blog/404-is-not-status-page",{"title":2160,"description":2417},"blog/404-is-not-status-page","W82KEz9UIZq0te7FxagILFZylh6cANvDv7R1HaUzvFw",{"id":2424,"title":2425,"body":2426,"date":2608,"description":2609,"extension":247,"meta":2610,"navigation":249,"path":2611,"readTime":2612,"seo":2613,"stem":2614,"__hash__":2615},"blog/blog/shutting-down-a-game.md","Shutting Down a Game: What Developers Owe Their Players",{"type":8,"value":2427,"toc":2598},[2428,2431,2434,2438,2441,2467,2470,2474,2481,2492,2495,2499,2502,2508,2514,2520,2524,2527,2530,2541,2544,2548,2551,2554,2558,2561,2564,2568,2571,2585,2588,2592,2595],[11,2429,2430],{},"Game shutdowns hit differently. Players don't just lose access to a tool — they lose communities, characters they spent hundreds of hours building, and sometimes real money they spent on in-game purchases. The backlash from a botched game shutdown can last for years.",[11,2432,2433],{},"Here's how to handle it with integrity.",[18,2435,2437],{"id":2436},"the-unique-challenges-of-shutting-down-a-game","The Unique Challenges of Shutting Down a Game",[11,2439,2440],{},"Unlike SaaS, games have:",[158,2442,2443,2449,2455,2461],{},[29,2444,2445,2448],{},[32,2446,2447],{},"Real-money purchases"," — skins, loot boxes, premium currency that has no value after shutdown",[29,2450,2451,2454],{},[32,2452,2453],{},"Save data and progress"," — years of playtime that simply disappears",[29,2456,2457,2460],{},[32,2458,2459],{},"Communities"," — Discord servers, subreddits, streamers, guilds",[29,2462,2463,2466],{},[32,2464,2465],{},"Emotional investment"," — it's not a productivity tool, it's where people made friends",[11,2468,2469],{},"Each of these requires a specific response.",[18,2471,2473],{"id":2472},"give-enough-warning","Give Enough Warning",[11,2475,2476,2477,2480],{},"The minimum standard in the industry has shifted toward ",[32,2478,2479],{},"90 days notice",". Some jurisdictions (South Korea, parts of the EU) are beginning to require it legally. In any case:",[158,2482,2483,2486,2489],{},[29,2484,2485],{},"Announce via in-game notification, email, and all official community channels simultaneously",[29,2487,2488],{},"Give the exact server shutdown timestamp, not just a month",[29,2490,2491],{},"Pin the announcement so it can't be missed",[11,2493,2494],{},"Two weeks is not enough. A few games have shut down with less than a week's notice and faced class action lawsuits over it.",[18,2496,2498],{"id":2497},"address-real-money-purchases-directly","Address Real-Money Purchases Directly",[11,2500,2501],{},"If players spent real money on anything that will become worthless:",[11,2503,2504,2507],{},[32,2505,2506],{},"Best practice:"," Refund it. All of it, or at least the portion purchased within a reasonable window (often 30–90 days). Some developers have offered 100% refunds on all real-money purchases going back to launch.",[11,2509,2510,2513],{},[32,2511,2512],{},"Minimum acceptable:"," Spend-down period. Give players enough time to spend all their premium currency before shutdown. Unlock previously paid content for free. Let people use what they bought.",[11,2515,2516,2519],{},[32,2517,2518],{},"Avoid:"," Silently letting everything expire. This generates the most player anger and the most legal exposure.",[18,2521,2523],{"id":2522},"offer-save-data-exports-if-possible","Offer Save Data Exports (If Possible)",[11,2525,2526],{},"Can players export their characters, settings, or save data? Even if they can't use it anywhere, the act of providing it shows respect for their time investment.",[11,2528,2529],{},"Some developers have:",[158,2531,2532,2535,2538],{},[29,2533,2534],{},"Released save files as downloadable archives",[29,2536,2537],{},"Published character data to a read-only memorial website",[29,2539,2540],{},"Released the game client for private server use (with appropriate licensing)",[11,2542,2543],{},"These aren't always feasible, but they're worth considering.",[18,2545,2547],{"id":2546},"the-private-server-question","The Private Server Question",[11,2549,2550],{},"A vocal portion of players will want to run private servers. If your game's code or server software is releasable, this is one of the most goodwill-generating things you can do. Some studios have open-sourced the server software specifically at shutdown.",[11,2552,2553],{},"This isn't right for every game or every company, but the question will come up. Have a prepared answer.",[18,2555,2557],{"id":2556},"engage-the-community-dont-hide-from-it","Engage the Community, Don't Hide From It",[11,2559,2560],{},"When Carbine shut down WildStar in 2018, the developers made themselves available in Discord and answered hard questions. The community remembered it positively despite the pain.",[11,2562,2563],{},"The developers who post a brief announcement and then go silent tend to face the worst backlash. Show up, be honest about why it's happening, and engage with the grief.",[18,2565,2567],{"id":2566},"the-shutdown-page","The Shutdown Page",[11,2569,2570],{},"Your game's website will outlive the servers. Redirect it to a shutdown page that covers:",[158,2572,2573,2576,2579,2582],{},[29,2574,2575],{},"The exact shutdown date",[29,2577,2578],{},"What happened to purchases",[29,2580,2581],{},"Where to export data (if applicable)",[29,2583,2584],{},"A thank-you to the community that isn't corporate boilerplate",[11,2586,2587],{},"Don't let the last thing people see when they google your game be a blank page or a domain parking ad.",[18,2589,2591],{"id":2590},"what-players-remember","What Players Remember",[11,2593,2594],{},"Players forgive a lot. They don't forgive being ignored or having money taken without acknowledgment. Games like City of Heroes, despite shutting down in 2012, still have active communities today — because the shutdown was handled with enough respect that people's love for it never turned to resentment.",[11,2596,2597],{},"That's the bar worth aiming for.",{"title":235,"searchDepth":236,"depth":236,"links":2599},[2600,2601,2602,2603,2604,2605,2606,2607],{"id":2436,"depth":236,"text":2437},{"id":2472,"depth":236,"text":2473},{"id":2497,"depth":236,"text":2498},{"id":2522,"depth":236,"text":2523},{"id":2546,"depth":236,"text":2547},{"id":2556,"depth":236,"text":2557},{"id":2566,"depth":236,"text":2567},{"id":2590,"depth":236,"text":2591},"2025-01-14","Server shutdowns, save data, microtransactions — what you should do when pulling the plug on a game, and how to handle the community.",{},"/blog/shutting-down-a-game","8 min read",{"title":2425,"description":2609},"blog/shutting-down-a-game","2n8Zdo_8g-969SohIKAnNaWvoeCqDkOzvPDXhJ9bp7s",{"id":2617,"title":2618,"body":2619,"date":2846,"description":2847,"extension":247,"meta":2848,"navigation":249,"path":2849,"readTime":1413,"seo":2850,"stem":2851,"__hash__":2852},"blog/blog/handling-refunds-when-shutting-down.md","How to Handle Refunds When Shutting Down Your Product",{"type":8,"value":2620,"toc":2836},[2621,2624,2628,2635,2646,2649,2653,2656,2661,2672,2677,2685,2688,2692,2698,2701,2707,2710,2714,2717,2723,2730,2740,2743,2749,2756,2760,2763,2778,2781,2785,2788,2799,2802,2806,2809,2823,2826,2830,2833],[11,2622,2623],{},"The billing side of a shutdown is where founders get surprised. You close the product, cancel your infrastructure, and two months later a chargeback shows up for a customer you forgot to refund. Here's how to avoid that.",[18,2625,2627],{"id":2626},"understand-your-chargeback-window-first","Understand Your Chargeback Window First",[11,2629,2630,2631,2634],{},"Before you close anything, know your exposure. Credit card chargebacks can be filed up to ",[32,2632,2633],{},"120 days"," after a transaction (sometimes longer with certain card networks). This means:",[158,2636,2637,2640,2643],{},[29,2638,2639],{},"Every payment you processed in the last 4 months is still \"live\" in terms of dispute risk",[29,2641,2642],{},"You need to keep your payment processor account open until this window clears",[29,2644,2645],{},"Closing Stripe or PayPal before the window closes doesn't make the risk go away — it makes it harder to resolve disputes",[11,2647,2648],{},"Do not close your merchant account until at least 150 days after your last charge.",[18,2650,2652],{"id":2651},"who-gets-a-refund","Who Gets a Refund?",[11,2654,2655],{},"Your default position should be: anyone who paid for something they won't receive.",[11,2657,2658],{},[32,2659,2660],{},"Clearly refundable:",[158,2662,2663,2666,2669],{},[29,2664,2665],{},"Monthly subscribers who paid for a period that extends beyond your shutdown date",[29,2667,2668],{},"Annual subscribers with more than a month remaining",[29,2670,2671],{},"Anyone who purchased in the final 30 days and received little or no value",[11,2673,2674],{},[32,2675,2676],{},"Gray areas:",[158,2678,2679,2682],{},[29,2680,2681],{},"Annual subscribers who used the product for most of the year",[29,2683,2684],{},"Customers who bought a lifetime plan years ago",[11,2686,2687],{},"For gray area cases, decide a policy and apply it consistently. Many founders pro-rate annual refunds by the unused months. This is fair and defensible.",[18,2689,2691],{"id":2690},"proactive-vs-reactive-refunds","Proactive vs. Reactive Refunds",[11,2693,2694,2697],{},[32,2695,2696],{},"Proactive:"," You issue refunds before customers ask.",[11,2699,2700],{},"This is the right approach. It generates goodwill, prevents disputes, and keeps you from having to respond to dozens of individual requests. Calculate every active subscription, run the refunds in bulk, and email customers confirming the refund.",[11,2702,2703,2706],{},[32,2704,2705],{},"Reactive:"," You wait for customers to ask.",[11,2708,2709],{},"This creates more work for you, generates frustration, and some customers — especially those who don't check email — will file disputes instead of contacting you. Disputes are more expensive and more damaging than proactive refunds.",[18,2711,2713],{"id":2712},"how-to-run-bulk-refunds-in-stripe","How to Run Bulk Refunds in Stripe",[11,2715,2716],{},"In Stripe, you can query all active subscriptions and charge them via the API:",[300,2718,2721],{"className":2719,"code":2720,"language":305},[303],"stripe subscriptions list --status=active\n",[200,2722,2720],{"__ignoreMap":235},[11,2724,2725,2726,2729],{},"Or use the Dashboard: ",[32,2727,2728],{},"Customers → Export → filter by active subscriptions",".",[11,2731,2732,2733,2729],{},"For each customer with an active subscription that covers the post-shutdown period, calculate the prorated amount and issue a refund via ",[32,2734,2735,2736,2739],{},"Payments → ",[647,2737,2738],{},"payment"," → Refund",[11,2741,2742],{},"Stripe also lets you cancel all subscriptions with a single API call:",[300,2744,2747],{"className":2745,"code":2746,"language":305},[303],"stripe subscriptions cancel --cancel-at-period-end=false\n",[200,2748,2746],{"__ignoreMap":235},[11,2750,2751,2752,2755],{},"This stops future charges immediately. Set ",[200,2753,2754],{},"cancel_at_period_end: false"," so it takes effect now, not at renewal.",[18,2757,2759],{"id":2758},"write-the-refund-email","Write the Refund Email",[11,2761,2762],{},"Your refund email should be short and direct:",[641,2764,2765,2775],{},[11,2766,2767,2768,2770,2771,2774],{},"We're shutting down ",[647,2769,653],{}," on ",[647,2772,2773],{},"Date",". We've issued a refund of $X to the card ending in XXXX. It should appear within 5–10 business days.",[11,2776,2777],{},"Thank you for supporting us.",[11,2779,2780],{},"Don't over-explain. Customers want to know they'll get their money back, not read a founder's journey.",[18,2782,2784],{"id":2783},"keep-records","Keep Records",[11,2786,2787],{},"After everything settles, archive:",[158,2789,2790,2793,2796],{},[29,2791,2792],{},"A spreadsheet of every refund issued (customer ID, amount, date)",[29,2794,2795],{},"Confirmation emails sent",[29,2797,2798],{},"Any dispute responses",[11,2800,2801],{},"If you ever get audited, questioned by a payment processor, or face legal action, this documentation is what protects you.",[18,2803,2805],{"id":2804},"after-the-chargeback-window-closes","After the Chargeback Window Closes",[11,2807,2808],{},"Once you've confirmed no new disputes can be filed (typically 150+ days after the last transaction):",[26,2810,2811,2814,2817,2820],{},[29,2812,2813],{},"Export all your Stripe/PayPal data as CSV",[29,2815,2816],{},"Download all invoices",[29,2818,2819],{},"Close the merchant account",[29,2821,2822],{},"Cancel any billing-related integrations",[11,2824,2825],{},"You're done. The financial chapter is closed.",[18,2827,2829],{"id":2828},"the-reputation-cost-of-not-refunding","The Reputation Cost of Not Refunding",[11,2831,2832],{},"Founders sometimes try to avoid refunds to preserve a little runway. The math almost never works out. A handful of disputed charges will cost more in time, fees, and reputational damage than the refunds themselves. The community memory of \"they didn't refund anyone\" travels far.",[11,2834,2835],{},"Do the refunds. Do them proactively. Move on clean.",{"title":235,"searchDepth":236,"depth":236,"links":2837},[2838,2839,2840,2841,2842,2843,2844,2845],{"id":2626,"depth":236,"text":2627},{"id":2651,"depth":236,"text":2652},{"id":2690,"depth":236,"text":2691},{"id":2712,"depth":236,"text":2713},{"id":2758,"depth":236,"text":2759},{"id":2783,"depth":236,"text":2784},{"id":2804,"depth":236,"text":2805},{"id":2828,"depth":236,"text":2829},"2024-12-18","A clear guide to managing refunds, chargebacks, and payment processors when you're winding down — so you don't get surprised months later.",{},"/blog/handling-refunds-when-shutting-down",{"title":2618,"description":2847},"blog/handling-refunds-when-shutting-down","Pgz_DUqjHOE5dY2bmEoQHHAxu88tf4bB4417jSzzrNY",{"id":2854,"title":2855,"body":2856,"date":3004,"description":3005,"extension":247,"meta":3006,"navigation":249,"path":3007,"readTime":736,"seo":3008,"stem":3009,"__hash__":3010},"blog/blog/closing-an-online-shop.md","How to Close an Online Shop the Right Way",{"type":8,"value":2857,"toc":2994},[2858,2861,2864,2868,2871,2874,2878,2881,2884,2888,2891,2911,2914,2918,2921,2924,2928,2931,2945,2948,2952,2955,2958,2971,2974,2978,2981,2984,2988,2991],[11,2859,2860],{},"Closing an online shop is different from shutting down a SaaS. You have inventory, pending orders, payment processors, suppliers, and customers who might have store credit. Every loose end has a dollar amount attached.",[11,2862,2863],{},"Here's how to close cleanly.",[18,2865,2867],{"id":2866},"step-1-stop-accepting-new-orders-first","Step 1: Stop Accepting New Orders First",[11,2869,2870],{},"Before you announce anything, disable new purchases. This gives you a clean cutoff point and prevents a flood of orders you can't fulfill.",[11,2872,2873],{},"Most e-commerce platforms (Shopify, WooCommerce, etc.) let you put the store in maintenance mode or password-protect it. Do this first.",[18,2875,2877],{"id":2876},"step-2-fulfill-everything-in-the-queue","Step 2: Fulfill Everything in the Queue",[11,2879,2880],{},"Honor every open order. This isn't optional — it's the law in most jurisdictions and it's the right thing to do. If you absolutely can't fulfill something, issue a full refund immediately and notify the customer.",[11,2882,2883],{},"Keep a spreadsheet: order ID, customer email, status, refund issued. You'll want this if anyone disputes a charge later.",[18,2885,2887],{"id":2886},"step-3-handle-store-credit-and-gift-cards","Step 3: Handle Store Credit and Gift Cards",[11,2889,2890],{},"If you sold gift cards or offered store credit, those are liabilities you owe. Your options:",[158,2892,2893,2899,2905],{},[29,2894,2895,2898],{},[32,2896,2897],{},"Honor them"," — give customers a final purchase window",[29,2900,2901,2904],{},[32,2902,2903],{},"Refund them"," — convert balances back to cash",[29,2906,2907,2910],{},[32,2908,2909],{},"Partial refund"," — if full refund is impossible, communicate clearly",[11,2912,2913],{},"Do not just ignore gift card balances. Beyond the legal risk, it's the kind of thing that turns into a Twitter thread that follows you to your next venture.",[18,2915,2917],{"id":2916},"step-4-cancel-subscriptions-and-recurring-customers","Step 4: Cancel Subscriptions and Recurring Customers",[11,2919,2920],{},"If you have a subscription box or any recurring billing, cancel all active subscriptions before the shutdown date. Process refunds for any prepaid periods.",[11,2922,2923],{},"Set up automated emails via your payment processor (Stripe, Shopify Payments) confirming the cancellation.",[18,2925,2927],{"id":2926},"step-5-communicate-the-timeline-clearly","Step 5: Communicate the Timeline Clearly",[11,2929,2930],{},"Send a shutdown email with:",[158,2932,2933,2936,2939,2942],{},[29,2934,2935],{},"The exact last day the store is open",[29,2937,2938],{},"What happens to open orders",[29,2940,2941],{},"What happens to gift cards/store credit",[29,2943,2944],{},"How to reach you with questions",[11,2946,2947],{},"Send it at least 30 days before shutdown, and again 7 days before.",[18,2949,2951],{"id":2950},"step-6-redirect-your-domain-to-a-shutdown-page","Step 6: Redirect Your Domain to a Shutdown Page",[11,2953,2954],{},"After your store goes dark, your domain should serve a clear explanation — not a 404 or an expired SSL warning.",[11,2956,2957],{},"A good shop shutdown page includes:",[158,2959,2960,2963,2965,2968],{},[29,2961,2962],{},"Why you're closing",[29,2964,906],{},[29,2966,2967],{},"Where to reach you if there are issues",[29,2969,2970],{},"What happened to customer data",[11,2972,2973],{},"This page should stay up for at least a year. Old links in email receipts, bookmarks, and Instagram bios will keep bringing people to your domain long after you've moved on.",[18,2975,2977],{"id":2976},"step-7-close-your-merchant-accounts-and-subscriptions","Step 7: Close Your Merchant Accounts and Subscriptions",[11,2979,2980],{},"Once all chargebacks have cleared (typically 90–120 days after the last transaction), you can close your payment processor account, cancel your Shopify/WooCommerce subscription, and wind down any related tools.",[11,2982,2983],{},"Don't rush this. One unexpected dispute after you've already closed everything creates a headache that takes weeks to untangle.",[18,2985,2987],{"id":2986},"the-reputation-that-follows-you","The Reputation That Follows You",[11,2989,2990],{},"How you close your shop follows you. Customers who had a smooth exit become people who recommend your next thing. Customers who got burned become negative reviews and dispute escalations.",[11,2992,2993],{},"The extra effort of a clean shutdown is almost always worth it.",{"title":235,"searchDepth":236,"depth":236,"links":2995},[2996,2997,2998,2999,3000,3001,3002,3003],{"id":2866,"depth":236,"text":2867},{"id":2876,"depth":236,"text":2877},{"id":2886,"depth":236,"text":2887},{"id":2916,"depth":236,"text":2917},{"id":2926,"depth":236,"text":2927},{"id":2950,"depth":236,"text":2951},{"id":2976,"depth":236,"text":2977},{"id":2986,"depth":236,"text":2987},"2024-12-03","A practical guide for shop owners shutting down: handle orders, refunds, customer communication, and domain redirects without leaving a mess.",{},"/blog/closing-an-online-shop",{"title":2855,"description":3005},"blog/closing-an-online-shop","1Iogu5sSMGyMfNkHHiZXjD_-A0riomPy3MKKUhdO1kY",{"id":3012,"title":3013,"body":3014,"date":3195,"description":3196,"extension":247,"meta":3197,"navigation":249,"path":3198,"readTime":2612,"seo":3199,"stem":3200,"__hash__":3201},"blog/blog/how-to-shut-down-your-saas.md","How to Shut Down Your SaaS the Right Way",{"type":8,"value":3015,"toc":3186},[3016,3019,3022,3025,3029,3032,3035,3039,3042,3045,3076,3080,3083,3086,3106,3110,3113,3121,3127,3131,3134,3137,3140,3144,3147,3158,3161,3165,3168,3171,3174,3177],[11,3017,3018],{},"Shutting down a SaaS isn't failure. It's a decision — and like any important decision, it deserves to be made well.",[11,3020,3021],{},"Most founders spend years obsessing over launch, growth, and retention. Almost none of them think about the shutdown until it's upon them. Then, in a moment of exhaustion or desperation, they pull the plug too fast, go dark, or disappear entirely. Users are left confused. The domain expires. Dead links spread across the internet.",[11,3023,3024],{},"This guide is for founders who want to do it differently.",[18,3026,3028],{"id":3027},"start-with-a-timeline","Start with a timeline",[11,3030,3031],{},"Give yourself at least 30 days. Ideally 60–90. Your users need time to export their data, find alternatives, and adjust their workflows. The longer notice you can give, the more goodwill you preserve.",[11,3033,3034],{},"If you're forced to move faster — because you've run out of money or the team has dissolved — be honest about it. A founder who says \"we have two weeks, here's why\" earns more respect than one who simply vanishes.",[18,3036,3038],{"id":3037},"write-the-announcement-before-you-tell-anyone","Write the announcement before you tell anyone",[11,3040,3041],{},"Before you post anything publicly, draft your shutdown announcement. This is the hardest part. Get it down on paper — or a Google Doc, or a napkin — before you start sending emails or posting on social media.",[11,3043,3044],{},"A good shutdown announcement includes:",[158,3046,3047,3053,3059,3065,3071],{},[29,3048,3049,3052],{},[32,3050,3051],{},"Why you're shutting down."," Be honest. Users deserve to know if it was financial, personal, a pivot, or something else entirely.",[29,3054,3055,3058],{},[32,3056,3057],{},"When service will end."," Give a specific date. \"Soon\" is not a date.",[29,3060,3061,3064],{},[32,3062,3063],{},"What happens to user data."," Will it be deleted? Can they export it? When?",[29,3066,3067,3070],{},[32,3068,3069],{},"Where users should go instead."," Recommend alternatives. This is one of the most useful things you can do.",[29,3072,3073,3075],{},[32,3074,2352],{}," Leave a contact email, at minimum.",[18,3077,3079],{"id":3078},"notify-users-via-every-channel-you-have","Notify users via every channel you have",[11,3081,3082],{},"Email is mandatory. But also post in your app, update your website, and post on social media. The goal is to make sure every active user hears the news at least twice.",[11,3084,3085],{},"Segment your users if you can:",[158,3087,3088,3094,3100],{},[29,3089,3090,3093],{},[32,3091,3092],{},"Active users"," (logged in last 30 days): Most urgent. These people are affected most.",[29,3095,3096,3099],{},[32,3097,3098],{},"Churned users"," (haven't used the product in months): Still deserve notice, especially if they have stored data.",[29,3101,3102,3105],{},[32,3103,3104],{},"Free users vs. paid users",": Paid users deserve extra attention, a personal email, and usually a refund.",[18,3107,3109],{"id":3108},"set-up-a-shutdown-page","Set up a shutdown page",[11,3111,3112],{},"When you shut down, don't just let your domain 404. That's the digital equivalent of closing your business in the middle of the night and changing the locks without telling anyone.",[11,3114,3115,3116,3120],{},"A dedicated shutdown page — what we call an ",[3117,3118,3119],"em",{},"exit page"," — tells the story of what happened and where to go next. It should live at your domain (or redirect to one) and should include everything in your announcement.",[11,3122,3123,3126],{},[32,3124,3125],{},"This page should stay up permanently."," Dead links point to your domain for years. People find you through old articles, social posts, and bookmarks. Every one of those visitors deserves an answer, not a blank screen.",[18,3128,3130],{"id":3129},"handle-the-money","Handle the money",[11,3132,3133],{},"If you have active paid subscriptions, you need to issue refunds or credits before you shut down. This is non-negotiable. Even if your terms of service technically don't require it, doing right by your paying customers is the right move — for your reputation and your karma.",[11,3135,3136],{},"Calculate prorated refunds for annual subscriptions. Be generous. The goodwill is worth more than the money.",[11,3138,3139],{},"If you're using a payment processor like Stripe, make sure to cancel all subscriptions before shutting down so you don't charge users after the service is gone.",[18,3141,3143],{"id":3142},"data-export-and-deletion","Data export and deletion",[11,3145,3146],{},"Tell users exactly what happens to their data:",[26,3148,3149,3152,3155],{},[29,3150,3151],{},"How to export it before the deadline",[29,3153,3154],{},"When it will be deleted",[29,3156,3157],{},"That you've taken steps to secure it in the meantime",[11,3159,3160],{},"If your product stores sensitive information, consider having a privacy lawyer review your shutdown data policy. In some jurisdictions, you have legal obligations around data retention and deletion that can't be waived.",[18,3162,3164],{"id":3163},"take-care-of-yourself","Take care of yourself",[11,3166,3167],{},"Shutting down something you built is genuinely hard. Founders often describe it as a kind of grief — which it is. You're mourning something real: the vision, the team, the possibility.",[11,3169,3170],{},"Give yourself permission to feel that. Talk to other founders (many have been here). Take a break before you start the next thing.",[11,3172,3173],{},"The way you close a chapter says a lot about how you'll open the next one. Doing it with care, honesty, and respect for your users is not just good business — it's good character.",[3175,3176],"hr",{},[11,3178,3179],{},[3117,3180,3181,3182,2729],{},"ExitPage.one helps founders create beautiful, permanent shutdown pages in minutes. ",[408,3183,3185],{"href":3184},"/create","Create yours for free",{"title":235,"searchDepth":236,"depth":236,"links":3187},[3188,3189,3190,3191,3192,3193,3194],{"id":3027,"depth":236,"text":3028},{"id":3037,"depth":236,"text":3038},{"id":3078,"depth":236,"text":3079},{"id":3108,"depth":236,"text":3109},{"id":3129,"depth":236,"text":3130},{"id":3142,"depth":236,"text":3143},{"id":3163,"depth":236,"text":3164},"2024-11-15","A step-by-step guide for founders on how to close a SaaS product gracefully — protecting your reputation, your users, and your peace of mind.",{},"/blog/how-to-shut-down-your-saas",{"title":3013,"description":3196},"blog/how-to-shut-down-your-saas","yVPUSnJvn5obFTHZLSXUodxA-kSpeamqtzCi12aB-60",{"id":3203,"title":3204,"body":3205,"date":3396,"description":3397,"extension":247,"meta":3398,"navigation":249,"path":3399,"readTime":251,"seo":3400,"stem":3401,"__hash__":3402},"blog/blog/startup-shutdown-announcement-email.md","How to Write a Startup Shutdown Announcement Email (With Templates)",{"type":8,"value":3206,"toc":3387},[3207,3210,3213,3217,3220,3251,3254,3258,3261,3266,3277,3282,3293,3296,3300,3303,3308,3311,3315,3321,3325,3331,3335,3342,3345,3359,3362,3366,3369,3372,3375,3377],[11,3208,3209],{},"The shutdown email is the hardest email you'll ever write. After years of building, you have to tell the people who believed in you that it's over.",[11,3211,3212],{},"Most founders write it badly — too vague, too corporate, or too apologetic. Here's how to write one that actually does its job: informs users clearly, treats them with respect, and preserves the relationship.",[18,3214,3216],{"id":3215},"what-the-email-must-accomplish","What the email must accomplish",[11,3218,3219],{},"Before you write a single word, know what you need to communicate:",[26,3221,3222,3228,3234,3239,3245],{},[29,3223,3224,3227],{},[32,3225,3226],{},"The product is shutting down"," — make this clear in the subject line",[29,3229,3230,3233],{},[32,3231,3232],{},"When it shuts down"," — a specific date, not \"soon\"",[29,3235,3236,3238],{},[32,3237,1511],{}," — export instructions and deletion timeline",[29,3240,3241,3244],{},[32,3242,3243],{},"Where they can go instead"," — alternatives you recommend",[29,3246,3247,3250],{},[32,3248,3249],{},"How to reach you"," — a real email address",[11,3252,3253],{},"If your email accomplishes all five of these, you've done your job.",[18,3255,3257],{"id":3256},"the-subject-line","The subject line",[11,3259,3260],{},"Don't bury the lede. Users get hundreds of emails. Your subject line needs to communicate the shutdown immediately.",[11,3262,3263],{},[32,3264,3265],{},"Good subject lines:",[158,3267,3268,3271,3274],{},[29,3269,3270],{},"\"MyApp is shutting down on March 31\"",[29,3272,3273],{},"\"An important update about MyApp — we're closing\"",[29,3275,3276],{},"\"MyApp: final notice and data export instructions\"",[11,3278,3279],{},[32,3280,3281],{},"Bad subject lines:",[158,3283,3284,3287,3290],{},[29,3285,3286],{},"\"An update from the MyApp team\"",[29,3288,3289],{},"\"Important news about your account\"",[29,3291,3292],{},"\"Changes to MyApp\"",[11,3294,3295],{},"Vague subject lines feel like marketing. Be direct.",[18,3297,3299],{"id":3298},"the-opening","The opening",[11,3301,3302],{},"Get to the point in the first sentence. Don't warm up to it.",[641,3304,3305],{},[11,3306,3307],{},"\"I'm writing to let you know that MyApp will permanently close on March 31, 2025.\"",[11,3309,3310],{},"That's it. One sentence. Everything else is context.",[18,3312,3314],{"id":3313},"template-smallindie-product","Template: Small/indie product",[300,3316,3319],{"className":3317,"code":3318,"language":305},[303],"Subject: MyApp is shutting down on March 31\n\nHi [Name],\n\nI'm writing to let you know that MyApp will shut down permanently on March 31, 2025.\n\nThis wasn't an easy decision. We built MyApp because we genuinely believed it could make [problem] easier. For the users who found value in it — thank you. Sincerely.\n\nWhat this means for you:\n\n- Your account and all data will be available until March 31\n- You can export your data at: [export URL]\n- After March 31, all data will be permanently deleted\n\nIf you're looking for alternatives, we recommend:\n- [Alternative 1] — [one-line description]\n- [Alternative 2] — [one-line description]\n\nIf you have questions or need help exporting your data, email me directly at [email].\n\nThank you for being part of this.\n\n[Your name]\nFounder, MyApp\n",[200,3320,3318],{"__ignoreMap":235},[18,3322,3324],{"id":3323},"template-fundedlarger-product","Template: Funded/larger product",[300,3326,3329],{"className":3327,"code":3328,"language":305},[303],"Subject: An important update about MyApp — service ending April 15\n\nHi [Name],\n\nAfter careful consideration, we've made the difficult decision to shut down MyApp. Service will end on April 15, 2025.\n\nWe know this affects your workflow, and we're sorry for the disruption.\n\n**What's happening:**\nMyApp will remain fully operational until April 15. After that date, you will no longer be able to access your account or data.\n\n**Your data:**\nYou have until April 15 to export your data. Here's how: [link to export guide]. On April 15, all user data will be permanently deleted from our servers.\n\n**Refunds:**\nIf you have an active paid subscription, you will receive a prorated refund to your original payment method within 5–7 business days. No action required on your part.\n\n**Alternatives:**\nWe recommend checking out [Alternative 1] and [Alternative 2], which offer similar functionality.\n\nIf you have questions, our support team is available at support@myapp.com through April 15.\n\nThank you for your trust in us. We're grateful for every user who took a chance on what we were building.\n\nThe MyApp Team\n",[200,3330,3328],{"__ignoreMap":235},[18,3332,3334],{"id":3333},"timing-when-to-send","Timing: When to send",[11,3336,3337,3338,3341],{},"Send your first announcement at least ",[32,3339,3340],{},"30 days before shutdown",". If you can give 60 days, even better.",[11,3343,3344],{},"Then send reminders:",[158,3346,3347,3350,3353,3356],{},[29,3348,3349],{},"30 days out: initial announcement",[29,3351,3352],{},"14 days out: reminder with data export emphasis",[29,3354,3355],{},"7 days out: \"one week left\" reminder",[29,3357,3358],{},"24 hours before: final notice",[11,3360,3361],{},"Each email should include the export link prominently. Some users only act when they feel urgency.",[18,3363,3365],{"id":3364},"the-tone-question","The tone question",[11,3367,3368],{},"Should you apologize? Be emotional? Keep it professional?",[11,3370,3371],{},"The answer depends on the product and your relationship with your users. A personal indie tool built by one founder deserves a personal, emotional tone. A B2B SaaS with enterprise customers should be warm but professional.",[11,3373,3374],{},"In either case: be honest. Users can tell the difference between a genuine farewell and corporate non-speak. The ones who've been with you for years deserve the truth.",[3175,3376],{},[11,3378,3379],{},[3117,3380,3381,3382,3386],{},"Create a permanent shutdown page for your product at ",[408,3383,3385],{"href":3384},"/","ExitPage.one",". It takes five minutes and ensures every visitor — now and in the future — gets the full story.",{"title":235,"searchDepth":236,"depth":236,"links":3388},[3389,3390,3391,3392,3393,3394,3395],{"id":3215,"depth":236,"text":3216},{"id":3256,"depth":236,"text":3257},{"id":3298,"depth":236,"text":3299},{"id":3313,"depth":236,"text":3314},{"id":3323,"depth":236,"text":3324},{"id":3333,"depth":236,"text":3334},{"id":3364,"depth":236,"text":3365},"2024-10-28","The shutdown email is the hardest email you'll ever write. Here's how to do it right — with real templates you can adapt.",{},"/blog/startup-shutdown-announcement-email",{"title":3204,"description":3397},"blog/startup-shutdown-announcement-email","pi96NHFlEcNwYNGjpS4o0KHDjv0XUeuANx-9bDCB-uU",{"id":3404,"title":3405,"body":3406,"date":3589,"description":3590,"extension":247,"meta":3591,"navigation":249,"path":3592,"readTime":736,"seo":3593,"stem":3594,"__hash__":3595},"blog/blog/what-happens-to-users-when-startup-shuts-down.md","What Happens to Your Users When You Shut Down Your Startup?",{"type":8,"value":3407,"toc":3580},[3408,3411,3415,3418,3438,3441,3444,3448,3451,3454,3457,3460,3464,3467,3470,3481,3484,3488,3491,3494,3497,3501,3504,3507,3510,3514,3517,3523,3537,3542,3553,3556,3560,3563,3566,3569,3571],[11,3409,3410],{},"When a startup shuts down, the founder feels it most intensely. But the experience for users is different — and understanding it is the first step toward handling it responsibly.",[18,3412,3414],{"id":3413},"the-moment-they-find-out","The moment they find out",[11,3416,3417],{},"Most users find out in one of three ways:",[26,3419,3420,3426,3432],{},[29,3421,3422,3425],{},[32,3423,3424],{},"They get an email."," Best case. They have time to act.",[29,3427,3428,3431],{},[32,3429,3430],{},"The product stops working."," No warning. They try to log in and get an error page, a 404, or a blank screen.",[29,3433,3434,3437],{},[32,3435,3436],{},"Someone tells them."," A blog post, a tweet, a mention in a newsletter. Usually too late to export data.",[11,3439,3440],{},"The third way — silent shutdown — is how most users experience the death of a small startup. The product quietly disappears and they only notice when they need it.",[11,3442,3443],{},"This is the scenario you want to avoid.",[18,3445,3447],{"id":3446},"the-immediate-impact-broken-workflows","The immediate impact: broken workflows",[11,3449,3450],{},"Your users built something around your product. Scripts that call your API. Bookmarks to your app. Processes that depend on your functionality.",[11,3452,3453],{},"When you disappear without warning, those workflows break. Not gracefully — they just stop working, often at the worst possible moment.",[11,3455,3456],{},"For a project management tool, this might mean a team can't access their files in the middle of a deadline. For a developer API, it might mean production systems start throwing errors. For a simple note-taking app, it might mean years of notes are gone.",[11,3458,3459],{},"The harm isn't always catastrophic, but it's always real.",[18,3461,3463],{"id":3462},"data-loss-the-most-serious-consequence","Data loss: the most serious consequence",[11,3465,3466],{},"If users haven't exported their data before you shut down, it's gone. That's not just inconvenient — for some users, it represents years of work, memories, or critical business records.",[11,3468,3469],{},"Your responsibility here is clear:",[158,3471,3472,3475,3478],{},[29,3473,3474],{},"Give users enough time to export (30–60 days minimum)",[29,3476,3477],{},"Make the export process as easy as possible",[29,3479,3480],{},"Communicate the deletion timeline clearly and repeatedly",[11,3482,3483],{},"Data deletion is also regulated in many jurisdictions. GDPR in Europe and CCPA in California both have rules about how you handle personal data at end-of-life. Consult a lawyer if you're uncertain about your obligations.",[18,3485,3487],{"id":3486},"financial-impact-paid-users","Financial impact: paid users",[11,3489,3490],{},"Users who paid for your product — especially on annual plans — have a reasonable expectation of a refund if the service shuts down before the end of their billing period.",[11,3492,3493],{},"Most users won't aggressively pursue this. But it's the right thing to do. Issue prorated refunds. Don't wait to be asked.",[11,3495,3496],{},"A founder who proactively refunds customers earns goodwill that will follow them to their next venture. A founder who ghosts them earns a reputation that does the same.",[18,3498,3500],{"id":3499},"the-trust-damage","The trust damage",[11,3502,3503],{},"When a product disappears without warning, users lose trust — not just in you, but in software generally. They become warier about adopting new tools. They hesitate to commit workflows to products they can't control.",[11,3505,3506],{},"This is a real cost, even if it doesn't show up on a balance sheet.",[11,3508,3509],{},"The antidote is transparency. When you explain what happened, why it happened, and what comes next, you're respecting your users as adults. That respect — even in the worst circumstances — preserves something.",[18,3511,3513],{"id":3512},"what-users-actually-want","What users actually want",[11,3515,3516],{},"When we look at how users respond to well-handled shutdowns vs. poorly-handled ones, the pattern is consistent:",[11,3518,3519,3522],{},[32,3520,3521],{},"Well-handled shutdowns"," generate:",[158,3524,3525,3528,3531,3534],{},[29,3526,3527],{},"Supportive comments on social media",[29,3529,3530],{},"Genuine gratitude for the product's existence",[29,3532,3533],{},"Users who recommend alternatives to their networks",[29,3535,3536],{},"Founders who are welcomed with open arms at their next ventures",[11,3538,3539,3522],{},[32,3540,3541],{},"Poorly-handled shutdowns",[158,3543,3544,3547,3550],{},[29,3545,3546],{},"Anger and frustration in public forums",[29,3548,3549],{},"Reputation damage that follows founders for years",[29,3551,3552],{},"Sometimes, legal action",[11,3554,3555],{},"The bar for a \"well-handled\" shutdown isn't high. Communicate clearly. Give notice. Provide data export. Recommend alternatives. That's genuinely most of it.",[18,3557,3559],{"id":3558},"the-long-tail-dead-links","The long tail: dead links",[11,3561,3562],{},"Here's something most founders don't think about: your domain will be referenced in blog posts, social media threads, app store reviews, and forum discussions for years after you shut down.",[11,3564,3565],{},"Every one of those links is a potential visitor. Someone clicked a link in a 2019 blog post about productivity tools. They end up at your domain — and find nothing.",[11,3567,3568],{},"That visitor deserves an explanation. That's exactly what a shutdown page provides: a permanent record that says \"yes, this was a real product, it served real users, and here's the full story.\"",[3175,3570],{},[11,3572,3573],{},[3117,3574,3575,3576,3579],{},"Don't leave your users with a 404. ",[408,3577,3578],{"href":3184},"Create an exit page"," — it takes five minutes and lasts forever.",{"title":235,"searchDepth":236,"depth":236,"links":3581},[3582,3583,3584,3585,3586,3587,3588],{"id":3413,"depth":236,"text":3414},{"id":3446,"depth":236,"text":3447},{"id":3462,"depth":236,"text":3463},{"id":3486,"depth":236,"text":3487},{"id":3499,"depth":236,"text":3500},{"id":3512,"depth":236,"text":3513},{"id":3558,"depth":236,"text":3559},"2024-10-10","From data deletion to broken workflows, understand what your users actually experience when a product they depend on disappears — and how to minimize the damage.",{},"/blog/what-happens-to-users-when-startup-shuts-down",{"title":3405,"description":3590},"blog/what-happens-to-users-when-startup-shuts-down","vfTtdZSyj0yHzeDjoz_aHTFrKx4BK9UPH0BV3S99hfw",{"id":3597,"title":3598,"body":3599,"date":3784,"description":3785,"extension":247,"meta":3786,"navigation":249,"path":3787,"readTime":1413,"seo":3788,"stem":3789,"__hash__":3790},"blog/blog/domain-expiration-after-startup-shutdown.md","Domain Expiration After Startup Shutdown: What You Need to Know",{"type":8,"value":3600,"toc":3776},[3601,3604,3607,3611,3614,3646,3649,3652,3656,3659,3676,3679,3682,3686,3692,3695,3698,3702,3705,3711,3717,3723,3727,3730,3747,3750,3753,3757,3760,3763,3766,3768],[11,3602,3603],{},"Your domain is one of the last things you think about when shutting down. It should be one of the first.",[11,3605,3606],{},"Here's what actually happens when a startup domain expires — and what you should do instead.",[18,3608,3610],{"id":3609},"what-happens-when-a-domain-expires","What happens when a domain expires",[11,3612,3613],{},"When you stop renewing a domain, here's the timeline:",[26,3615,3616,3622,3628,3634,3640],{},[29,3617,3618,3621],{},[32,3619,3620],{},"Expiration date passes."," The domain stops resolving. Your site goes offline.",[29,3623,3624,3627],{},[32,3625,3626],{},"30-day grace period."," Most registrars hold the domain for 30 days. You can still renew at the normal price.",[29,3629,3630,3633],{},[32,3631,3632],{},"Redemption period (30–60 days)."," The domain enters a \"redemption\" phase. You can still reclaim it, but you'll pay a redemption fee ($50–$200 depending on the registrar).",[29,3635,3636,3639],{},[32,3637,3638],{},"Pending delete (5 days)."," The domain enters a brief queue before release.",[29,3641,3642,3645],{},[32,3643,3644],{},"Release to public auction."," The domain becomes available again — usually snapped up within hours by domain investors or squatters.",[11,3647,3648],{},"Once it's gone, it could end up anywhere. A competitor. A spam site. A domain parking page full of ads. A completely different business.",[11,3650,3651],{},"Every link that ever pointed to your product now points to whatever bought your domain.",[18,3653,3655],{"id":3654},"why-this-matters-for-your-users","Why this matters for your users",[11,3657,3658],{},"Your product may have been mentioned in:",[158,3660,3661,3664,3667,3670,3673],{},[29,3662,3663],{},"Blog posts and articles",[29,3665,3666],{},"Social media threads",[29,3668,3669],{},"Stack Overflow or forum answers",[29,3671,3672],{},"App store descriptions of integrations",[29,3674,3675],{},"Books and academic papers (yes, really)",[11,3677,3678],{},"All of those links live indefinitely. People click them months and years later. When your domain expires and gets resold, those visitors land on whoever bought it.",[11,3680,3681],{},"This is not a hypothetical problem. There are documented cases of expired startup domains being acquired by adult content sites, phishing operations, and malware distributors. Your users — including the ones who trusted you with their data — end up seeing that.",[18,3683,3685],{"id":3684},"how-long-should-you-keep-the-domain","How long should you keep the domain?",[11,3687,3688,3689],{},"At minimum: ",[32,3690,3691],{},"keep it for 2 years after shutdown.",[11,3693,3694],{},"The cost is low (usually $10–20/year for a .com), and the protection it provides is real. During those 2 years, have it redirect to your exit page. After 2 years, the link traffic will have mostly dried up.",[11,3696,3697],{},"If you can't afford to keep the domain long-term, at least keep it long enough to serve your exit page for a full year after shutdown.",[18,3699,3701],{"id":3700},"setting-up-the-redirect","Setting up the redirect",[11,3703,3704],{},"If you're shutting down but keeping the domain, you have two options:",[11,3706,3707,3710],{},[32,3708,3709],{},"Option 1: Keep your server running (cheapest option: ~$5/month)","\nA minimal server that serves a static shutdown page is cheap. You can run it on a $5/month VPS and it will handle all the traffic your old domain gets.",[11,3712,3713,3716],{},[32,3714,3715],{},"Option 2: Use a redirect service","\nPoint your domain to a third-party shutdown page (like the kind ExitPage.one creates). You keep the domain registered but don't need to maintain any server infrastructure.",[11,3718,3719,3722],{},[32,3720,3721],{},"Option 3: Use a static hosting platform","\nDeploy a simple static HTML page to Netlify, Vercel, or Cloudflare Pages (all have free tiers) and point your domain there.",[18,3724,3726],{"id":3725},"what-to-put-on-the-domain","What to put on the domain",[11,3728,3729],{},"Whatever you do, the page that lives at your old domain should:",[158,3731,3732,3735,3738,3741,3744],{},[29,3733,3734],{},"Clearly explain that the service has shut down",[29,3736,3737],{},"Tell users what happened to their data",[29,3739,3740],{},"Recommend alternatives",[29,3742,3743],{},"Provide contact information",[29,3745,3746],{},"Include a date so visitors know this information is current",[11,3748,3749],{},"A 404 page tells users nothing. A blank page tells users nothing. An error page tells users nothing.",[11,3751,3752],{},"Your domain is the last point of contact between you and your users. Use it.",[18,3754,3756],{"id":3755},"the-domain-investor-problem","The domain investor problem",[11,3758,3759],{},"When you let a domain expire, it's often acquired by professional domain investors who either hold it for resale or park it with ads. If someone searches for your old product and clicks a link, they land on a page that looks like it might be your site but is actually a monetized parking page.",[11,3761,3762],{},"This is confusing and sometimes harmful. Domain investors know this. They specifically target expired startup domains because the existing traffic and backlinks give them value.",[11,3764,3765],{},"The only protection: keep your domain registered.",[3175,3767],{},[11,3769,3770],{},[3117,3771,3772,3773,2729],{},"ExitPage.one creates a permanent home for your shutdown page. Keep your domain pointing there and your users will always find the truth about what happened. ",[408,3774,3775],{"href":3184},"Get started for free",{"title":235,"searchDepth":236,"depth":236,"links":3777},[3778,3779,3780,3781,3782,3783],{"id":3609,"depth":236,"text":3610},{"id":3654,"depth":236,"text":3655},{"id":3684,"depth":236,"text":3685},{"id":3700,"depth":236,"text":3701},{"id":3725,"depth":236,"text":3726},{"id":3755,"depth":236,"text":3756},"2024-09-20","What actually happens to your domain when you shut down? How long to keep it, when to let it go, and how to protect your users in the meantime.",{},"/blog/domain-expiration-after-startup-shutdown",{"title":3598,"description":3785},"blog/domain-expiration-after-startup-shutdown","l6HUGvpKKhUK8gNnZl8PB-QUrhsRcFHOoBJauXDXN5M",{"id":3792,"title":3793,"body":3794,"date":4273,"description":4274,"extension":247,"meta":4275,"navigation":249,"path":4276,"readTime":251,"seo":4277,"stem":4278,"__hash__":4279},"blog/blog/how-to-redirect-domain-after-shutdown.md","How to Redirect Your Domain After Shutting Down Your Product",{"type":8,"value":3795,"toc":4254},[3796,3799,3803,3806,3826,3829,3831,3835,3838,3842,3860,3865,3871,3881,3900,3904,3907,3909,3913,3916,3920,3967,3971,3997,4001,4022,4029,4031,4035,4038,4042,4057,4061,4068,4074,4078,4083,4192,4195,4197,4201,4204,4224,4227,4229,4233,4236,4239,4241,4250],[11,3797,3798],{},"When you shut down your product, your domain should redirect somewhere useful. Here's how to set that up, regardless of your technical setup.",[18,3800,3802],{"id":3801},"the-options","The options",[11,3804,3805],{},"There are three main approaches to redirecting a shut-down domain:",[26,3807,3808,3814,3820],{},[29,3809,3810,3813],{},[32,3811,3812],{},"DNS-level redirect (CNAME or A record)"," — fastest, simplest if you're using a service like ExitPage.one",[29,3815,3816,3819],{},[32,3817,3818],{},"Web server redirect"," — full control, requires maintaining a server",[29,3821,3822,3825],{},[32,3823,3824],{},"Static hosting with a redirect"," — free, easy, reliable",[11,3827,3828],{},"Let's walk through each.",[3175,3830],{},[18,3832,3834],{"id":3833},"option-1-cname-redirect-to-a-shutdown-page-service","Option 1: CNAME redirect to a shutdown page service",[11,3836,3837],{},"If you're using ExitPage.one or a similar service, this is the simplest path.",[1062,3839,3841],{"id":3840},"at-your-domain-registrar-or-dns-provider","At your domain registrar or DNS provider:",[26,3843,3844,3847,3854],{},[29,3845,3846],{},"Log in to your DNS management dashboard (Cloudflare, Namecheap, GoDaddy, Route 53, etc.)",[29,3848,3849,3850,3853],{},"Find or create a CNAME record for your root domain or ",[200,3851,3852],{},"www"," subdomain",[29,3855,3856,3857],{},"Point it to ",[200,3858,3859],{},"myapp.exitpage.one",[11,3861,3862],{},[32,3863,3864],{},"Example CNAME record:",[300,3866,3869],{"className":3867,"code":3868,"language":305},[303],"Type:  CNAME\nName:  www\nValue: myapp.exitpage.one\nTTL:   Auto (or 3600)\n",[200,3870,3868],{"__ignoreMap":235},[11,3872,3873,3880],{},[32,3874,3875,3876,3879],{},"For root domain (",[200,3877,3878],{},"@",") pointing:","\nMost DNS providers don't support CNAME for root domains. Use one of these alternatives:",[158,3882,3883,3891],{},[29,3884,3885,3888,3889],{},[32,3886,3887],{},"Cloudflare",": Use their \"CNAME flattening\" feature — add a CNAME for ",[200,3890,3878],{},[29,3892,3893,3896,3897,3899],{},[32,3894,3895],{},"Other providers",": Use an ALIAS or ANAME record if supported, or redirect the root to ",[200,3898,3852],{}," first",[1062,3901,3903],{"id":3902},"dns-propagation","DNS propagation",[11,3905,3906],{},"After updating your DNS records, changes can take up to 48 hours to fully propagate worldwide. Usually it's faster — 15 minutes to a few hours with Cloudflare. During propagation, some visitors may still see your old site.",[3175,3908],{},[18,3910,3912],{"id":3911},"option-2-web-server-redirect-if-youre-maintaining-a-server","Option 2: Web server redirect (if you're maintaining a server)",[11,3914,3915],{},"If your product ran on a server you control and you're keeping it running temporarily, you can set up a 301 redirect at the web server level.",[1062,3917,3919],{"id":3918},"nginx","Nginx",[300,3921,3924],{"className":3922,"code":3923,"language":3918,"meta":235,"style":235},"language-nginx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","server {\n    listen 80;\n    listen 443 ssl;\n    server_name myapp.com www.myapp.com;\n\n    return 301 https://myapp.exitpage.one$request_uri;\n}\n",[200,3925,3926,3933,3938,3943,3949,3955,3961],{"__ignoreMap":235},[647,3927,3930],{"class":3928,"line":3929},"line",1,[647,3931,3932],{},"server {\n",[647,3934,3935],{"class":3928,"line":236},[647,3936,3937],{},"    listen 80;\n",[647,3939,3940],{"class":3928,"line":1217},[647,3941,3942],{},"    listen 443 ssl;\n",[647,3944,3946],{"class":3928,"line":3945},4,[647,3947,3948],{},"    server_name myapp.com www.myapp.com;\n",[647,3950,3952],{"class":3928,"line":3951},5,[647,3953,3954],{"emptyLinePlaceholder":249},"\n",[647,3956,3958],{"class":3928,"line":3957},6,[647,3959,3960],{},"    return 301 https://myapp.exitpage.one$request_uri;\n",[647,3962,3964],{"class":3928,"line":3963},7,[647,3965,3966],{},"}\n",[1062,3968,3970],{"id":3969},"apache","Apache",[300,3972,3975],{"className":3973,"code":3974,"language":3969,"meta":235,"style":235},"language-apache shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003CVirtualHost *:80>\n    ServerName myapp.com\n    Redirect permanent / https://myapp.exitpage.one/\n\u003C/VirtualHost>\n",[200,3976,3977,3982,3987,3992],{"__ignoreMap":235},[647,3978,3979],{"class":3928,"line":3929},[647,3980,3981],{},"\u003CVirtualHost *:80>\n",[647,3983,3984],{"class":3928,"line":236},[647,3985,3986],{},"    ServerName myapp.com\n",[647,3988,3989],{"class":3928,"line":1217},[647,3990,3991],{},"    Redirect permanent / https://myapp.exitpage.one/\n",[647,3993,3994],{"class":3928,"line":3945},[647,3995,3996],{},"\u003C/VirtualHost>\n",[1062,3998,4000],{"id":3999},"caddy","Caddy",[300,4002,4006],{"className":4003,"code":4004,"language":4005,"meta":235,"style":235},"language-caddyfile shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","myapp.com {\n    redir https://myapp.exitpage.one{uri} permanent\n}\n","caddyfile",[200,4007,4008,4013,4018],{"__ignoreMap":235},[647,4009,4010],{"class":3928,"line":3929},[647,4011,4012],{},"myapp.com {\n",[647,4014,4015],{"class":3928,"line":236},[647,4016,4017],{},"    redir https://myapp.exitpage.one{uri} permanent\n",[647,4019,4020],{"class":3928,"line":1217},[647,4021,3966],{},[11,4023,4024,4025,4028],{},"A ",[32,4026,4027],{},"301 redirect"," (permanent) tells search engines that the move is permanent. This is what you want — it passes any SEO authority from your old domain to the destination and tells crawlers to update their indexes.",[3175,4030],{},[18,4032,4034],{"id":4033},"option-3-static-hosting-with-redirect","Option 3: Static hosting with redirect",[11,4036,4037],{},"If you want to keep things simple without maintaining a server:",[1062,4039,4041],{"id":4040},"cloudflare-pages-redirect-rule","Cloudflare Pages + redirect rule",[26,4043,4044,4047],{},[29,4045,4046],{},"Deploy any static file to Cloudflare Pages",[29,4048,4049,4050,4053,4054],{},"Add a bulk redirect rule: ",[200,4051,4052],{},"myapp.com/*"," → ",[200,4055,4056],{},"https://myapp.exitpage.one/$1",[1062,4058,4060],{"id":4059},"netlify","Netlify",[11,4062,4063,4064,4067],{},"Create a ",[200,4065,4066],{},"_redirects"," file in your static site root:",[300,4069,4072],{"className":4070,"code":4071,"language":305},[303],"/*    https://myapp.exitpage.one/:splat    301\n",[200,4073,4071],{"__ignoreMap":235},[1062,4075,4077],{"id":4076},"vercel","Vercel",[11,4079,4063,4080,319],{},[200,4081,4082],{},"vercel.json",[300,4084,4088],{"className":4085,"code":4086,"language":4087,"meta":235,"style":235},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"redirects\": [\n    {\n      \"source\": \"/(.*)\",\n      \"destination\": \"https://myapp.exitpage.one/$1\",\n      \"permanent\": true\n    }\n  ]\n}\n","json",[200,4089,4090,4096,4113,4118,4143,4162,4176,4181,4187],{"__ignoreMap":235},[647,4091,4092],{"class":3928,"line":3929},[647,4093,4095],{"class":4094},"sMK4o","{\n",[647,4097,4098,4101,4105,4108,4110],{"class":3928,"line":236},[647,4099,4100],{"class":4094},"  \"",[647,4102,4104],{"class":4103},"spNyl","redirects",[647,4106,4107],{"class":4094},"\"",[647,4109,319],{"class":4094},[647,4111,4112],{"class":4094}," [\n",[647,4114,4115],{"class":3928,"line":1217},[647,4116,4117],{"class":4094},"    {\n",[647,4119,4120,4123,4127,4129,4131,4134,4138,4140],{"class":3928,"line":3945},[647,4121,4122],{"class":4094},"      \"",[647,4124,4126],{"class":4125},"sBMFI","source",[647,4128,4107],{"class":4094},[647,4130,319],{"class":4094},[647,4132,4133],{"class":4094}," \"",[647,4135,4137],{"class":4136},"sfazB","/(.*)",[647,4139,4107],{"class":4094},[647,4141,4142],{"class":4094},",\n",[647,4144,4145,4147,4150,4152,4154,4156,4158,4160],{"class":3928,"line":3951},[647,4146,4122],{"class":4094},[647,4148,4149],{"class":4125},"destination",[647,4151,4107],{"class":4094},[647,4153,319],{"class":4094},[647,4155,4133],{"class":4094},[647,4157,4056],{"class":4136},[647,4159,4107],{"class":4094},[647,4161,4142],{"class":4094},[647,4163,4164,4166,4169,4171,4173],{"class":3928,"line":3957},[647,4165,4122],{"class":4094},[647,4167,4168],{"class":4125},"permanent",[647,4170,4107],{"class":4094},[647,4172,319],{"class":4094},[647,4174,4175],{"class":4094}," true\n",[647,4177,4178],{"class":3928,"line":3963},[647,4179,4180],{"class":4094},"    }\n",[647,4182,4184],{"class":3928,"line":4183},8,[647,4185,4186],{"class":4094},"  ]\n",[647,4188,4190],{"class":3928,"line":4189},9,[647,4191,3966],{"class":4094},[11,4193,4194],{},"All three platforms have free tiers that are more than sufficient for serving redirects.",[3175,4196],{},[18,4198,4200],{"id":4199},"handling-subdomains","Handling subdomains",[11,4202,4203],{},"If your product had multiple subdomains (app.myapp.com, api.myapp.com, docs.myapp.com), you need to handle each one:",[158,4205,4206,4212,4218],{},[29,4207,4208,4211],{},[32,4209,4210],{},"app.myapp.com"," → redirect to your main shutdown page",[29,4213,4214,4217],{},[32,4215,4216],{},"api.myapp.com"," → redirect to a specific section of your shutdown page that explains the API is gone, or return a JSON error with a link to the shutdown notice",[29,4219,4220,4223],{},[32,4221,4222],{},"docs.myapp.com"," → redirect to your main page or archive the docs somewhere (like GitHub)",[11,4225,4226],{},"Don't let subdomains expire and become dangling CNAME records — they can be hijacked.",[3175,4228],{},[18,4230,4232],{"id":4231},"the-seo-consideration","The SEO consideration",[11,4234,4235],{},"If your product had any SEO authority, a permanent 301 redirect from your old domain to wherever your shutdown page lives will pass some of that authority along. This isn't a major concern for most shutdowns, but it's worth doing correctly.",[11,4237,4238],{},"Make sure your exit page has basic SEO metadata (title, description, canonical URL) so search engines understand what the page is and can update their indexes appropriately.",[3175,4240],{},[11,4242,4243],{},[3117,4244,4245,4246,4249],{},"ExitPage.one makes the destination easy. ",[408,4247,4248],{"href":3184},"Create your exit page"," in five minutes — then just point your domain there.",[4251,4252,4253],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":235,"searchDepth":236,"depth":236,"links":4255},[4256,4257,4261,4266,4271,4272],{"id":3801,"depth":236,"text":3802},{"id":3833,"depth":236,"text":3834,"children":4258},[4259,4260],{"id":3840,"depth":1217,"text":3841},{"id":3902,"depth":1217,"text":3903},{"id":3911,"depth":236,"text":3912,"children":4262},[4263,4264,4265],{"id":3918,"depth":1217,"text":3919},{"id":3969,"depth":1217,"text":3970},{"id":3999,"depth":1217,"text":4000},{"id":4033,"depth":236,"text":4034,"children":4267},[4268,4269,4270],{"id":4040,"depth":1217,"text":4041},{"id":4059,"depth":1217,"text":4060},{"id":4076,"depth":1217,"text":4077},{"id":4199,"depth":236,"text":4200},{"id":4231,"depth":236,"text":4232},"2024-09-05","A technical guide to setting up domain redirects when closing a startup — from DNS CNAME records to server-side redirects and static hosting options.",{},"/blog/how-to-redirect-domain-after-shutdown",{"title":3793,"description":4274},"blog/how-to-redirect-domain-after-shutdown","s5vlRI-viklQ0SinTbd9QFXfPniivH09CqaCJG4VqfA",{"id":4281,"title":4282,"body":4283,"date":4600,"description":4601,"extension":247,"meta":4602,"navigation":249,"path":4603,"readTime":736,"seo":4604,"stem":4605,"__hash__":4606},"blog/blog/data-retention-deletion-shutdown.md","Data Retention and Deletion: How to Shut Down Responsibly",{"type":8,"value":4284,"toc":4583},[4285,4288,4291,4295,4298,4330,4333,4337,4341,4344,4347,4379,4383,4386,4390,4393,4397,4401,4404,4418,4421,4425,4428,4439,4442,4446,4449,4463,4466,4470,4473,4490,4493,4497,4500,4517,4521,4524,4544,4548,4551,4570,4573,4575],[11,4286,4287],{},"User data is both your product's most valuable asset and its most sensitive liability. When you shut down, you need a clear plan for what happens to it.",[11,4289,4290],{},"This guide covers the practical and legal requirements around data handling at end-of-life — written for founders, not lawyers. But note: this isn't legal advice. Consult a lawyer if you're handling sensitive data or have users in regulated jurisdictions.",[18,4292,4294],{"id":4293},"what-user-data-actually-means","What \"user data\" actually means",[11,4296,4297],{},"When we talk about user data in a shutdown context, we mean:",[158,4299,4300,4306,4312,4318,4324],{},[29,4301,4302,4305],{},[32,4303,4304],{},"Account information",": Names, email addresses, passwords (hashed), profile data",[29,4307,4308,4311],{},[32,4309,4310],{},"Content",": Files, documents, notes, messages, or anything users created in your product",[29,4313,4314,4317],{},[32,4315,4316],{},"Behavioral data",": Usage logs, analytics, interaction history",[29,4319,4320,4323],{},[32,4321,4322],{},"Payment data",": Billing history, transaction records (rarely stored directly — usually at Stripe or similar)",[29,4325,4326,4329],{},[32,4327,4328],{},"Derived data",": Any analysis, models, or outputs derived from user inputs",[11,4331,4332],{},"Each category has different retention requirements and different user expectations.",[18,4334,4336],{"id":4335},"your-legal-obligations","Your legal obligations",[1062,4338,4340],{"id":4339},"gdpr-european-union","GDPR (European Union)",[11,4342,4343],{},"If you have any users in the EU, GDPR applies to you regardless of where your company is incorporated.",[11,4345,4346],{},"Key requirements for shutdown:",[26,4348,4349,4355,4361,4367,4373],{},[29,4350,4351,4354],{},[32,4352,4353],{},"Inform users"," about the shutdown and data deletion timeline. This is required under Article 12 (transparent communication).",[29,4356,4357,4360],{},[32,4358,4359],{},"Data portability",": Users have the right to export their data before you delete it (Article 20).",[29,4362,4363,4366],{},[32,4364,4365],{},"Deletion",": You must delete personal data when there's no longer a lawful basis for processing it. Shutdown is explicitly one such case.",[29,4368,4369,4372],{},[32,4370,4371],{},"Timeline",": You should delete data within 30 days of your stated deletion date.",[29,4374,4375,4378],{},[32,4376,4377],{},"Documentation",": Keep a record of what you deleted and when, even if the data itself is gone.",[1062,4380,4382],{"id":4381},"ccpa-california","CCPA (California)",[11,4384,4385],{},"California users have the right to know what data you have, request deletion, and opt out of data sales. A shutdown doesn't exempt you from honoring outstanding deletion requests.",[1062,4387,4389],{"id":4388},"other-jurisdictions","Other jurisdictions",[11,4391,4392],{},"Canada (PIPEDA), Brazil (LGPD), and many other countries have similar frameworks. If you have a user base in any jurisdiction with data protection laws — which is now most of the world — you have obligations.",[18,4394,4396],{"id":4395},"a-practical-shutdown-data-plan","A practical shutdown data plan",[1062,4398,4400],{"id":4399},"step-1-data-inventory-do-this-first","Step 1: Data inventory (do this first)",[11,4402,4403],{},"Before you can handle data responsibly, you need to know what you have and where it lives:",[158,4405,4406,4409,4412,4415],{},[29,4407,4408],{},"What databases are you running and what's in them?",[29,4410,4411],{},"What third-party services have you shared user data with? (Analytics tools, CRMs, email providers, etc.)",[29,4413,4414],{},"Do you have backups? Where are they stored?",[29,4416,4417],{},"Is there any user data in logs?",[11,4419,4420],{},"Document all of this. You'll need it.",[1062,4422,4424],{"id":4423},"step-2-enable-data-export","Step 2: Enable data export",[11,4426,4427],{},"Users should be able to export all their content before you delete it. This means:",[158,4429,4430,4433,4436],{},[29,4431,4432],{},"Building or enabling a data export feature if you don't already have one",[29,4434,4435],{},"Making the export easy to find and use (not buried in settings)",[29,4437,4438],{},"Communicating the export option in every shutdown notification",[11,4440,4441],{},"For many SaaS products, a simple CSV export or a ZIP file of user content is sufficient. The goal is to make sure users can get their data out.",[1062,4443,4445],{"id":4444},"step-3-communicate-the-timeline-clearly","Step 3: Communicate the timeline clearly",[11,4447,4448],{},"Your shutdown communications should include:",[158,4450,4451,4454,4460],{},[29,4452,4453],{},"The date service will end",[29,4455,4456,4459],{},[32,4457,4458],{},"The date user data will be deleted"," (this is different and often overlooked)",[29,4461,4462],{},"Clear instructions for exporting data before the deadline",[11,4464,4465],{},"Make the deletion date prominent. Don't bury it.",[1062,4467,4469],{"id":4468},"step-4-notify-your-third-party-processors","Step 4: Notify your third-party processors",[11,4471,4472],{},"Every service you've shared user data with needs to know about the shutdown. This typically includes:",[158,4474,4475,4478,4481,4484,4487],{},[29,4476,4477],{},"Email marketing tools (delete your subscriber lists)",[29,4479,4480],{},"Analytics platforms (delete your properties and data)",[29,4482,4483],{},"CRM systems (delete contact records)",[29,4485,4486],{},"Support platforms (delete ticket history with personal information)",[29,4488,4489],{},"Cloud storage providers (delete user-uploaded files)",[11,4491,4492],{},"For GDPR compliance, you need to instruct your data processors to delete the data they hold on your behalf.",[1062,4494,4496],{"id":4495},"step-5-execute-deletion","Step 5: Execute deletion",[11,4498,4499],{},"On the scheduled deletion date:",[26,4501,4502,4505,4508,4511,4514],{},[29,4503,4504],{},"Delete all user data from your primary databases",[29,4506,4507],{},"Delete all backups that contain user data (or overwrite them)",[29,4509,4510],{},"Revoke access to your databases from all systems",[29,4512,4513],{},"Confirm deletion with your third-party processors",[29,4515,4516],{},"Document the deletion with timestamps",[1062,4518,4520],{"id":4519},"step-6-post-deletion-maintenance","Step 6: Post-deletion maintenance",[11,4522,4523],{},"After deletion, you may still need to retain:",[158,4525,4526,4532,4538],{},[29,4527,4528,4531],{},[32,4529,4530],{},"Financial records",": Most jurisdictions require 7 years of financial records. Transaction data, invoices, and payment records should be retained even after user data is deleted. Strip out PII where possible.",[29,4533,4534,4537],{},[32,4535,4536],{},"Legal holds",": If you're in any legal proceedings, consult your lawyer before deleting anything.",[29,4539,4540,4543],{},[32,4541,4542],{},"Aggregated analytics",": Non-personal, aggregated data (e.g., \"we had 10,000 MAUs in 2023\") is generally fine to retain.",[18,4545,4547],{"id":4546},"what-to-tell-your-users","What to tell your users",[11,4549,4550],{},"In your shutdown announcement, include a clear, plain-language description of your data handling plan:",[641,4552,4553],{},[11,4554,4555,4556,4558,4559,4562,4563,4566,4567,4569],{},"\"We will keep your data accessible and exportable until ",[647,4557,2773],{},". On ",[647,4560,4561],{},"Date + 30 days",", all user data will be permanently deleted from our servers and backups. You can export your data at ",[647,4564,4565],{},"link"," until ",[647,4568,2773],{},".\"",[11,4571,4572],{},"Simple. Direct. Honest.",[3175,4574],{},[11,4576,4577],{},[3117,4578,4579,4580,4582],{},"A proper exit page is part of responsible shutdown. ",[408,4581,3385],{"href":3184}," helps you communicate your shutdown clearly to every user who visits your domain — now and in the future.",{"title":235,"searchDepth":236,"depth":236,"links":4584},[4585,4586,4591,4599],{"id":4293,"depth":236,"text":4294},{"id":4335,"depth":236,"text":4336,"children":4587},[4588,4589,4590],{"id":4339,"depth":1217,"text":4340},{"id":4381,"depth":1217,"text":4382},{"id":4388,"depth":1217,"text":4389},{"id":4395,"depth":236,"text":4396,"children":4592},[4593,4594,4595,4596,4597,4598],{"id":4399,"depth":1217,"text":4400},{"id":4423,"depth":1217,"text":4424},{"id":4444,"depth":1217,"text":4445},{"id":4468,"depth":1217,"text":4469},{"id":4495,"depth":1217,"text":4496},{"id":4519,"depth":1217,"text":4520},{"id":4546,"depth":236,"text":4547},"2024-08-22","Your legal and ethical obligations around user data when shutting down a startup — GDPR, CCPA, and practical steps for handling data at end-of-life.",{},"/blog/data-retention-deletion-shutdown",{"title":4282,"description":4601},"blog/data-retention-deletion-shutdown","Xojns6bcKHCpmQxMn9OwayVWdXy21eq4VMgGbkhE8iY",{"id":4608,"title":4609,"body":4610,"date":4822,"description":4823,"extension":247,"meta":4824,"navigation":249,"path":4825,"readTime":2612,"seo":4826,"stem":4827,"__hash__":4828},"blog/blog/famous-startup-shutdowns-lessons.md","Famous Startup Shutdowns: What They Did Right (and Wrong)",{"type":8,"value":4611,"toc":4808},[4612,4615,4618,4622,4626,4629,4632,4638,4642,4645,4648,4653,4657,4660,4663,4672,4674,4678,4682,4685,4688,4691,4696,4700,4703,4706,4711,4715,4718,4721,4726,4728,4732,4735,4738,4741,4744,4746,4750,4753,4758,4776,4781,4795,4798,4800],[11,4613,4614],{},"Startup shutdowns happen every day. Most pass without notice. But some — the ones with large user bases, significant funding, or cultural footprints — become case studies in how to handle the end of something real.",[11,4616,4617],{},"Here's what we can learn from them.",[18,4619,4621],{"id":4620},"the-graceful-goodbyes","The graceful goodbyes",[1062,4623,4625],{"id":4624},"mailbox-2015","Mailbox (2015)",[11,4627,4628],{},"Mailbox was a beloved email app acquired by Dropbox. When Dropbox shut it down, they gave users 60 days of notice, provided clear data export instructions, and published a thoughtful blog post explaining the decision.",[11,4630,4631],{},"The response from users was largely positive. Yes, people were sad. But they felt respected. Many of them followed the Dropbox team to their next projects.",[11,4633,4634,4637],{},[32,4635,4636],{},"Lesson",": Time and transparency go a long way. Sixty days isn't just courtesy — it's respect.",[1062,4639,4641],{"id":4640},"sunrise-calendar-2016","Sunrise Calendar (2016)",[11,4643,4644],{},"Microsoft acquired Sunrise and eventually shut it down to integrate features into Outlook. The team wrote a warm, personal farewell blog post, gave users plenty of notice, and offered guidance on alternatives.",[11,4646,4647],{},"What made it land well was the authenticity of the farewell. It didn't feel like a corporate press release. It felt like a goodbye letter from people who genuinely cared about what they'd built.",[11,4649,4650,4652],{},[32,4651,4636],{},": Tone matters. Write like a human, not a legal department.",[1062,4654,4656],{"id":4655},"rdio-2015","Rdio (2015)",[11,4658,4659],{},"Music streaming service Rdio went bankrupt before it could orchestrate a clean shutdown. But even in bankruptcy proceedings, they gave users 30 days' notice and provided detailed data export instructions.",[11,4661,4662],{},"Given the circumstances, this was impressive. Founders rarely have the bandwidth to handle shutdowns well when they're dealing with creditors and legal proceedings simultaneously.",[11,4664,4665,4667,4668,4671],{},[32,4666,4636],{},": Even in chaos, you can still do right by your users. The bar is doing ",[3117,4669,4670],{},"something",", not doing everything perfectly.",[3175,4673],{},[18,4675,4677],{"id":4676},"the-cautionary-tales","The cautionary tales",[1062,4679,4681],{"id":4680},"everpix-2013","Everpix (2013)",[11,4683,4684],{},"Everpix was a photo storage startup that gave users only two weeks' notice before shutting down — and gave very little guidance on how to export photos before the service disappeared.",[11,4686,4687],{},"Many users lost years of photos. The startup founders later gave candid interviews about how they'd handled the shutdown, and acknowledged they could have done more.",[11,4689,4690],{},"The tragedy of Everpix is that it was a genuinely beloved product. The founders cared about their users. But the shutdown communications were rushed and incomplete.",[11,4692,4693,4695],{},[32,4694,4636],{},": Data export isn't optional. For products that hold irreplaceable user content, the export experience is your final responsibility.",[1062,4697,4699],{"id":4698},"vine-2016","Vine (2016)",[11,4701,4702],{},"Twitter shut down Vine with about two months' notice — which is actually decent. But the way it was handled felt cold and corporate. There was no acknowledgment of Vine's genuine cultural impact, no celebration of the creators who'd made the platform what it was.",[11,4704,4705],{},"Compare this to how the Vine creators themselves handled it — building archives, creating final compilations, saying heartfelt goodbyes. The company's shutdown felt tone-deaf against that backdrop.",[11,4707,4708,4710],{},[32,4709,4636],{},": If your product had real cultural impact, acknowledge it. Your users aren't just accounts in a database.",[1062,4712,4714],{"id":4713},"quibi-2020","Quibi (2020)",[11,4716,4717],{},"Quibi shut down six months after launch after raising $1.75 billion. The shutdown itself was handled relatively professionally — subscribers got refunds, users were given notice.",[11,4719,4720],{},"But the public communication was defensive and blame-shifting. The founders pointed to the pandemic, to bad timing, to anything but the product itself.",[11,4722,4723,4725],{},[32,4724,4636],{},": Own it. Users respect honesty about failure far more than they respect spin.",[3175,4727],{},[18,4729,4731],{"id":4730},"the-silent-disappearances","The silent disappearances",[11,4733,4734],{},"These are harder to document because they leave no record — which is exactly the problem.",[11,4736,4737],{},"Thousands of small startups shut down every year by simply... stopping. The servers go down. The domain expires. Users get no email, no explanation, no way to export their data.",[11,4739,4740],{},"Some of these founders move on to new projects and find that their reputation has followed them. \"Didn't they build that thing that just vanished?\" is not the introduction you want.",[11,4742,4743],{},"The cost of a proper shutdown — a farewell email, a shutdown page, 30 days of notice — is genuinely low. The cost of ghosting your users is higher than it appears.",[3175,4745],{},[18,4747,4749],{"id":4748},"the-pattern","The pattern",[11,4751,4752],{},"Looking across well-handled and poorly-handled shutdowns, a few patterns emerge:",[11,4754,4755],{},[32,4756,4757],{},"Well-handled shutdowns:",[158,4759,4760,4763,4766,4769,4771,4773],{},[29,4761,4762],{},"Give at least 30 days (ideally 60+)",[29,4764,4765],{},"Make data export easy and prominent",[29,4767,4768],{},"Write personally and honestly about what happened",[29,4770,3740],{},[29,4772,3743],{},[29,4774,4775],{},"Issue refunds without being asked",[11,4777,4778],{},[32,4779,4780],{},"Poorly-handled shutdowns:",[158,4782,4783,4786,4789,4792],{},[29,4784,4785],{},"Go dark without notice",[29,4787,4788],{},"Bury or omit data export instructions",[29,4790,4791],{},"Use corporate language that distances founders from the decision",[29,4793,4794],{},"Don't acknowledge the product's actual impact on users",[11,4796,4797],{},"The gap between the two is mostly effort and intention, not resources.",[3175,4799],{},[11,4801,4802],{},[3117,4803,4804,4805,4807],{},"Building something new? Keep in mind that how you close a chapter shapes how the next one opens. ",[408,4806,3385],{"href":3184}," makes the closing part easier.",{"title":235,"searchDepth":236,"depth":236,"links":4809},[4810,4815,4820,4821],{"id":4620,"depth":236,"text":4621,"children":4811},[4812,4813,4814],{"id":4624,"depth":1217,"text":4625},{"id":4640,"depth":1217,"text":4641},{"id":4655,"depth":1217,"text":4656},{"id":4676,"depth":236,"text":4677,"children":4816},[4817,4818,4819],{"id":4680,"depth":1217,"text":4681},{"id":4698,"depth":1217,"text":4699},{"id":4713,"depth":1217,"text":4714},{"id":4730,"depth":236,"text":4731},{"id":4748,"depth":236,"text":4749},"2024-08-05","An honest look at how well-known startups handled their shutdowns — from the graceful goodbyes to the silent disappearances.",{},"/blog/famous-startup-shutdowns-lessons",{"title":4609,"description":4823},"blog/famous-startup-shutdowns-lessons","hk2HdPfWtURQsJRYn9PBM1bh6OroMaG9nxydqeproGY",{"id":4830,"title":4831,"body":4832,"date":5213,"description":5214,"extension":247,"meta":5215,"navigation":249,"path":5216,"readTime":1808,"seo":5217,"stem":5218,"__hash__":5219},"blog/blog/founder-guide-graceful-shutdown.md","The Founder's Guide to a Graceful Shutdown",{"type":8,"value":4833,"toc":5200},[4834,4837,4840,4843,4847,4850,4873,4876,4879,4883,4886,4890,4917,4921,4948,4952,4979,4983,5010,5014,5020,5026,5032,5038,5044,5050,5056,5060,5063,5069,5075,5081,5084,5116,5119,5122,5125,5128,5154,5158,5161,5164,5167,5173,5179,5185,5191,5193],[11,4835,4836],{},"Most startup advice is about starting. Very little of it is about ending.",[11,4838,4839],{},"Yet endings are inevitable. Most startups end. The vast majority of products that exist today will cease to exist within five years. And the way a founder handles an ending shapes their reputation, their relationship with users, and — importantly — their own ability to move forward.",[11,4841,4842],{},"This is a guide to the graceful shutdown. Not the easy one, not the painless one, but the one you can look back on with integrity.",[18,4844,4846],{"id":4845},"reframing-the-shutdown","Reframing the shutdown",[11,4848,4849],{},"The word \"failure\" gets attached to shutdowns almost automatically. But shutdowns happen for many reasons:",[158,4851,4852,4855,4858,4861,4864,4867,4870],{},[29,4853,4854],{},"The business didn't find product-market fit",[29,4856,4857],{},"The market changed",[29,4859,4860],{},"The founder ran out of runway before it clicked",[29,4862,4863],{},"The founder burned out",[29,4865,4866],{},"A better opportunity emerged",[29,4868,4869],{},"The product achieved its goal and there's nothing left to build",[29,4871,4872],{},"Life happened",[11,4874,4875],{},"\"Failure\" fits some of these. It doesn't fit all of them. And even when it does fit, it describes one outcome of one attempt — not the founder, not the product's value to its users, not the journey.",[11,4877,4878],{},"How you frame the shutdown to yourself affects how you communicate it to users. Founders who are ashamed of shutting down tend to go silent. Founders who accept it as part of the process tend to communicate better.",[18,4880,4882],{"id":4881},"the-logistics-checklist","The logistics checklist",[11,4884,4885],{},"Before you announce anything, work through this list:",[1062,4887,4889],{"id":4888},"financial","Financial",[158,4891,4893,4899,4905,4911],{"className":4892},[927],[29,4894,4896,4898],{"className":4895},[931],[933,4897],{"disabled":249,"type":935}," Issue prorated refunds to all paid subscribers",[29,4900,4902,4904],{"className":4901},[931],[933,4903],{"disabled":249,"type":935}," Cancel all active subscriptions so no further charges occur",[29,4906,4908,4910],{"className":4907},[931],[933,4909],{"disabled":249,"type":935}," Settle outstanding invoices with vendors",[29,4912,4914,4916],{"className":4913},[931],[933,4915],{"disabled":249,"type":935}," Close or transfer any pending payments",[1062,4918,4920],{"id":4919},"legal","Legal",[158,4922,4924,4930,4936,4942],{"className":4923},[927],[29,4925,4927,4929],{"className":4926},[931],[933,4928],{"disabled":249,"type":935}," Review your terms of service for shutdown provisions",[29,4931,4933,4935],{"className":4932},[931],[933,4934],{"disabled":249,"type":935}," Consult a lawyer if you have enterprise contracts with specific terms",[29,4937,4939,4941],{"className":4938},[931],[933,4940],{"disabled":249,"type":935}," Document your data deletion plan (see GDPR/CCPA requirements)",[29,4943,4945,4947],{"className":4944},[931],[933,4946],{"disabled":249,"type":935}," Cancel any pending trademarks or IP filings you won't continue",[1062,4949,4951],{"id":4950},"technical","Technical",[158,4953,4955,4961,4967,4973],{"className":4954},[927],[29,4956,4958,4960],{"className":4957},[931],[933,4959],{"disabled":249,"type":935}," Build or verify a data export mechanism",[29,4962,4964,4966],{"className":4963},[931],[933,4965],{"disabled":249,"type":935}," Determine how long to keep servers running",[29,4968,4970,4972],{"className":4969},[931],[933,4971],{"disabled":249,"type":935}," Plan DNS transition to a shutdown page",[29,4974,4976,4978],{"className":4975},[931],[933,4977],{"disabled":249,"type":935}," Archive any open-source code to GitHub",[1062,4980,4982],{"id":4981},"communication","Communication",[158,4984,4986,4992,4998,5004],{"className":4985},[927],[29,4987,4989,4991],{"className":4988},[931],[933,4990],{"disabled":249,"type":935}," Draft the shutdown announcement email",[29,4993,4995,4997],{"className":4994},[931],[933,4996],{"disabled":249,"type":935}," Prepare the shutdown page (your last permanent public touchpoint)",[29,4999,5001,5003],{"className":5000},[931],[933,5002],{"disabled":249,"type":935}," Identify all channels to notify (email, social, in-app, API docs)",[29,5005,5007,5009],{"className":5006},[931],[933,5008],{"disabled":249,"type":935}," Prepare answers to FAQs",[18,5011,5013],{"id":5012},"the-announcement-timeline","The announcement timeline",[11,5015,5016,5019],{},[32,5017,5018],{},"Day -60 (or as early as possible):"," Internal notification. Your team, investors, and advisors should hear it from you before they hear it anywhere else.",[11,5021,5022,5025],{},[32,5023,5024],{},"Day -45:"," Announcement to users. Email first, then social. Give users the full picture.",[11,5027,5028,5031],{},[32,5029,5030],{},"Day -30:"," Reminder to users who haven't exported data. Make the export link prominent.",[11,5033,5034,5037],{},[32,5035,5036],{},"Day -14:"," Second reminder. Include the exact deletion date.",[11,5039,5040,5043],{},[32,5041,5042],{},"Day -7:"," Final warning.",[11,5045,5046,5049],{},[32,5047,5048],{},"Day 0:"," Service goes offline. Shutdown page goes live.",[11,5051,5052,5055],{},[32,5053,5054],{},"Day +30:"," Data deletion. Notify users that deletion has occurred.",[18,5057,5059],{"id":5058},"writing-the-announcement","Writing the announcement",[11,5061,5062],{},"The best shutdown announcements have three qualities:",[11,5064,5065,5068],{},[32,5066,5067],{},"Honesty."," Tell people what actually happened. You don't need to share every detail, but \"we couldn't make the economics work\" is better than \"we're pursuing new opportunities.\"",[11,5070,5071,5074],{},[32,5072,5073],{},"Gratitude."," The users who showed up for your product gave you something real — their time, their trust, sometimes their money. Acknowledge that.",[11,5076,5077,5080],{},[32,5078,5079],{},"Usefulness."," Tell people where to go, how to export their data, and how to reach you if they have questions.",[11,5082,5083],{},"Here's a framework:",[641,5085,5086,5092,5098,5104,5110],{},[11,5087,5088,5089],{},"We're shutting down. ",[647,5090,5091],{},"Honest reason, 1-2 sentences.",[11,5093,5094,5095],{},"To our users: ",[647,5096,5097],{},"Genuine acknowledgment of what they meant to the product.",[11,5099,5100,5101],{},"Here's what happens next: ",[647,5102,5103],{},"Timeline, data export instructions, refund information.",[11,5105,5106,5107],{},"We recommend: ",[647,5108,5109],{},"Alternatives with brief descriptions.",[11,5111,5112,5113],{},"Reach us at: ",[647,5114,5115],{},"Contact information.",[11,5117,5118],{},"That's it. You don't need more than this. The founders who write thousand-word apologies often say less than the ones who write three paragraphs.",[18,5120,5121],{"id":2566},"The shutdown page",[11,5123,5124],{},"Your website and domain are the permanent record of your product's existence. When you shut down, what lives at your domain is your final public-facing statement.",[11,5126,5127],{},"A proper shutdown page serves several purposes:",[26,5129,5130,5136,5142,5148],{},[29,5131,5132,5135],{},[32,5133,5134],{},"It answers the question."," When someone finds your old domain — through a link, a search, a memory — they get an explanation instead of a 404.",[29,5137,5138,5141],{},[32,5139,5140],{},"It preserves the story."," Startups matter to the people who built them and the people who used them. A shutdown page acknowledges that the product existed and had impact.",[29,5143,5144,5147],{},[32,5145,5146],{},"It protects your users."," People who try to use your product after shutdown deserve to know what happened and where to go.",[29,5149,5150,5153],{},[32,5151,5152],{},"It's permanent SEO."," Your domain's authority doesn't disappear just because the product does. A shutdown page maintains a useful presence.",[18,5155,5157],{"id":5156},"taking-care-of-yourself","Taking care of yourself",[11,5159,5160],{},"This section isn't in most shutdown guides, but it should be.",[11,5162,5163],{},"Shutting down something you've built is genuinely hard. Founders report grief, shame, exhaustion, and relief — often simultaneously. These are normal responses to a real loss.",[11,5165,5166],{},"A few things that help:",[11,5168,5169,5172],{},[32,5170,5171],{},"Talk to other founders."," Many have been through this. The founder community is more supportive of people who've shut down than most people expect.",[11,5174,5175,5178],{},[32,5176,5177],{},"Take time before starting the next thing."," The urge to jump immediately into the next project is understandable, but the shutdown — especially a hard one — deserves to be processed first.",[11,5180,5181,5184],{},[32,5182,5183],{},"Separate your self-worth from the outcome."," Your product didn't work, or worked and ran its course. That's different from you not working.",[11,5186,5187,5190],{},[32,5188,5189],{},"Remember what you built."," Even if the product didn't achieve its goals, you built something real, learned things that can't be untaught, and served users who found value in what you made. That's worth acknowledging.",[3175,5192],{},[11,5194,5195],{},[3117,5196,5197,5198,2729],{},"The last thing your users will experience is what you leave behind. Make it something you're proud of. ",[408,5199,4248],{"href":3184},{"title":235,"searchDepth":236,"depth":236,"links":5201},[5202,5203,5209,5210,5211,5212],{"id":4845,"depth":236,"text":4846},{"id":4881,"depth":236,"text":4882,"children":5204},[5205,5206,5207,5208],{"id":4888,"depth":1217,"text":4889},{"id":4919,"depth":1217,"text":4920},{"id":4950,"depth":1217,"text":4951},{"id":4981,"depth":1217,"text":4982},{"id":5012,"depth":236,"text":5013},{"id":5058,"depth":236,"text":5059},{"id":2566,"depth":236,"text":5121},{"id":5156,"depth":236,"text":5157},"2024-07-18","The psychology, logistics, and communication strategies for closing a startup in a way you'll be proud of — from someone who's thought deeply about endings.",{},"/blog/founder-guide-graceful-shutdown",{"title":4831,"description":5214},"blog/founder-guide-graceful-shutdown","ZBptoE0974jrdzVnw8e3PNiJF3mgbvbrACnXmEtnLC4",{"id":5221,"title":5222,"body":5223,"date":5462,"description":5463,"extension":247,"meta":5464,"navigation":249,"path":5465,"readTime":251,"seo":5466,"stem":5467,"__hash__":5468},"blog/blog/customer-communication-closing-startup.md","Customer Communication When Closing Your Startup",{"type":8,"value":5224,"toc":5449},[5225,5228,5232,5235,5240,5251,5256,5272,5278,5281,5285,5288,5294,5300,5306,5312,5316,5319,5324,5338,5344,5350,5354,5357,5367,5373,5383,5389,5393,5397,5400,5404,5407,5411,5414,5418,5421,5425,5428,5436,5439,5441],[11,5226,5227],{},"When you decide to shut down, the hardest part isn't the decision — it's telling people. Here's how to do it across every channel your users might encounter.",[18,5229,5231],{"id":5230},"email-your-most-important-channel","Email: Your most important channel",[11,5233,5234],{},"Email reaches your users directly. It's where most people expect important account communications. This should be your first and most thorough announcement.",[11,5236,5237],{},[32,5238,5239],{},"Who to email:",[158,5241,5242,5245,5248],{},[29,5243,5244],{},"All active users (logged in within the last 6 months)",[29,5246,5247],{},"All registered users, even inactive ones (they may have stored data)",[29,5249,5250],{},"Paying customers separately — they deserve a personal message and refund confirmation",[11,5252,5253],{},[32,5254,5255],{},"What to include:",[158,5257,5258,5261,5264,5267,5270],{},[29,5259,5260],{},"Shutdown date",[29,5262,5263],{},"Data export instructions and deadline",[29,5265,5266],{},"Refund timeline for paid users",[29,5268,5269],{},"Alternative recommendations",[29,5271,1086],{},[11,5273,5274,5277],{},[32,5275,5276],{},"When to send:","\nSend the initial announcement 30–60 days before shutdown. Follow up at 14 days, 7 days, and 24 hours before.",[11,5279,5280],{},"For the final email, consider a plain-text format. It reads more personal than HTML email and tends to feel more human for this kind of message.",[18,5282,5284],{"id":5283},"your-website-and-app-the-passive-channel","Your website and app: The passive channel",[11,5286,5287],{},"Your website continues to receive visitors after your announcement. Make sure every visitor gets the message:",[11,5289,5290,5293],{},[32,5291,5292],{},"Homepage banner:"," A persistent, prominent notification that the service is shutting down. Don't hide it below the fold.",[11,5295,5296,5299],{},[32,5297,5298],{},"App notification:"," For logged-in users, show an in-app banner or modal with the shutdown date and data export link. This is especially important for users who don't check email.",[11,5301,5302,5305],{},[32,5303,5304],{},"Documentation:"," Update your docs to reflect the shutdown. Mark APIs as deprecated, add a notice at the top of every docs page.",[11,5307,5308,5311],{},[32,5309,5310],{},"Login page:"," After the shutdown date, your login page should show the shutdown notice rather than the login form. Don't let users try to log in to a service that no longer works.",[18,5313,5315],{"id":5314},"social-media-the-public-record","Social media: The public record",[11,5317,5318],{},"Social media announcements serve a different purpose than email. They're public, searchable, and permanent. Many of your past users — people who've moved on and unsubscribed from your emails — may still follow you on social.",[11,5320,5321],{},[32,5322,5323],{},"What to post:",[158,5325,5326,5329,5332,5335],{},[29,5327,5328],{},"The shutdown announcement (immediately after your first email)",[29,5330,5331],{},"Responses to user questions and reactions",[29,5333,5334],{},"Reminders as deadlines approach",[29,5336,5337],{},"A final farewell post",[11,5339,5340,5343],{},[32,5341,5342],{},"Tone:"," Be human. The best shutdown social posts read like messages from real people, not press releases. They acknowledge the product's impact, thank the community, and leave on a note of genuine warmth.",[11,5345,5346,5349],{},[32,5347,5348],{},"On Twitter/X in particular:"," Consider pinning your shutdown announcement. People who find your account through search or old links will see it immediately.",[18,5351,5353],{"id":5352},"for-developer-products-additional-channels","For developer products: Additional channels",[11,5355,5356],{},"If you have an API, a developer tool, or any kind of programmatic interface, you have additional communication responsibilities:",[11,5358,5359,5362,5363,5366],{},[32,5360,5361],{},"API responses:"," Return deprecation warnings in your API responses well before shutdown. A ",[200,5364,5365],{},"Deprecation"," header or a warning in your response body gives developers time to migrate.",[11,5368,5369,5372],{},[32,5370,5371],{},"Webhooks:"," Send a final webhook event to all active webhook endpoints announcing the shutdown date.",[11,5374,5375,5378,5379,5382],{},[32,5376,5377],{},"Developer documentation:"," Add prominent deprecation notices to your API docs. If you have OpenAPI specs, add ",[200,5380,5381],{},"deprecated: true"," to your endpoint definitions.",[11,5384,5385,5388],{},[32,5386,5387],{},"Developer newsletter:"," If you have a separate developer newsletter or forum, announce the shutdown there specifically.",[18,5390,5392],{"id":5391},"the-people-you-often-forget","The people you often forget",[1062,5394,5396],{"id":5395},"users-who-left-before-the-announcement","Users who left before the announcement",[11,5398,5399],{},"Former users still have accounts. Some may have data stored in your product. They deserve notification even if they haven't logged in in a year.",[1062,5401,5403],{"id":5402},"integration-users","Integration users",[11,5405,5406],{},"If your product integrates with other platforms (Zapier, Slack, a marketplace), notify users through those channels too. People who set up integrations may not be regularly visiting your app directly.",[1062,5408,5410],{"id":5409},"your-community","Your community",[11,5412,5413],{},"If you have a Slack community, Discord server, forum, or subreddit — announce the shutdown there too. These communities often contain your most engaged users.",[1062,5415,5417],{"id":5416},"press-and-analysts","Press and analysts",[11,5419,5420],{},"If your product was covered by press, consider a brief note to the journalists who wrote about you. It's a courtesy that's often appreciated, and it allows the public record to be updated accurately.",[18,5422,5424],{"id":5423},"after-the-shutdown-keep-one-channel-open","After the shutdown: Keep one channel open",[11,5426,5427],{},"Once the service goes offline, you still need a way for users to reach you. Minimally, this means:",[158,5429,5430,5433],{},[29,5431,5432],{},"Keeping your contact email active for several months",[29,5434,5435],{},"Maintaining a shutdown page that includes that contact information",[11,5437,5438],{},"Users will have questions after shutdown. Data export issues. Refund questions. \"Was my data actually deleted?\" questions. Keep a channel open for them.",[3175,5440],{},[11,5442,5443],{},[3117,5444,5445,5446,2729],{},"Your shutdown page is part of your communication strategy — the permanent, always-on message for anyone who reaches your domain. ",[408,5447,5448],{"href":3184},"Create one at ExitPage.one",{"title":235,"searchDepth":236,"depth":236,"links":5450},[5451,5452,5453,5454,5455,5461],{"id":5230,"depth":236,"text":5231},{"id":5283,"depth":236,"text":5284},{"id":5314,"depth":236,"text":5315},{"id":5352,"depth":236,"text":5353},{"id":5391,"depth":236,"text":5392,"children":5456},[5457,5458,5459,5460],{"id":5395,"depth":1217,"text":5396},{"id":5402,"depth":1217,"text":5403},{"id":5409,"depth":1217,"text":5410},{"id":5416,"depth":1217,"text":5417},{"id":5423,"depth":236,"text":5424},"2024-07-02","How to communicate a shutdown across all your channels — email, social media, in-app notifications, and your website — without leaving anyone behind.",{},"/blog/customer-communication-closing-startup",{"title":5222,"description":5463},"blog/customer-communication-closing-startup","85xVzSwNl6umuGcNz_J3MnBn1wnphoaprxNyjgQAp6o",{"id":5470,"title":5471,"body":5472,"date":6117,"description":6118,"extension":247,"meta":6119,"navigation":249,"path":6120,"readTime":6121,"seo":6122,"stem":6123,"__hash__":6124},"blog/blog/startup-shutdown-checklist.md","The Complete Startup Shutdown Checklist",{"type":8,"value":5473,"toc":6081},[5474,5477,5479,5483,5485,5517,5519,5546,5548,5569,5571,5575,5578,5611,5614,5635,5637,5641,5644,5665,5668,5689,5691,5712,5714,5718,5721,5742,5745,5760,5762,5766,5769,5784,5787,5808,5810,5814,5817,5844,5847,5868,5870,5874,5878,5911,5914,5935,5939,5966,5969,5990,5992,5996,6029,6031,6035,6041,6047,6053,6059,6065,6071,6073],[11,5475,5476],{},"Shutting down a startup involves more tasks than most founders expect. This checklist organizes everything you need to do by category and timeline so nothing falls through the cracks.",[3175,5478],{},[18,5480,5482],{"id":5481},"_60-days-before-shutdown","60 days before shutdown",[1062,5484,4982],{"id":4981},[158,5486,5488,5494,5499,5505,5511],{"className":5487},[927],[29,5489,5491,5493],{"className":5490},[931],[933,5492],{"disabled":249,"type":935}," Decide on the official shutdown date",[29,5495,5497,4991],{"className":5496},[931],[933,5498],{"disabled":249,"type":935},[29,5500,5502,5504],{"className":5501},[931],[933,5503],{"disabled":249,"type":935}," Draft the shutdown page (your permanent online record)",[29,5506,5508,5510],{"className":5507},[931],[933,5509],{"disabled":249,"type":935}," Notify key stakeholders: investors, advisors, team members",[29,5512,5514,5516],{"className":5513},[931],[933,5515],{"disabled":249,"type":935}," Prepare answers to anticipated user questions (FAQ)",[1062,5518,4951],{"id":4950},[158,5520,5522,5528,5534,5540],{"className":5521},[927],[29,5523,5525,5527],{"className":5524},[931],[933,5526],{"disabled":249,"type":935}," Audit what user data you have and where it lives",[29,5529,5531,5533],{"className":5530},[931],[933,5532],{"disabled":249,"type":935}," Test the data export feature — can users actually get their data?",[29,5535,5537,5539],{"className":5536},[931],[933,5538],{"disabled":249,"type":935}," Identify all third-party services that hold user data",[29,5541,5543,5545],{"className":5542},[931],[933,5544],{"disabled":249,"type":935}," Plan DNS transition to shutdown page",[1062,5547,4889],{"id":4888},[158,5549,5551,5557,5563],{"className":5550},[927],[29,5552,5554,5556],{"className":5553},[931],[933,5555],{"disabled":249,"type":935}," Calculate outstanding subscription credits and refund amounts",[29,5558,5560,5562],{"className":5559},[931],[933,5561],{"disabled":249,"type":935}," Plan refund process with your payment processor",[29,5564,5566,5568],{"className":5565},[931],[933,5567],{"disabled":249,"type":935}," Review any enterprise contracts for specific shutdown terms",[3175,5570],{},[18,5572,5574],{"id":5573},"_45-days-before","45 days before",[1062,5576,4982],{"id":5577},"communication-1",[158,5579,5581,5587,5593,5599,5605],{"className":5580},[927],[29,5582,5584,5586],{"className":5583},[931],[933,5585],{"disabled":249,"type":935}," Send initial shutdown announcement to all users",[29,5588,5590,5592],{"className":5589},[931],[933,5591],{"disabled":249,"type":935}," Post shutdown announcement on social media",[29,5594,5596,5598],{"className":5595},[931],[933,5597],{"disabled":249,"type":935}," Update in-app notifications and banners",[29,5600,5602,5604],{"className":5601},[931],[933,5603],{"disabled":249,"type":935}," Update website homepage with shutdown notice",[29,5606,5608,5610],{"className":5607},[931],[933,5609],{"disabled":249,"type":935}," Add deprecation notices to API documentation (if applicable)",[1062,5612,4889],{"id":5613},"financial-1",[158,5615,5617,5623,5629],{"className":5616},[927],[29,5618,5620,5622],{"className":5619},[931],[933,5621],{"disabled":249,"type":935}," Cancel all active recurring subscriptions (prevent future charges)",[29,5624,5626,5628],{"className":5625},[931],[933,5627],{"disabled":249,"type":935}," Begin issuing prorated refunds to paid users",[29,5630,5632,5634],{"className":5631},[931],[933,5633],{"disabled":249,"type":935}," Send refund confirmation emails to paid users",[3175,5636],{},[18,5638,5640],{"id":5639},"_30-days-before","30 days before",[1062,5642,4982],{"id":5643},"communication-2",[158,5645,5647,5653,5659],{"className":5646},[927],[29,5648,5650,5652],{"className":5649},[931],[933,5651],{"disabled":249,"type":935}," Send reminder email (emphasize data export)",[29,5654,5656,5658],{"className":5655},[931],[933,5657],{"disabled":249,"type":935}," Post social media reminders",[29,5660,5662,5664],{"className":5661},[931],[933,5663],{"disabled":249,"type":935}," Update all documentation with shutdown date",[1062,5666,4951],{"id":5667},"technical-1",[158,5669,5671,5677,5683],{"className":5670},[927],[29,5672,5674,5676],{"className":5673},[931],[933,5675],{"disabled":249,"type":935}," Notify third-party integrations (if applicable, API partners, marketplace)",[29,5678,5680,5682],{"className":5679},[931],[933,5681],{"disabled":249,"type":935}," Begin winding down non-essential infrastructure",[29,5684,5686,5688],{"className":5685},[931],[933,5687],{"disabled":249,"type":935}," Archive codebase to GitHub (if open-sourcing or preserving)",[1062,5690,4920],{"id":4919},[158,5692,5694,5700,5706],{"className":5693},[927],[29,5695,5697,5699],{"className":5696},[931],[933,5698],{"disabled":249,"type":935}," Review GDPR/CCPA data deletion obligations",[29,5701,5703,5705],{"className":5702},[931],[933,5704],{"disabled":249,"type":935}," Prepare data deletion documentation",[29,5707,5709,5711],{"className":5708},[931],[933,5710],{"disabled":249,"type":935}," Consult lawyer if you have enterprise contracts with specific obligations",[3175,5713],{},[18,5715,5717],{"id":5716},"_14-days-before","14 days before",[1062,5719,4982],{"id":5720},"communication-3",[158,5722,5724,5730,5736],{"className":5723},[927],[29,5725,5727,5729],{"className":5726},[931],[933,5728],{"disabled":249,"type":935}," Send \"two weeks left\" reminder email",[29,5731,5733,5735],{"className":5732},[931],[933,5734],{"disabled":249,"type":935}," Emphasize data export deadline in all communications",[29,5737,5739,5741],{"className":5738},[931],[933,5740],{"disabled":249,"type":935}," Respond to outstanding user questions",[1062,5743,4889],{"id":5744},"financial-2",[158,5746,5748,5754],{"className":5747},[927],[29,5749,5751,5753],{"className":5750},[931],[933,5752],{"disabled":249,"type":935}," Confirm all refunds have been processed",[29,5755,5757,5759],{"className":5756},[931],[933,5758],{"disabled":249,"type":935}," Verify no new charges have occurred since subscription cancellations",[3175,5761],{},[18,5763,5765],{"id":5764},"_7-days-before","7 days before",[1062,5767,4982],{"id":5768},"communication-4",[158,5770,5772,5778],{"className":5771},[927],[29,5773,5775,5777],{"className":5774},[931],[933,5776],{"disabled":249,"type":935}," Send final week reminder email",[29,5779,5781,5783],{"className":5780},[931],[933,5782],{"disabled":249,"type":935}," Post final warning on social media",[1062,5785,4951],{"id":5786},"technical-2",[158,5788,5790,5796,5802],{"className":5789},[927],[29,5791,5793,5795],{"className":5792},[931],[933,5794],{"disabled":249,"type":935}," Test shutdown page (is it live? does the redirect work?)",[29,5797,5799,5801],{"className":5798},[931],[933,5800],{"disabled":249,"type":935}," Prepare server shutdown sequence",[29,5803,5805,5807],{"className":5804},[931],[933,5806],{"disabled":249,"type":935}," Test data export one final time",[3175,5809],{},[18,5811,5813],{"id":5812},"shutdown-day","Shutdown day",[1062,5815,4951],{"id":5816},"technical-3",[158,5818,5820,5826,5832,5838],{"className":5819},[927],[29,5821,5823,5825],{"className":5822},[931],[933,5824],{"disabled":249,"type":935}," Take service offline",[29,5827,5829,5831],{"className":5828},[931],[933,5830],{"disabled":249,"type":935}," Activate shutdown page / DNS redirect",[29,5833,5835,5837],{"className":5834},[931],[933,5836],{"disabled":249,"type":935}," Disable all API endpoints",[29,5839,5841,5843],{"className":5840},[931],[933,5842],{"disabled":249,"type":935}," Send final notification to webhook endpoints (if applicable)",[1062,5845,4982],{"id":5846},"communication-5",[158,5848,5850,5856,5862],{"className":5849},[927],[29,5851,5853,5855],{"className":5852},[931],[933,5854],{"disabled":249,"type":935}," Send \"service is now offline\" email to all users",[29,5857,5859,5861],{"className":5858},[931],[933,5860],{"disabled":249,"type":935}," Post final shutdown announcement on social media",[29,5863,5865,5867],{"className":5864},[931],[933,5866],{"disabled":249,"type":935}," Update any press or public records you can reach",[3175,5869],{},[18,5871,5873],{"id":5872},"_30-days-after-shutdown","30 days after shutdown",[1062,5875,5877],{"id":5876},"data","Data",[158,5879,5881,5887,5893,5899,5905],{"className":5880},[927],[29,5882,5884,5886],{"className":5883},[931],[933,5885],{"disabled":249,"type":935}," Delete all user data from primary databases",[29,5888,5890,5892],{"className":5889},[931],[933,5891],{"disabled":249,"type":935}," Delete all backups containing user data",[29,5894,5896,5898],{"className":5895},[931],[933,5897],{"disabled":249,"type":935}," Confirm deletion with all third-party data processors",[29,5900,5902,5904],{"className":5901},[931],[933,5903],{"disabled":249,"type":935}," Document deletion with timestamps (keep this record for 7 years)",[29,5906,5908,5910],{"className":5907},[931],[933,5909],{"disabled":249,"type":935}," Send deletion confirmation to users who requested it",[1062,5912,4889],{"id":5913},"financial-3",[158,5915,5917,5923,5929],{"className":5916},[927],[29,5918,5920,5922],{"className":5919},[931],[933,5921],{"disabled":249,"type":935}," Confirm all refunds are settled",[29,5924,5926,5928],{"className":5925},[931],[933,5927],{"disabled":249,"type":935}," Archive financial records (7 years is standard)",[29,5930,5932,5934],{"className":5931},[931],[933,5933],{"disabled":249,"type":935}," Close business accounts if the entity is being dissolved",[1062,5936,5938],{"id":5937},"infrastructure","Infrastructure",[158,5940,5942,5948,5954,5960],{"className":5941},[927],[29,5943,5945,5947],{"className":5944},[931],[933,5946],{"disabled":249,"type":935}," Cancel cloud hosting accounts",[29,5949,5951,5953],{"className":5950},[931],[933,5952],{"disabled":249,"type":935}," Cancel SaaS subscriptions you no longer need",[29,5955,5957,5959],{"className":5956},[931],[933,5958],{"disabled":249,"type":935}," Keep domain registration active (at least 2 more years)",[29,5961,5963,5965],{"className":5962},[931],[933,5964],{"disabled":249,"type":935}," Keep shutdown page active",[1062,5967,4920],{"id":5968},"legal-1",[158,5970,5972,5978,5984],{"className":5971},[927],[29,5973,5975,5977],{"className":5974},[931],[933,5976],{"disabled":249,"type":935}," File final tax returns if dissolving the entity",[29,5979,5981,5983],{"className":5980},[931],[933,5982],{"disabled":249,"type":935}," Dissolve the legal entity (if applicable) — consult a lawyer",[29,5985,5987,5989],{"className":5986},[931],[933,5988],{"disabled":249,"type":935}," Handle any outstanding legal matters before dissolution",[3175,5991],{},[18,5993,5995],{"id":5994},"ongoing-post-shutdown","Ongoing (post-shutdown)",[158,5997,5999,6005,6011,6017,6023],{"className":5998},[927],[29,6000,6002,6004],{"className":6001},[931],[933,6003],{"disabled":249,"type":935}," Keep domain registered (2+ years, to protect against squatters)",[29,6006,6008,6010],{"className":6007},[931],[933,6009],{"disabled":249,"type":935}," Keep shutdown page live (permanent)",[29,6012,6014,6016],{"className":6013},[931],[933,6015],{"disabled":249,"type":935}," Keep contact email active (6+ months)",[29,6018,6020,6022],{"className":6019},[931],[933,6021],{"disabled":249,"type":935}," Monitor email for user questions",[29,6024,6026,6028],{"className":6025},[931],[933,6027],{"disabled":249,"type":935}," Respond to any ongoing legal or regulatory inquiries",[3175,6030],{},[18,6032,6034],{"id":6033},"things-people-often-forget","Things people often forget",[11,6036,6037,6040],{},[32,6038,6039],{},"Personal data in logs:"," Your server logs may contain IP addresses, email addresses, or other personal information. Delete them or anonymize them as part of your data deletion process.",[11,6042,6043,6046],{},[32,6044,6045],{},"Third-party analytics:"," If you used Google Analytics, Mixpanel, Amplitude, or similar tools, you need to delete your properties and data there too.",[11,6048,6049,6052],{},[32,6050,6051],{},"Email lists:"," Your email marketing lists contain personal data. Export the final list for your records (in case of legal disputes), then delete it from your ESP.",[11,6054,6055,6058],{},[32,6056,6057],{},"Social media data:"," If you ran social ads that collected lead information, make sure that data is purged from your ad accounts.",[11,6060,6061,6064],{},[32,6062,6063],{},"Team access:"," Revoke access to all production systems for former team members (if you haven't already). This is a security issue even after shutdown.",[11,6066,6067,6070],{},[32,6068,6069],{},"Investor reporting:"," Some investors may have rights to final financial statements or other information as part of your equity agreements. Review your shareholder agreements.",[3175,6072],{},[11,6074,6075],{},[3117,6076,6077,6078,2729],{},"A shutdown page makes the \"ongoing\" section easy. One permanent URL that tells the story of your product — live as long as your domain is. ",[408,6079,6080],{"href":3184},"Create yours at ExitPage.one",{"title":235,"searchDepth":236,"depth":236,"links":6082},[6083,6088,6092,6097,6101,6105,6109,6115,6116],{"id":5481,"depth":236,"text":5482,"children":6084},[6085,6086,6087],{"id":4981,"depth":1217,"text":4982},{"id":4950,"depth":1217,"text":4951},{"id":4888,"depth":1217,"text":4889},{"id":5573,"depth":236,"text":5574,"children":6089},[6090,6091],{"id":5577,"depth":1217,"text":4982},{"id":5613,"depth":1217,"text":4889},{"id":5639,"depth":236,"text":5640,"children":6093},[6094,6095,6096],{"id":5643,"depth":1217,"text":4982},{"id":5667,"depth":1217,"text":4951},{"id":4919,"depth":1217,"text":4920},{"id":5716,"depth":236,"text":5717,"children":6098},[6099,6100],{"id":5720,"depth":1217,"text":4982},{"id":5744,"depth":1217,"text":4889},{"id":5764,"depth":236,"text":5765,"children":6102},[6103,6104],{"id":5768,"depth":1217,"text":4982},{"id":5786,"depth":1217,"text":4951},{"id":5812,"depth":236,"text":5813,"children":6106},[6107,6108],{"id":5816,"depth":1217,"text":4951},{"id":5846,"depth":1217,"text":4982},{"id":5872,"depth":236,"text":5873,"children":6110},[6111,6112,6113,6114],{"id":5876,"depth":1217,"text":5877},{"id":5913,"depth":1217,"text":4889},{"id":5937,"depth":1217,"text":5938},{"id":5968,"depth":1217,"text":4920},{"id":5994,"depth":236,"text":5995},{"id":6033,"depth":236,"text":6034},"2024-06-15","Everything you need to do when shutting down a startup — financial, legal, technical, and communication tasks organized by timeline.",{},"/blog/startup-shutdown-checklist","10 min read",{"title":5471,"description":6118},"blog/startup-shutdown-checklist","-uTT-pi3r6Zy8J9ARZTNThZzXTG-jl8A7OO4nhD9f28",1773008323919]