There's a difference of what is broke that matters. I'm playing out cases in my head ...
If I visit a website, "They" broke.
If my phone crashes, "It" broke.
My phone shouldn't say "we" - I don't grok the idea of people in there.
The website should say "we" - It's an organization presenting data, and I do believe there are people behind it.
My car shouldn't say "we" - My car is an "it", a thing that lives in my garage and I drive around.
NVIDIA drivers shouldn't say "we" - I'm running the program. I'm the agent. If anything, when I check for drivers, it should say "they have an update ready". The program is executing on my machine. It's mine. "They" are the people who publish updates. "We" (program and I) go fetch and install them.
But programs don't have agency - so if "it" can't fetch "their" update, then "Update could not be fetched" conveys all the info I need to know.
Then there's the "simpy" problem of always apologizing. For this reason I like TFA's final recommendation:
> Use the word “sorry” only in error messages that result in serious problems for the user (for example, data loss or inability to use the computer). Don’t apologize if the issue occurred during the normal functioning of the program (for example, if the user needs to wait for a network connection to be found).