October 8, 2026

Mobile App Maintenance and Support: What It Covers and What It Costs

An app is not a deliverable that stays delivered. Apple ships a major iOS release every year, Google ships Android releases and raises the Play Store's target API level requirement annually,...

Blog Image

Key takeaways from the blog

  • Maintenance is the cost of having an app, not an optional service. Annual iOS and Android releases, rising Play Store target API requirements, dependency updates, expiring certificates, and policy changes make 15 to 20 percent of build cost per year the realistic floor.
  • A complete retainer names six categories: OS compatibility, store policy compliance, dependency and security updates, defect resolution, infrastructure and certificate management, and monitoring. New features are development work and should be quoted separately, or the retainer becomes a dispute.
  • An unmaintained app degrades slowly and then abruptly. Within two years it can become undistributable to new Android users or require a toolchain upgrade on iOS that is a project in its own right, and catch-up work routinely exceeds three years of the maintenance that was skipped.
  • Arrangements range from reactive hourly support at $150 to $200 per hour, to basic retainers at $1,000 to $3,000 monthly, standard retainers at $3,000 to $8,000, and retainer plus iteration capacity at $8,000 to $25,000. The reactive option often costs more, because nobody is watching until users report problems.
  • Agree terms before you need them: response times by severity, included hours, exclusions, account ownership in your name, and a 30-day handover. Schedule compatibility testing during the summer developer betas and monitor crash-free sessions, API error rates, store reviews, and dependency vulnerabilities monthly.
  • Recovering a neglected app usually costs 20 to 50 percent of the original build and should start with an audit. Budget maintenance and iteration separately, at 15 to 20 percent and a further 20 to 30 percent of build cost in the first year, so feature work does not consume the OS-update budget.

An app is not a deliverable that stays delivered. Apple ships a major iOS release every year, Google ships Android releases and raises the Play Store's target API level requirement annually, third-party dependencies publish security updates, certificates expire, and store policies change. None of that waits for your roadmap.

Which means maintenance is not a service you may want. It is the cost of having an app, and 15 to 20 percent of build cost annually is the realistic floor.

What maintenance actually covers

Six categories, and a retainer that does not name all six is underspecified.

Operating system compatibility. Testing against each new iOS and Android release, ideally against the developer beta over the summer rather than after public release, and fixing what breaks. Roughly a fortnight of work annually on its own for a typical app.

Store policy compliance. Google Play's target API level requirement rises every year, and non-compliance eventually removes your app from distribution to new users rather than merely dating it. Privacy declarations must stay accurate as SDKs change. Both platforms periodically introduce new requirements, such as account deletion paths, that apply retroactively.

Dependency and security updates. Third-party libraries publish fixes, some of them security-relevant. A codebase four major framework versions behind has an upgrade project embedded in it whether you plan one or not.

Defect resolution. Bugs reported by users or surfaced by crash monitoring. A reasonable retainer includes a defined allowance rather than unlimited work.

Infrastructure and certificate management. Push notification certificates, signing certificates, provisioning profiles, SSL renewal, and backup verification. Individually trivial, collectively the cause of most avoidable outages.

Monitoring. Crash reporting, error tracking, and someone actually looking at it. Monitoring nobody reads is an expense rather than a control.

Note what is not on that list: new features. Those are development work and should be quoted separately, and conflating them is how a retainer becomes a dispute.

What happens to an unmaintained app

Degradation is gradual and then abrupt, and the sequence is predictable.

Months one to six: nothing visible. This is the period during which maintenance feels unnecessary.

Months six to twelve: a new OS release causes visual glitches, a deprecated API produces intermittent failures, and crash rates rise. Reviews begin mentioning it.

Year one to two: an SDK you depend on stops being supported. A third-party service changes its API and a feature silently stops working. Store policy changes require a submission you are not ready to make.

Year two onward: on Android, the target API level requirement makes the app undistributable to new users. On iOS, submitting an update requires a build toolchain upgrade that has itself become a project. What was 15 percent annually has become a rebuild-scale effort.

That final state is the expensive one, and it is reached by inaction rather than by any decision.

The compounding is the point. Fifteen percent of build cost annually, paid, keeps an app current. Skipped for two years, the catch-up work routinely exceeds three years of the maintenance you avoided, because upgrades that would have been incremental have to be done at once.

‍


Frosted stacked layers of updates with red crack

‍

What a maintenance arrangement costs

ArrangementTypical costSuits
Reactive, hourly as needed$150 to $200 per hour, no retainerSimple apps, low change rate
Basic retainer$1,000 to $3,000 monthlyCompatibility, dependencies, defect allowance
Standard retainer$3,000 to $8,000 monthlyAbove plus monitoring, minor changes, faster response
Retainer plus iteration capacity$8,000 to $25,000 monthlyProducts under active development

The reactive option looks cheapest and frequently is not, because nobody is watching. Problems are discovered by users, and an annual OS release with no prior testing produces a scramble at the least convenient time.

Bolder Apps sells maintenance and staff augmentation alongside fixed-scope project work, and the questions worth settling with any firm before launch rather than during your first incident are what is covered, what it costs, what the response commitment is, and what is explicitly excluded.

Terms to agree before you need them

Five, and the response commitment is the one most often left vague.

A response commitment by severity. What counts as critical, meaning the app is unusable or data is at risk, versus routine, and what response time each carries. Business hours or extended, and in which timezone.

Included hours and the rate beyond them. A retainer with an unstated allowance becomes an argument the first busy month.

