SharedInboxController
Request
GET Parameters
None
POST Parameters
None
Uploaded Files
None
Request Attributes
Key | Value |
---|---|
_controller | "App\Controller\ActivityPub\SharedInboxController" |
_firewall_context | "security.firewall.map.context.main" |
_route | "ap_shared_inbox" |
_route_params | [] |
_security_firewall_run | "_security_main" |
_stopwatch_token | "3b7d41" |
Request Headers
Header | Value |
---|---|
accept | "*/*" |
accept-encoding | "gzip" |
content-length | "13218" |
content-type | "application/activity+json" |
date | "Wed, 30 Jul 2025 00:11:26 GMT" |
digest | "SHA-256=YCNpMFYNPLo+GlnxD1aUVmupUaV86MjcOGV9SKIJWHM=" |
host | "kbin.spritesserver.nl" |
signature | "keyId="https://lemmy.world/c/maliciouscompliance#main-key",algorithm="hs2019",headers="(request-target) content-type date digest host",signature="KcrXaS+LcuV1ID5V0aSkxgKwwi7evPZBxhLWw4Xfi3HjpD6+Pa4NWcfbExnd/AYA2CozaN2ev26/r61q+s3Dm4riQcYqgWTDk+q4svbGoG3VmukpFyrIH0dFKw/R51HZVxXJ0oNdkaJ0OatOTZsK7ckpmju2+JGGDWyXAsIRX31NL2AQPTxC3PsMd73xvibSTQR3LfYwb7GR524eBteXBjJs+DSag8AJKyFOYpwQQLRvWgGeJvcW/N4TuI5jxqNB+23ZTeCdyblDuAy1y7cRYxnya2TsjQc2wyTdCV8a2CbhD1/K7EmJ8clw8YViodpK0FZoU0i04k6Prbls8YBaDA=="" |
traceparent | "00-1d17a7755b520af92be8c02f6a577a78-7b7ea0e50349a874-01" |
tracestate | "" |
user-agent | "Lemmy/0.19.12-4-gd8445881a; +https://lemmy.world" |
x-php-ob-level | "1" |
Request Content
Pretty
{ "@context": [ "https:\/\/join-lemmy.org\/context.json", "https:\/\/www.w3.org\/ns\/activitystreams" ], "actor": "https:\/\/lemmy.world\/c\/maliciouscompliance", "to": [ "https:\/\/www.w3.org\/ns\/activitystreams#Public" ], "object": { "id": "https:\/\/lemmy.world\/post\/33670956", "actor": "https:\/\/lemmy.world\/u\/Mamdani_Da_Savior", "type": "Page", "attributedTo": "https:\/\/lemmy.world\/u\/Mamdani_Da_Savior", "to": [ "https:\/\/lemmy.world\/c\/maliciouscompliance", "https:\/\/www.w3.org\/ns\/activitystreams#Public" ], "name": "I Fought AT&T and Won \u2014 Here\u2019s How You Can Too", "cc": [], "content": "<p>This post has two goals:<\/p>\n<p>\u2705 Be a fun story about using the legal system to my benefit<\/p>\n<p>\u2705 Teach you how to do the same<\/p>\n<p>If you\u2019ve ever been screwed by a giant corporation and thought, \u201cThere\u2019s nothing I can do,\u201d \u2014 this is for you. Spoiler alert: there is something you can do. And no, it doesn\u2019t involve sitting on hold or begging a chatbot for mercy. It involves a printer, a stamp, and a little bit of legally sanctioned menace.<\/p>\n<ol>\n<li>The Setup \u2013 AT&T Screwed Me, So I Returned the Favor\nAT&T promised to pay off my old phone when I switched to their service. That was the deal. I followed their instructions to the letter. I dotted the i\u2019s. I crossed the t\u2019s. I even used their clown-tier upload portal to submit everything.<\/li>\n<\/ol>\n<p>Then the denial came.<\/p>\n<p>To their credit, they did give me an explanation\u2014one of those deeply unsatisfying, legally airtight, morally hollow responses that boils down to:<\/p>\n<p>\u201cTechnically\u2026 you\u2019re ineligible because of [some obscure clause or timing issue that wasn\u2019t clearly communicated].\u201d<\/p>\n<p>So yeah. They weren\u2019t saying, \u201cOops, our bad.\u201d\nThey were saying, \u201cYou\u2019re right\u2014but we worded it so we still win.\u201d<\/p>\n<p>And then, just to really put a bow on the insult, they offered me a $100 gift card as a \u201cgesture of goodwill.\u201d<\/p>\n<p>Let\u2019s be clear: that wasn\u2019t goodwill. That was an attempt to buy my silence with pocket change. The second you accept that kind of partial offer, they can claim you agreed to a resolution\u2014and that can tank any further complaint or legal action.<\/p>\n<p>I didn\u2019t bite. I knew what I was owed, and it sure as hell wasn\u2019t $100 and a wink.<\/p>\n<p>That\u2019s when I realized:<\/p>\n<p>AT&T didn\u2019t make a mistake. They made a bet.\nThey bet I\u2019d roll over and accept it.\nThey bet I wouldn\u2019t do anything about it.<\/p>\n<p>Bad bet.<\/p>\n<ol start=\"2\">\n<li>The Shift \u2013 Time to Get Legal\nCustomer service was a dead end. They\u2019d given their final answer and offered me a gift card to go away.\nSo I made a choice:<\/li>\n<\/ol>\n<p>No more emails. No more calls. I\u2019m going legal.<\/p>\n<p>Not with a lawyer. Not with some class action that pays me in expired coupons.\nI wrote a legal demand letter\u2014the kind that makes a corporate office sweat.<\/p>\n<p>Why? Because when you do that, you stop being a customer and start being a legal threat.<\/p>\n<ol start=\"3\">\n<li>Find the Right Legal Entity & Send Real Mail\n\ud83c\udfaf Find the Legal Entity Name\nDon\u2019t address your letter to \u201cAT&T.\u201d That\u2019s a brand. You need the actual legal name of the entity responsible for the service or contract.<\/li>\n<\/ol>\n<p>Use your state\u2019s Secretary of State business search or check their Terms & Conditions. You\u2019ll find names like:<\/p>\n<p>AT&T Mobility LLC<\/p>\n<p>AT&T Services, Inc.<\/p>\n<p>Match the right name to the address listed for legal correspondence. If you\u2019re unsure, send copies to multiple entities. Certified mail is cheap. Court mistakes are not.<\/p>\n<p>\ud83d\udcec Send It Certified Mail\nUse USPS Certified Mail with Return Receipt. That way:<\/p>\n<p>You have proof they got it.<\/p>\n<p>You have a timestamp for your deadline.<\/p>\n<p>It goes to someone in legal\u2014not some intern on live chat.<\/p>\n<p>Emails can be ignored. Certified letters get logged, escalated, and documented.<\/p>\n<ol start=\"4\">\n<li>How to Write the Demand Letter That Makes Them Sweat\nYour letter needs to be calm, cold, and clear\u2014not emotional. It should read like something a judge might see. Here\u2019s the structure:<\/li>\n<\/ol>\n<p>Your info: Name, address, account number.<\/p>\n<p>Their info: Legal entity name & address.<\/p>\n<p>What happened: Keep it factual.<\/p>\n<p>The harm: What they cost you.<\/p>\n<p>Your demand: Be specific.<\/p>\n<p>Your deadline: 10 business days max.<\/p>\n<p>What happens next: Mention small claims.<\/p>\n<p>Your signature.<\/p>\n<p>\ud83d\udd0d Legal Phrases to Include:\nImplied contract (offer made, you acted on it)<\/p>\n<p>Deceptive trade practices<\/p>\n<p>Breach of good faith<\/p>\n<p>Treble damages (yes, triple the amount in some cases)<\/p>\n<p>This tells them:\n\u201cI know my rights. And I\u2019m ready to make this expensive.\u201d<\/p>\n<ol start=\"5\">\n<li>Why Companies Settle \u2013 Treble Damages, Bad PR, and the Small Claims Threat\nCorporations don\u2019t settle because they\u2019re nice. They settle because they know what\u2019s coming:<\/li>\n<\/ol>\n<p>\ud83d\udca3 Treble Damages\nIn many states, if they acted in bad faith or deceptively, you can sue for three times your actual loss\u2014plus court fees.<\/p>\n<p>Suddenly, a $500 issue becomes a $1,500+ nightmare.<\/p>\n<p>\ud83d\udc69\u200d\u2696\ufe0f Small Claims Court\nYou don\u2019t need a lawyer.<\/p>\n<p>It\u2019s fast and cheap to file.<\/p>\n<p>Judges often side with consumers when the facts are clean.<\/p>\n<p>Big companies hate small claims because they can\u2019t overwhelm you with legal teams. And even if they win, they lose money just showing up.<\/p>\n<p>\ud83d\udcc9 Public Records & Bad PR\nIf it goes to court, it becomes public record.\nThey don\u2019t want that. They don\u2019t want precedent. They don\u2019t want people like you knowing this works.<\/p>\n<ol start=\"6\">\n<li>The Result \u2013 And How You Can Do It Too\nRoughly a week after they got the letter, I got a call from the one department you can\u2019t reach by accident:<\/li>\n<\/ol>\n<p>AT&T\u2019s Office of the President.<\/p>\n<p>Suddenly, the people who once ignored me were eager to fix everything. They reversed the charges, honored the original deal, and moved fast.<\/p>\n<p>Why?\nBecause it was cheaper to pay me than to fight me.\nBecause the moment I went legal, the math changed.<\/p>\n<p>\ud83d\udcaa Here\u2019s How You Can Do It:\nKnow what you\u2019re owed<\/p>\n<p>Find the legal entity<\/p>\n<p>Write a demand letter (cold, clear, confident)<\/p>\n<p>Send it via certified mail<\/p>\n<p>Set a deadline<\/p>\n<p>Be ready to file in small claims<\/p>\n<p>\ud83c\udfa4 Final Word\nYou don\u2019t need a lawyer.\nYou don\u2019t need to scream at a rep.\nYou don\u2019t need to take their scraps.<\/p>\n<p>You just need a printer, a stamp, and a spine.<\/p>\n<p>They bet on you staying quiet.\nProve them wrong.<\/p>\n", "mediaType": "text\/html", "source": { "content": "This post has two goals:\n\n\u2705 Be a fun story about using the legal system to my benefit\n\n\u2705 Teach you how to do the same\n\nIf you\u2019ve ever been screwed by a giant corporation and thought, \u201cThere\u2019s nothing I can do,\u201d \u2014 this is for you. Spoiler alert: there is something you can do. And no, it doesn\u2019t involve sitting on hold or begging a chatbot for mercy. It involves a printer, a stamp, and a little bit of legally sanctioned menace.\n\n1. The Setup \u2013 AT&T Screwed Me, So I Returned the Favor\nAT&T promised to pay off my old phone when I switched to their service. That was the deal. I followed their instructions to the letter. I dotted the i\u2019s. I crossed the t\u2019s. I even used their clown-tier upload portal to submit everything.\n\nThen the denial came.\n\nTo their credit, they did give me an explanation\u2014one of those deeply unsatisfying, legally airtight, morally hollow responses that boils down to:\n\n\u201cTechnically\u2026 you're ineligible because of [some obscure clause or timing issue that wasn\u2019t clearly communicated].\u201d\n\nSo yeah. They weren\u2019t saying, \u201cOops, our bad.\u201d\nThey were saying, \u201cYou're right\u2014but we worded it so we still win.\u201d\n\nAnd then, just to really put a bow on the insult, they offered me a $100 gift card as a \u201cgesture of goodwill.\u201d\n\nLet\u2019s be clear: that wasn\u2019t goodwill. That was an attempt to buy my silence with pocket change. The second you accept that kind of partial offer, they can claim you agreed to a resolution\u2014and that can tank any further complaint or legal action.\n\nI didn\u2019t bite. I knew what I was owed, and it sure as hell wasn\u2019t $100 and a wink.\n\nThat\u2019s when I realized:\n\nAT&T didn\u2019t make a mistake. They made a bet.\nThey bet I\u2019d roll over and accept it.\nThey bet I wouldn\u2019t do anything about it.\n\nBad bet.\n\n2. The Shift \u2013 Time to Get Legal\nCustomer service was a dead end. They\u2019d given their final answer and offered me a gift card to go away.\nSo I made a choice:\n\nNo more emails. No more calls. I\u2019m going legal.\n\nNot with a lawyer. Not with some class action that pays me in expired coupons.\nI wrote a legal demand letter\u2014the kind that makes a corporate office sweat.\n\nWhy? Because when you do that, you stop being a customer and start being a legal threat.\n\n3. Find the Right Legal Entity & Send Real Mail\n\ud83c\udfaf Find the Legal Entity Name\nDon\u2019t address your letter to \u201cAT&T.\u201d That\u2019s a brand. You need the actual legal name of the entity responsible for the service or contract.\n\nUse your state\u2019s Secretary of State business search or check their Terms & Conditions. You\u2019ll find names like:\n\nAT&T Mobility LLC\n\nAT&T Services, Inc.\n\nMatch the right name to the address listed for legal correspondence. If you\u2019re unsure, send copies to multiple entities. Certified mail is cheap. Court mistakes are not.\n\n\ud83d\udcec Send It Certified Mail\nUse USPS Certified Mail with Return Receipt. That way:\n\nYou have proof they got it.\n\nYou have a timestamp for your deadline.\n\nIt goes to someone in legal\u2014not some intern on live chat.\n\nEmails can be ignored. Certified letters get logged, escalated, and documented.\n\n4. How to Write the Demand Letter That Makes Them Sweat\nYour letter needs to be calm, cold, and clear\u2014not emotional. It should read like something a judge might see. Here\u2019s the structure:\n\nYour info: Name, address, account number.\n\nTheir info: Legal entity name & address.\n\nWhat happened: Keep it factual.\n\nThe harm: What they cost you.\n\nYour demand: Be specific.\n\nYour deadline: 10 business days max.\n\nWhat happens next: Mention small claims.\n\nYour signature.\n\n\ud83d\udd0d Legal Phrases to Include:\nImplied contract (offer made, you acted on it)\n\nDeceptive trade practices\n\nBreach of good faith\n\nTreble damages (yes, triple the amount in some cases)\n\nThis tells them:\n\u201cI know my rights. And I\u2019m ready to make this expensive.\u201d\n\n5. Why Companies Settle \u2013 Treble Damages, Bad PR, and the Small Claims Threat\nCorporations don\u2019t settle because they\u2019re nice. They settle because they know what\u2019s coming:\n\n\ud83d\udca3 Treble Damages\nIn many states, if they acted in bad faith or deceptively, you can sue for three times your actual loss\u2014plus court fees.\n\nSuddenly, a $500 issue becomes a $1,500+ nightmare.\n\n\ud83d\udc69\u200d\u2696\ufe0f Small Claims Court\nYou don\u2019t need a lawyer.\n\nIt\u2019s fast and cheap to file.\n\nJudges often side with consumers when the facts are clean.\n\nBig companies hate small claims because they can\u2019t overwhelm you with legal teams. And even if they win, they lose money just showing up.\n\n\ud83d\udcc9 Public Records & Bad PR\nIf it goes to court, it becomes public record.\nThey don\u2019t want that. They don\u2019t want precedent. They don\u2019t want people like you knowing this works.\n\n6. The Result \u2013 And How You Can Do It Too\nRoughly a week after they got the letter, I got a call from the one department you can\u2019t reach by accident:\n\nAT&T\u2019s Office of the President.\n\nSuddenly, the people who once ignored me were eager to fix everything. They reversed the charges, honored the original deal, and moved fast.\n\nWhy?\nBecause it was cheaper to pay me than to fight me.\nBecause the moment I went legal, the math changed.\n\n\ud83d\udcaa Here\u2019s How You Can Do It:\nKnow what you\u2019re owed\n\nFind the legal entity\n\nWrite a demand letter (cold, clear, confident)\n\nSend it via certified mail\n\nSet a deadline\n\nBe ready to file in small claims\n\n\ud83c\udfa4 Final Word\nYou don\u2019t need a lawyer.\nYou don\u2019t need to scream at a rep.\nYou don\u2019t need to take their scraps.\n\nYou just need a printer, a stamp, and a spine.\n\nThey bet on you staying quiet.\nProve them wrong.", "mediaType": "text\/markdown" }, "attachment": [ { "type": "Image", "url": "https:\/\/lemmy.world\/pictrs\/image\/013a6ee4-bb9b-4747-8ae5-fd725e23e95a.png", "name": null } ], "image": { "type": "Image", "url": "https:\/\/lemmy.world\/pictrs\/image\/3aeaefe1-e546-4603-8abc-ab478399e6e8.png" }, "sensitive": false, "published": "2025-07-30T00:11:15.415351Z", "language": { "identifier": "en", "name": "English" }, "audience": "https:\/\/lemmy.world\/c\/maliciouscompliance", "tag": [ { "href": "https:\/\/lemmy.world\/post\/33670956", "name": "#maliciouscompliance", "type": "Hashtag" } ] }, "cc": [ "https:\/\/lemmy.world\/c\/maliciouscompliance\/followers" ], "type": "Announce", "id": "https:\/\/lemmy.world\/activities\/announce\/page\/9046f012-db60-4273-a0e3-f1c8397085b7" }
Raw
{"@context":["https://join-lemmy.org/context.json","https://www.w3.org/ns/activitystreams"],"actor":"https://lemmy.world/c/maliciouscompliance","to":["https://www.w3.org/ns/activitystreams#Public"],"object":{"id":"https://lemmy.world/post/33670956","actor":"https://lemmy.world/u/Mamdani_Da_Savior","type":"Page","attributedTo":"https://lemmy.world/u/Mamdani_Da_Savior","to":["https://lemmy.world/c/maliciouscompliance","https://www.w3.org/ns/activitystreams#Public"],"name":"I Fought AT&T and Won — Here’s How You Can Too","cc":[],"content":"<p>This post has two goals:</p>\n<p>✅ Be a fun story about using the legal system to my benefit</p>\n<p>✅ Teach you how to do the same</p>\n<p>If you’ve ever been screwed by a giant corporation and thought, “There’s nothing I can do,” — this is for you. Spoiler alert: there is something you can do. And no, it doesn’t involve sitting on hold or begging a chatbot for mercy. It involves a printer, a stamp, and a little bit of legally sanctioned menace.</p>\n<ol>\n<li>The Setup – AT&T Screwed Me, So I Returned the Favor\nAT&T promised to pay off my old phone when I switched to their service. That was the deal. I followed their instructions to the letter. I dotted the i’s. I crossed the t’s. I even used their clown-tier upload portal to submit everything.</li>\n</ol>\n<p>Then the denial came.</p>\n<p>To their credit, they did give me an explanation—one of those deeply unsatisfying, legally airtight, morally hollow responses that boils down to:</p>\n<p>“Technically… you’re ineligible because of [some obscure clause or timing issue that wasn’t clearly communicated].”</p>\n<p>So yeah. They weren’t saying, “Oops, our bad.”\nThey were saying, “You’re right—but we worded it so we still win.”</p>\n<p>And then, just to really put a bow on the insult, they offered me a $100 gift card as a “gesture of goodwill.”</p>\n<p>Let’s be clear: that wasn’t goodwill. That was an attempt to buy my silence with pocket change. The second you accept that kind of partial offer, they can claim you agreed to a resolution—and that can tank any further complaint or legal action.</p>\n<p>I didn’t bite. I knew what I was owed, and it sure as hell wasn’t $100 and a wink.</p>\n<p>That’s when I realized:</p>\n<p>AT&T didn’t make a mistake. They made a bet.\nThey bet I’d roll over and accept it.\nThey bet I wouldn’t do anything about it.</p>\n<p>Bad bet.</p>\n<ol start=\"2\">\n<li>The Shift – Time to Get Legal\nCustomer service was a dead end. They’d given their final answer and offered me a gift card to go away.\nSo I made a choice:</li>\n</ol>\n<p>No more emails. No more calls. I’m going legal.</p>\n<p>Not with a lawyer. Not with some class action that pays me in expired coupons.\nI wrote a legal demand letter—the kind that makes a corporate office sweat.</p>\n<p>Why? Because when you do that, you stop being a customer and start being a legal threat.</p>\n<ol start=\"3\">\n<li>Find the Right Legal Entity & Send Real Mail\n🎯 Find the Legal Entity Name\nDon’t address your letter to “AT&T.” That’s a brand. You need the actual legal name of the entity responsible for the service or contract.</li>\n</ol>\n<p>Use your state’s Secretary of State business search or check their Terms & Conditions. You’ll find names like:</p>\n<p>AT&T Mobility LLC</p>\n<p>AT&T Services, Inc.</p>\n<p>Match the right name to the address listed for legal correspondence. If you’re unsure, send copies to multiple entities. Certified mail is cheap. Court mistakes are not.</p>\n<p>📬 Send It Certified Mail\nUse USPS Certified Mail with Return Receipt. That way:</p>\n<p>You have proof they got it.</p>\n<p>You have a timestamp for your deadline.</p>\n<p>It goes to someone in legal—not some intern on live chat.</p>\n<p>Emails can be ignored. Certified letters get logged, escalated, and documented.</p>\n<ol start=\"4\">\n<li>How to Write the Demand Letter That Makes Them Sweat\nYour letter needs to be calm, cold, and clear—not emotional. It should read like something a judge might see. Here’s the structure:</li>\n</ol>\n<p>Your info: Name, address, account number.</p>\n<p>Their info: Legal entity name & address.</p>\n<p>What happened: Keep it factual.</p>\n<p>The harm: What they cost you.</p>\n<p>Your demand: Be specific.</p>\n<p>Your deadline: 10 business days max.</p>\n<p>What happens next: Mention small claims.</p>\n<p>Your signature.</p>\n<p>🔍 Legal Phrases to Include:\nImplied contract (offer made, you acted on it)</p>\n<p>Deceptive trade practices</p>\n<p>Breach of good faith</p>\n<p>Treble damages (yes, triple the amount in some cases)</p>\n<p>This tells them:\n“I know my rights. And I’m ready to make this expensive.”</p>\n<ol start=\"5\">\n<li>Why Companies Settle – Treble Damages, Bad PR, and the Small Claims Threat\nCorporations don’t settle because they’re nice. They settle because they know what’s coming:</li>\n</ol>\n<p>💣 Treble Damages\nIn many states, if they acted in bad faith or deceptively, you can sue for three times your actual loss—plus court fees.</p>\n<p>Suddenly, a $500 issue becomes a $1,500+ nightmare.</p>\n<p>👩⚖️ Small Claims Court\nYou don’t need a lawyer.</p>\n<p>It’s fast and cheap to file.</p>\n<p>Judges often side with consumers when the facts are clean.</p>\n<p>Big companies hate small claims because they can’t overwhelm you with legal teams. And even if they win, they lose money just showing up.</p>\n<p>📉 Public Records & Bad PR\nIf it goes to court, it becomes public record.\nThey don’t want that. They don’t want precedent. They don’t want people like you knowing this works.</p>\n<ol start=\"6\">\n<li>The Result – And How You Can Do It Too\nRoughly a week after they got the letter, I got a call from the one department you can’t reach by accident:</li>\n</ol>\n<p>AT&T’s Office of the President.</p>\n<p>Suddenly, the people who once ignored me were eager to fix everything. They reversed the charges, honored the original deal, and moved fast.</p>\n<p>Why?\nBecause it was cheaper to pay me than to fight me.\nBecause the moment I went legal, the math changed.</p>\n<p>💪 Here’s How You Can Do It:\nKnow what you’re owed</p>\n<p>Find the legal entity</p>\n<p>Write a demand letter (cold, clear, confident)</p>\n<p>Send it via certified mail</p>\n<p>Set a deadline</p>\n<p>Be ready to file in small claims</p>\n<p>🎤 Final Word\nYou don’t need a lawyer.\nYou don’t need to scream at a rep.\nYou don’t need to take their scraps.</p>\n<p>You just need a printer, a stamp, and a spine.</p>\n<p>They bet on you staying quiet.\nProve them wrong.</p>\n","mediaType":"text/html","source":{"content":"This post has two goals:\n\n✅ Be a fun story about using the legal system to my benefit\n\n✅ Teach you how to do the same\n\nIf you’ve ever been screwed by a giant corporation and thought, “There’s nothing I can do,” — this is for you. Spoiler alert: there is something you can do. And no, it doesn’t involve sitting on hold or begging a chatbot for mercy. It involves a printer, a stamp, and a little bit of legally sanctioned menace.\n\n1. The Setup – AT&T Screwed Me, So I Returned the Favor\nAT&T promised to pay off my old phone when I switched to their service. That was the deal. I followed their instructions to the letter. I dotted the i’s. I crossed the t’s. I even used their clown-tier upload portal to submit everything.\n\nThen the denial came.\n\nTo their credit, they did give me an explanation—one of those deeply unsatisfying, legally airtight, morally hollow responses that boils down to:\n\n“Technically… you're ineligible because of [some obscure clause or timing issue that wasn’t clearly communicated].”\n\nSo yeah. They weren’t saying, “Oops, our bad.”\nThey were saying, “You're right—but we worded it so we still win.”\n\nAnd then, just to really put a bow on the insult, they offered me a $100 gift card as a “gesture of goodwill.”\n\nLet’s be clear: that wasn’t goodwill. That was an attempt to buy my silence with pocket change. The second you accept that kind of partial offer, they can claim you agreed to a resolution—and that can tank any further complaint or legal action.\n\nI didn’t bite. I knew what I was owed, and it sure as hell wasn’t $100 and a wink.\n\nThat’s when I realized:\n\nAT&T didn’t make a mistake. They made a bet.\nThey bet I’d roll over and accept it.\nThey bet I wouldn’t do anything about it.\n\nBad bet.\n\n2. The Shift – Time to Get Legal\nCustomer service was a dead end. They’d given their final answer and offered me a gift card to go away.\nSo I made a choice:\n\nNo more emails. No more calls. I’m going legal.\n\nNot with a lawyer. Not with some class action that pays me in expired coupons.\nI wrote a legal demand letter—the kind that makes a corporate office sweat.\n\nWhy? Because when you do that, you stop being a customer and start being a legal threat.\n\n3. Find the Right Legal Entity & Send Real Mail\n🎯 Find the Legal Entity Name\nDon’t address your letter to “AT&T.” That’s a brand. You need the actual legal name of the entity responsible for the service or contract.\n\nUse your state’s Secretary of State business search or check their Terms & Conditions. You’ll find names like:\n\nAT&T Mobility LLC\n\nAT&T Services, Inc.\n\nMatch the right name to the address listed for legal correspondence. If you’re unsure, send copies to multiple entities. Certified mail is cheap. Court mistakes are not.\n\n📬 Send It Certified Mail\nUse USPS Certified Mail with Return Receipt. That way:\n\nYou have proof they got it.\n\nYou have a timestamp for your deadline.\n\nIt goes to someone in legal—not some intern on live chat.\n\nEmails can be ignored. Certified letters get logged, escalated, and documented.\n\n4. How to Write the Demand Letter That Makes Them Sweat\nYour letter needs to be calm, cold, and clear—not emotional. It should read like something a judge might see. Here’s the structure:\n\nYour info: Name, address, account number.\n\nTheir info: Legal entity name & address.\n\nWhat happened: Keep it factual.\n\nThe harm: What they cost you.\n\nYour demand: Be specific.\n\nYour deadline: 10 business days max.\n\nWhat happens next: Mention small claims.\n\nYour signature.\n\n🔍 Legal Phrases to Include:\nImplied contract (offer made, you acted on it)\n\nDeceptive trade practices\n\nBreach of good faith\n\nTreble damages (yes, triple the amount in some cases)\n\nThis tells them:\n“I know my rights. And I’m ready to make this expensive.”\n\n5. Why Companies Settle – Treble Damages, Bad PR, and the Small Claims Threat\nCorporations don’t settle because they’re nice. They settle because they know what’s coming:\n\n💣 Treble Damages\nIn many states, if they acted in bad faith or deceptively, you can sue for three times your actual loss—plus court fees.\n\nSuddenly, a $500 issue becomes a $1,500+ nightmare.\n\n👩⚖️ Small Claims Court\nYou don’t need a lawyer.\n\nIt’s fast and cheap to file.\n\nJudges often side with consumers when the facts are clean.\n\nBig companies hate small claims because they can’t overwhelm you with legal teams. And even if they win, they lose money just showing up.\n\n📉 Public Records & Bad PR\nIf it goes to court, it becomes public record.\nThey don’t want that. They don’t want precedent. They don’t want people like you knowing this works.\n\n6. The Result – And How You Can Do It Too\nRoughly a week after they got the letter, I got a call from the one department you can’t reach by accident:\n\nAT&T’s Office of the President.\n\nSuddenly, the people who once ignored me were eager to fix everything. They reversed the charges, honored the original deal, and moved fast.\n\nWhy?\nBecause it was cheaper to pay me than to fight me.\nBecause the moment I went legal, the math changed.\n\n💪 Here’s How You Can Do It:\nKnow what you’re owed\n\nFind the legal entity\n\nWrite a demand letter (cold, clear, confident)\n\nSend it via certified mail\n\nSet a deadline\n\nBe ready to file in small claims\n\n🎤 Final Word\nYou don’t need a lawyer.\nYou don’t need to scream at a rep.\nYou don’t need to take their scraps.\n\nYou just need a printer, a stamp, and a spine.\n\nThey bet on you staying quiet.\nProve them wrong.","mediaType":"text/markdown"},"attachment":[{"type":"Image","url":"https://lemmy.world/pictrs/image/013a6ee4-bb9b-4747-8ae5-fd725e23e95a.png","name":null}],"image":{"type":"Image","url":"https://lemmy.world/pictrs/image/3aeaefe1-e546-4603-8abc-ab478399e6e8.png"},"sensitive":false,"published":"2025-07-30T00:11:15.415351Z","language":{"identifier":"en","name":"English"},"audience":"https://lemmy.world/c/maliciouscompliance","tag":[{"href":"https://lemmy.world/post/33670956","name":"#maliciouscompliance","type":"Hashtag"}]},"cc":["https://lemmy.world/c/maliciouscompliance/followers"],"type":"Announce","id":"https://lemmy.world/activities/announce/page/9046f012-db60-4273-a0e3-f1c8397085b7"}
Response
Response Headers
Header | Value |
---|---|
cache-control | "no-cache, private" |
content-type | "application/activity+json" |
date | "Wed, 30 Jul 2025 00:11:28 GMT" |
x-debug-token | "2c431c" |
Cookies
Request Cookies
No request cookies
Response Cookies
No response cookies
Session 1
Session Metadata
No session metadata
Session Attributes
No session attributes
Session Usage
1
Usages
Stateless check enabled
Usage |
---|
Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage:41
[ [ "file" => "/var/www/kbin/kbin/vendor/symfony/security-core/Authentication/Token/Storage/UsageTrackingTokenStorage.php" "line" => 41 "function" => "getMetadataBag" "class" => "Symfony\Component\HttpFoundation\Session\Session" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/security-http/Authenticator/RememberMeAuthenticator.php" "line" => 69 "function" => "getToken" "class" => "Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/security-http/Authentication/AuthenticatorManager.php" "line" => 111 "function" => "supports" "class" => "Symfony\Component\Security\Http\Authenticator\RememberMeAuthenticator" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/security-http/Firewall/AuthenticatorManagerListener.php" "line" => 34 "function" => "supports" "class" => "Symfony\Component\Security\Http\Authentication\AuthenticatorManager" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticatorManagerListener.php" "line" => 40 "function" => "supports" "class" => "Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/security-bundle/Debug/WrappedLazyListener.php" "line" => 38 "function" => "supports" "class" => "Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticatorManagerListener" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/security-http/Firewall/AbstractListener.php" "line" => 25 "function" => "supports" "class" => "Symfony\Bundle\SecurityBundle\Debug\WrappedLazyListener" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/security-bundle/Security/LazyFirewallContext.php" "line" => 60 "function" => "__invoke" "class" => "Symfony\Component\Security\Http\Firewall\AbstractListener" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php" "line" => 80 "function" => "__invoke" "class" => "Symfony\Bundle\SecurityBundle\Security\LazyFirewallContext" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/security-http/Firewall.php" "line" => 95 "function" => "callListeners" "class" => "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/event-dispatcher/Debug/WrappedListener.php" "line" => 116 "function" => "onKernelRequest" "class" => "Symfony\Component\Security\Http\Firewall" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/event-dispatcher/EventDispatcher.php" "line" => 220 "function" => "__invoke" "class" => "Symfony\Component\EventDispatcher\Debug\WrappedListener" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/event-dispatcher/EventDispatcher.php" "line" => 56 "function" => "callListeners" "class" => "Symfony\Component\EventDispatcher\EventDispatcher" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php" "line" => 139 "function" => "dispatch" "class" => "Symfony\Component\EventDispatcher\EventDispatcher" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/http-kernel/HttpKernel.php" "line" => 157 "function" => "dispatch" "class" => "Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/http-kernel/HttpKernel.php" "line" => 76 "function" => "handleRaw" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/http-kernel/Kernel.php" "line" => 197 "function" => "handle" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php" "line" => 35 "function" => "handle" "class" => "Symfony\Component\HttpKernel\Kernel" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/vendor/autoload_runtime.php" "line" => 29 "function" => "run" "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner" "type" => "->" ] [ "file" => "/var/www/kbin/kbin/public/index.php" "line" => 7 "args" => [ "/var/www/kbin/kbin/vendor/autoload_runtime.php" ] "function" => "require_once" ] ] |
Flashes
Flashes
No flash messages were created.
Server Parameters
Server Parameters
Defined in .env
Key | Value |
---|---|
APP_ENV | "dev" |
APP_SECRET | "82ce1339a6c267e28d1f1dcb37a7454c" |
CORS_ALLOW_ORIGIN | "^https?://(kbin.localhost|127\.0\.0\.1)(:[0-9]+)?$" |
DATABASE_URL | "postgresql://kbin:917eaa3d703f19d123@127.0.0.1:5433/kbin?serverVersion=15&charset=utf8" |
HCAPTCHA_SECRET | "" |
HCAPTCHA_SITE_KEY | "" |
JWT_PASSPHRASE | "" |
JWT_PUBLIC_KEY | "%kernel.project_dir%/config/jwt/public.pem" |
JWT_SECRET_KEY | "%kernel.project_dir%/config/jwt/private.pem" |
KBIN_ADMIN_ONLY_OAUTH_CLIENTS | "false" |
KBIN_API_ITEMS_PER_PAGE | "25" |
KBIN_CAPTCHA_ENABLED | "false" |
KBIN_CONTACT_EMAIL | "kbin@j0h.nl" |
KBIN_DEFAULT_LANG | "en" |
KBIN_DOMAIN | "kbin.spritesserver.nl" |
KBIN_FEDERATION_ENABLED | "true" |
KBIN_FEDERATION_PAGE_ENABLED | "true" |
KBIN_HEADER_LOGO | "false" |
KBIN_JS_ENABLED | "true" |
KBIN_META_DESCRIPTION | "a private kbin install" |
KBIN_META_KEYWORDS | "kbin, content agregator, open source, fediverse" |
KBIN_META_TITLE | "Sprites kbin instance" |
KBIN_REGISTRATIONS_ENABLED | "true" |
KBIN_SENDER_EMAIL | "kbin@j0h.nl" |
KBIN_STORAGE_URL | "https://kbin.spritesserver.nl/media/" |
KBIN_TITLE | "/kbin" |
LOCK_DSN | "flock" |
MAILER_DSN | "smtp://spritesmods.com" |
MERCURE_JWT_SECRET | "231e9a1277f5585d52aa0b1e34c0f984xxxx" |
MERCURE_PUBLIC_URL | "https://kbin.spritesserver.nl/.well-known/mercure" |
MERCURE_URL | "http://localhost:3000/.well-known/mercure" |
MESSENGER_TRANSPORT_DSN | "doctrine://default" |
OAUTH_FACEBOOK_ID | "" |
OAUTH_FACEBOOK_SECRET | "" |
OAUTH_GITHUB_ID | "" |
OAUTH_GITHUB_SECRET | "" |
OAUTH_GOOGLE_ID | "" |
OAUTH_GOOGLE_SECRET | "" |
POSTGRES_DB | "kbin" |
POSTGRES_PASSWORD | "917eaa3d703f19d123" |
POSTGRES_USER | "kbin" |
POSTGRES_VERSION | "15" |
REDIS_DNS | "redis://uSJBDOQfuOMgt8kyGhpUzViTnQSEdEJTsOIsYSsg3v40v@localhost" |
REDIS_PASSWORD | "uSJBDOQfuOMgt8kyGhpUzViTnQSEdEJTsOIsYSsg3v40v" |
S3_BUCKET | "media.karab.in" |
S3_KEY | "" |
S3_REGION | "eu-central-1" |
S3_SECRET | "" |
S3_VERSION | "latest" |
Defined as regular env variables
Key | Value |
---|---|
APP_DEBUG | "1" |
CONTENT_LENGTH | "13218" |
CONTENT_TYPE | "application/activity+json" |
CONTEXT_DOCUMENT_ROOT | "/var/www/kbin/kbin/public" |
CONTEXT_PREFIX | "" |
DOCUMENT_ROOT | "/var/www/kbin/kbin/public" |
GATEWAY_INTERFACE | "CGI/1.1" |
HTTPS | "on" |
HTTP_ACCEPT | "*/*" |
HTTP_ACCEPT_ENCODING | "gzip" |
HTTP_DATE | "Wed, 30 Jul 2025 00:11:26 GMT" |
HTTP_DIGEST | "SHA-256=YCNpMFYNPLo+GlnxD1aUVmupUaV86MjcOGV9SKIJWHM=" |
HTTP_HOST | "kbin.spritesserver.nl" |
HTTP_SIGNATURE | "keyId="https://lemmy.world/c/maliciouscompliance#main-key",algorithm="hs2019",headers="(request-target) content-type date digest host",signature="KcrXaS+LcuV1ID5V0aSkxgKwwi7evPZBxhLWw4Xfi3HjpD6+Pa4NWcfbExnd/AYA2CozaN2ev26/r61q+s3Dm4riQcYqgWTDk+q4svbGoG3VmukpFyrIH0dFKw/R51HZVxXJ0oNdkaJ0OatOTZsK7ckpmju2+JGGDWyXAsIRX31NL2AQPTxC3PsMd73xvibSTQR3LfYwb7GR524eBteXBjJs+DSag8AJKyFOYpwQQLRvWgGeJvcW/N4TuI5jxqNB+23ZTeCdyblDuAy1y7cRYxnya2TsjQc2wyTdCV8a2CbhD1/K7EmJ8clw8YViodpK0FZoU0i04k6Prbls8YBaDA=="" |
HTTP_TRACEPARENT | "00-1d17a7755b520af92be8c02f6a577a78-7b7ea0e50349a874-01" |
HTTP_TRACESTATE | "" |
HTTP_USER_AGENT | "Lemmy/0.19.12-4-gd8445881a; +https://lemmy.world" |
PATH | "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" |
PHP_SELF | "/index.php" |
QUERY_STRING | "" |
REDIRECT_HTTPS | "on" |
REDIRECT_SSL_CIPHER | "TLS_AES_256_GCM_SHA384" |
REDIRECT_SSL_CIPHER_ALGKEYSIZE | "256" |
REDIRECT_SSL_CIPHER_EXPORT | "false" |
REDIRECT_SSL_CIPHER_USEKEYSIZE | "256" |
REDIRECT_SSL_CLIENT_VERIFY | "NONE" |
REDIRECT_SSL_COMPRESS_METHOD | "NULL" |
REDIRECT_SSL_PROTOCOL | "TLSv1.3" |
REDIRECT_SSL_SECURE_RENEG | "true" |
REDIRECT_SSL_SERVER_A_KEY | "rsaEncryption" |
REDIRECT_SSL_SERVER_A_SIG | "sha256WithRSAEncryption" |
REDIRECT_SSL_SERVER_I_DN | "CN=R11,O=Let's Encrypt,C=US" |
REDIRECT_SSL_SERVER_I_DN_C | "US" |
REDIRECT_SSL_SERVER_I_DN_CN | "R11" |
REDIRECT_SSL_SERVER_I_DN_O | "Let's Encrypt" |
REDIRECT_SSL_SERVER_M_SERIAL | "05810C9E80363EEC654D4CF67BDD9E360F0C" |
REDIRECT_SSL_SERVER_M_VERSION | "3" |
REDIRECT_SSL_SERVER_SAN_DNS_0 | "kbin.spritesserver.nl" |
REDIRECT_SSL_SERVER_S_DN | "CN=kbin.spritesserver.nl" |
REDIRECT_SSL_SERVER_S_DN_CN | "kbin.spritesserver.nl" |
REDIRECT_SSL_SERVER_V_END | "Oct 26 21:01:51 2025 GMT" |
REDIRECT_SSL_SERVER_V_START | "Jul 28 21:01:52 2025 GMT" |
REDIRECT_SSL_SESSION_ID | "8e5cb48cdbbdd062ee3d44e52ac8612f8c6b092d41d80b4e8b469c0ab2dce25e" |
REDIRECT_SSL_SESSION_RESUMED | "Resumed" |
REDIRECT_SSL_TLS_SNI | "kbin.spritesserver.nl" |
REDIRECT_SSL_VERSION_INTERFACE | "mod_ssl/2.4.62" |
REDIRECT_SSL_VERSION_LIBRARY | "OpenSSL/3.0.16" |
REDIRECT_STATUS | "200" |
REDIRECT_URL | "/f/inbox" |
REMOTE_ADDR | "135.181.143.221" |
REMOTE_PORT | "34964" |
REQUEST_METHOD | "POST" |
REQUEST_SCHEME | "https" |
REQUEST_TIME | 1753834286 |
REQUEST_TIME_FLOAT | 1753834286.554 |
REQUEST_URI | "/f/inbox" |
SCRIPT_FILENAME | "/var/www/kbin/kbin/public/index.php" |
SCRIPT_NAME | "/index.php" |
SERVER_ADDR | "5.9.62.165" |
SERVER_ADMIN | "webmaster@spritesmods.com" |
SERVER_NAME | "kbin.spritesserver.nl" |
SERVER_PORT | "443" |
SERVER_PROTOCOL | "HTTP/1.1" |
SERVER_SIGNATURE | "" |
SERVER_SOFTWARE | "Apache" |
SSL_CIPHER | "TLS_AES_256_GCM_SHA384" |
SSL_CIPHER_ALGKEYSIZE | "256" |
SSL_CIPHER_EXPORT | "false" |
SSL_CIPHER_USEKEYSIZE | "256" |
SSL_CLIENT_VERIFY | "NONE" |
SSL_COMPRESS_METHOD | "NULL" |
SSL_PROTOCOL | "TLSv1.3" |
SSL_SECURE_RENEG | "true" |
SSL_SERVER_A_KEY | "rsaEncryption" |
SSL_SERVER_A_SIG | "sha256WithRSAEncryption" |
SSL_SERVER_I_DN | "CN=R11,O=Let's Encrypt,C=US" |
SSL_SERVER_I_DN_C | "US" |
SSL_SERVER_I_DN_CN | "R11" |
SSL_SERVER_I_DN_O | "Let's Encrypt" |
SSL_SERVER_M_SERIAL | "05810C9E80363EEC654D4CF67BDD9E360F0C" |
SSL_SERVER_M_VERSION | "3" |
SSL_SERVER_SAN_DNS_0 | "kbin.spritesserver.nl" |
SSL_SERVER_S_DN | "CN=kbin.spritesserver.nl" |
SSL_SERVER_S_DN_CN | "kbin.spritesserver.nl" |
SSL_SERVER_V_END | "Oct 26 21:01:51 2025 GMT" |
SSL_SERVER_V_START | "Jul 28 21:01:52 2025 GMT" |
SSL_SESSION_ID | "8e5cb48cdbbdd062ee3d44e52ac8612f8c6b092d41d80b4e8b469c0ab2dce25e" |
SSL_SESSION_RESUMED | "Resumed" |
SSL_TLS_SNI | "kbin.spritesserver.nl" |
SSL_VERSION_INTERFACE | "mod_ssl/2.4.62" |
SSL_VERSION_LIBRARY | "OpenSSL/3.0.16" |
SYMFONY_DOTENV_VARS | "KBIN_DOMAIN,KBIN_TITLE,KBIN_DEFAULT_LANG,KBIN_FEDERATION_ENABLED,KBIN_CONTACT_EMAIL,KBIN_SENDER_EMAIL,KBIN_JS_ENABLED,KBIN_REGISTRATIONS_ENABLED,KBIN_API_ITEMS_PER_PAGE,KBIN_STORAGE_URL,KBIN_META_TITLE,KBIN_META_DESCRIPTION,KBIN_META_KEYWORDS,KBIN_HEADER_LOGO,KBIN_CAPTCHA_ENABLED,KBIN_FEDERATION_PAGE_ENABLED,REDIS_PASSWORD,REDIS_DNS,S3_KEY,S3_SECRET,S3_BUCKET,S3_REGION,S3_VERSION,OAUTH_FACEBOOK_ID,OAUTH_FACEBOOK_SECRET,OAUTH_GOOGLE_ID,OAUTH_GOOGLE_SECRET,OAUTH_GITHUB_ID,OAUTH_GITHUB_SECRET,KBIN_ADMIN_ONLY_OAUTH_CLIENTS,APP_ENV,APP_SECRET,POSTGRES_DB,POSTGRES_USER,POSTGRES_PASSWORD,POSTGRES_VERSION,DATABASE_URL,MESSENGER_TRANSPORT_DSN,MAILER_DSN,MERCURE_URL,MERCURE_PUBLIC_URL,MERCURE_JWT_SECRET,CORS_ALLOW_ORIGIN,LOCK_DSN,JWT_SECRET_KEY,JWT_PUBLIC_KEY,JWT_PASSPHRASE,HCAPTCHA_SITE_KEY,HCAPTCHA_SECRET" |