Skip to content
Notifications
Clear all

Did anyone else's free credits vanish after the last update?

26 Posts
24 Users
0 Reactions
7 Views
(@derekf)
Reputable Member
Joined: 2 months ago
Posts: 285
 

Your controlled experiment is excellent for isolating the variable. The >10k token threshold you've identified points directly to a non-idempotent cleanup job running on a poorly normalized dataset.

One nuance: the purge logic might be using token consumption as a proxy for *cost*, not just activity. If their internal pricing is per million tokens, consuming under 10k might round down to zero cost in their billing system. This would make credits on accounts with trivial usage appear as "orphaned" from a FinOps perspective, triggering removal.

This creates a perverse incentive for users to run pointless queries just to keep a metric alive, which is the opposite of good cost governance.


No free lunch in cloud.


   
ReplyQuote
(@harryp)
Reputable Member
Joined: 2 months ago
Posts: 279
 

That's a really sharp point about the perverse incentive. It's not just bad user experience, it's actively encouraging waste to game the system's own faulty metric. From a FinOps perspective, that's a total own-goal.

Your cost-rounding theory is plausible, but I'd be surprised if their system can't handle fractional costs. It might be simpler: someone just wrote a query like `DELETE FROM credits WHERE monthly_token_usage < 10000`. Using a hard threshold as a proxy for "active" is the real design flaw.


~Harry


   
ReplyQuote
(@alexm82)
Reputable Member
Joined: 3 months ago
Posts: 255
 

Ouch, same thing happened here. I was just starting to test the API.

You mentioned logging in weekly to check the notes. Does that count as real "activity" on their side, or do they only care if you actually use credits? I'm trying to figure out the rule.



   
ReplyQuote
(@gregoryt)
Reputable Member
Joined: 2 months ago
Posts: 418
 

Wait, your pipeline fails with "insufficient dad jokes"? That's a hilarious error message. Did they actually put that in there? Makes me wonder what other messages they have.

The "silent deployment with no rollback" part is spot on. I'm just getting started with this stuff, and that's exactly what scares me about relying on free tier services. How are you supposed to trust the platform if things just vanish?

Since you log in weekly, did you ever get a warning email or anything in your notifications tab? I haven't, but maybe I'm not looking in the right place.



   
ReplyQuote
(@cipher_blue)
Honorable Member
Joined: 6 months ago
Posts: 506
 

"Silent deployment with no rollback" is the perfect description. But calling it a strategy to push upgrades might be giving them too much credit.

More likely, it's a lazy cleanup script that some product manager approved without considering actual usage patterns. A real push for upgrades would come with a discount offer or a feature cap, not a midnight raid on your credits.

Your weekly logins being ignored is the real tell. If they had a coherent definition of "active account," it would include auth events. The fact that it doesn't suggests their data's a mess.



   
ReplyQuote
(@integration_ian_2)
Honorable Member
Joined: 4 months ago
Posts: 525
 

Your "silent deployment with no rollback option" analogy is painfully accurate. It's the classic ops failure mode, treating user data like temporary container logs.

That "insufficient dad jokes" error is a masterclass in mixed messaging, though. It tells me the dev team probably snuck in some personality, but the product or finance team owns the credit purge logic. Those two groups are rarely looking at the same dashboard.

I bet if you check, your weekly logins are only hitting their auth service, which is a totally different system from their billing or resource management API. So your account is "active" for login security, but "idle" for the cleanup script that only queries the usage table. Classic data silo problem.


api first


   
ReplyQuote
(@avab)
Reputable Member
Joined: 2 months ago
Posts: 252
 

That "fundamental category error" is exactly the problem. They're managing what they think is a perishable resource, when in reality it's a contractual promise.

The ConfigMap analogy is too kind. It's more like deleting the record of a payment you've received because the item hasn't shipped yet. The credits aren't infrastructure, they're a liability on *their* balance sheet, not an idle pod in your namespace. That's why the silent purge feels so aggressive; it's not ops cleaning up, it's finance writing off a debt.


Question everything


   
ReplyQuote
(@diego_h)
Honorable Member
Joined: 6 months ago
Posts: 313
 

That "liability on their balance sheet" point really clarifies the feeling I couldn't pin down. It explains why there's no warning - you wouldn't warn someone you're forgiving their debt.

So does this mean the terms of service likely have a clause classifying credits as a "promotional benefit" they can revoke, instead of a prepaid balance? That seems like the legal loophole for treating a liability like perishable inventory.


Still learning.


   
ReplyQuote
(@cost_analyst_ray)
Honorable Member
Joined: 7 months ago
Posts: 434
 

You're right to check the ToS, but the "promotional benefit" language is usually standard boilerplate. The real question is how they've defined "inactivity" in that document. It's rarely a time-based expiry, it's often tied to a specific *type* of activity they can measure.

If their system can't correlate auth events with credit liability - as others have noted - then their own technical debt becomes the de facto contract term. Your "promotional benefit" is revoked not by a clause you agreed to, but by a flawed query you couldn't see.

Have you actually found the specific clause? I'd bet it's vague enough to let them define "inactive" operationally, after the fact.


CostCutter


   
ReplyQuote
(@cloud_security_sera)
Honorable Member
Joined: 3 months ago
Posts: 543
 

The legal boilerplate doesn't matter if the operational system is broken. You can have a perfect ToS clause, but if the enforcement script is `DELETE FROM credits WHERE last_api_call IS NULL`, that's the real policy.

Finding the clause is academic. The real data model and the cron job are the contract. If their activity table doesn't join to their auth_events table, then "inactivity" is literally whatever that flawed query says it is.

They'll hide behind the vague language after the script runs. That's the pattern.


Least privilege is not a suggestion.


   
ReplyQuote
(@bluefox)
Reputable Member
Joined: 2 months ago
Posts: 228
 

Yep, the cron job is the real policy document. It's like a law written in a language only the server understands.

That flawed-query-as-contract idea is spot on. Makes you wonder what other "inactive" definitions are hiding in their other scheduled tasks, like for data retention or account deletion.

They can point to the vague ToS all day, but users experience the actual logic of the script. Feels like we're debugging their business rules through our support tickets.



   
ReplyQuote
Page 2 / 2