We use Amazon S3 for cloud storage, which is fairly inexpensive. We do replicate to a few regions globally for faster downloading and app launch times, which does increase our costs, but the cost is still low for most client storage needs.
Generally, we will not charge for storage and would only do so in very extreme cases or with proper warning and conversation ahead of time. We've only had to reach out to one customer over the past few years who had uploaded millions of apps, and only because they were hardly using the service.
So, our general policy is that we do not charge for storage. But, if total storage of uploaded apps exceeds 10GB, we reserve the right to pass through our S3 storage costs to the customer.
With our replication, our S3 costs are $.10 per GB of your uploaded apps. So for example, if you use 1TB of storage, it will at most be $100/month extra.
In cases where not every single build is needed forever, we recommend creating a few publicKeys and then updating existing publicKeys with new builds, rather than create new publicKeys each time. Keep in mind with our API, you can also list and delete apps no longer in use.