What is excluded. New features, major version upgrades, design changes, and third-party service migrations are commonly out of scope, and that is reasonable as long as it is written down.

Who holds the accounts. Developer accounts, cloud infrastructure, and third-party services should be under your ownership with the maintainer added as a user. This is what makes a maintainer replaceable.

Notice and handover. Thirty days is standard, with documentation and credential transfer defined. A maintenance relationship that cannot be exited is a dependency.

The annual OS cycle, planned for

Both platforms are predictable enough that maintenance can be scheduled rather than reactive.

Mid-year, developer betas appear for the autumn releases. This is when compatibility testing should happen, because problems found in the beta window are fixed calmly.

Autumn, public releases arrive and user adoption on iOS is rapid, which means incompatibilities surface within days rather than months.

Through the year, Google Play's target API level deadline and any new policy requirements have published dates. Both are calendar items rather than surprises.

An app on a maintenance retainer should have two scheduled work blocks annually for this, plus the ongoing dependency and defect work. A firm that treats OS releases as unexpected events is not doing maintenance.

‍


Frosted monitoring dial with red alert arc

‍

Monitoring, and what to actually watch

Four numbers, reviewed at least monthly, distinguish maintenance from waiting for complaints.

Crash-free session rate, by app version and OS version. A drop after a release or after an OS update is your earliest warning and the one users would otherwise report as the app is broken.

Error rates on API calls, including calls to third parties. A silently failing integration is the most common invisible defect.

Store reviews and ratings, read rather than counted. Users describe defects in reviews before they report them anywhere else.

Dependency vulnerability status, from automated scanning with a process for acting on findings rather than a report nobody opens.

Bringing a neglected app back

Apps that have gone two years without maintenance are common, and the recovery is a project rather than a retainer.

Start with an assessment: current framework and dependency versions against supported ones, build reproducibility, whether the app compiles at all on current tooling, store compliance status, and whether anyone holds the signing credentials. That last item ends more recovery projects than any technical finding, because an app whose signing key is lost cannot be updated on iOS and requires a new listing.

Then sequence: get it building on current tooling, upgrade the framework and dependencies in steps rather than at once, bring store compliance current, and only then resume normal maintenance. Feature work waits.

Cost is highly variable and commonly 20 to 50 percent of the original build, occasionally more when a framework has moved several major versions. Which is the arithmetic behind the earlier point: two years of avoided maintenance at 15 percent annually saves 30 percent and costs considerably more than that to recover.

Bolder Apps sells code audits as a standalone engagement, and an audit is the right first purchase here rather than a maintenance retainer, because until someone has established what state the codebase is in, nobody can quote the recovery honestly.

Maintenance versus iteration, kept separate

Confusing these is the most common source of friction in maintenance relationships.

Maintenance keeps the app working as the world around it changes. Iteration changes what the app does. The first is a running cost with a predictable floor; the second is discretionary development with its own budget.

For a product under active development, the sensible arrangement is a maintenance retainer plus separately quoted iteration capacity, so that a busy month of feature work does not consume the budget that was meant to cover an OS release. For a stable product, maintenance alone is correct and iteration is commissioned when there is a reason.

Budget both. A realistic first-year figure is 15 to 20 percent of build cost for maintenance and a further 20 to 30 percent for iteration, and products that fund the first and not the second launch, learn something, and cannot act on it.



Sources

  • Apple developer documentation on OS release cycles and SDK requirements, developer.apple.com
  • Google Play target API level requirements and policy timelines, support.google.com/googleplay/android-developer
  • Apple App Store Review Guidelines, including account deletion requirements
  • OWASP Dependency-Check and dependency management guidance, owasp.org
  • Firebase Crashlytics and platform crash reporting documentation
Quick answers

Frequently Asked Questions.

Can we skip maintenance if the app works fine?

For a few months, yes. Beyond a year the platforms have moved and beyond two years, on Android in particular, distribution itself is at risk. There is no stable state where an app requires no maintenance, because the change is coming from outside your product.

Who should maintain the app, the firm that built it or someone else?

The original builder is usually cheapest and fastest because the context exists, and the arrangement should not be a dependency. Confirm code ownership, documentation, and account ownership so that changing maintainer is a decision rather than a crisis.

What does a reasonable response time look like?

For critical issues, same business day is a fair expectation on a standard retainer, with faster commitments available at higher tiers. For routine issues, two to five business days. What matters is that the commitment is written and tiered by severity rather than described as prompt.

Does a cross-platform app cost less to maintain?

Yes, close to half the cost of maintaining two native codebases, because there is one codebase to update against each OS release rather than two. It also eliminates feature parity drift between platforms, which is the most commonly reported regret among teams running two native apps.

Is maintenance included in the original build price?

Almost never beyond a short warranty period covering defects in the delivered work, commonly 30 to 90 days. Ongoing maintenance is a separate arrangement, and confirming that before launch avoids the awkward conversation during your first OS release.

Get in touch

Let's discuss your goals

Schedule a meeting via the form here and we’ll connect you directly with our director of product—no salespeople involved.

What happens next?

Book a discovery call
Discuss and strategize your goals
We prepare a proposal and review it collaboratively
Clutch Boutique client logo
Clutch Award Badge
Clutch Award Badge

Bolder Starts Here

Please enter a valid phone number
Join 30+ founders who shipped with Bolder Apps
By submitting this form, you agree to our Terms of Use and Privacy Policy
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.