TNS-18Required US law
Remove intimate images shared without consent within 48 hours
Publish a removal process for intimate images shared without consent, in plain words and linked from every report form. Remove the item in a valid request, and every known identical copy, within 48 hours.
Region
United States (US). The duty comes from the law there. The rule applies only when the project serves people there, and its Applies when also holds.
How to do it
The US TAKE IT DOWN Act sets this duty for covered platforms since 19 May 2026, and the FTC enforces it. A covered platform serves the public and mainly hosts content its users make. Email and internet access providers are left out. The law covers photos and videos, including ones altered or made by AI. A valid request is in writing and signed, on paper or electronically, by the person shown or someone acting for them. It identifies the item and where to find it, states in good faith that it was shared without consent, and gives contact details. Open each request as a severity 1 case in Work the queue in order of harm and deadline, with the deadline set from receipt. Find copies by the file's hash and block new uploads that match it. Report child sexual abuse material and keep the evidence does the same for known abuse material. Give the person a case number, as the FTC advises.
Examples
JavaScript example
const TAKE_DOWN_HOURS = 48;
const HOUR_MS = 60 * 60 * 1000;
export async function openIntimateImageCase(request) {
const item = await items.findByUrl(request.itemUrl);
const copies = await items.findBySha256(item.sha256);
await uploadBlocklist.add(item.sha256);
return cases.create({
reason: 'intimate-image', severity: 1, items: [item, ...copies],
dueAt: new Date(request.receivedAt.getTime() + TAKE_DOWN_HOURS * HOUR_MS),
});
}
Python example
from datetime import timedelta
TAKE_DOWN_WINDOW = timedelta(hours=48)
def open_intimate_image_case(request):
item = items.find_by_url(request.item_url)
copies = items.find_by_sha256(item.sha256)
upload_blocklist.add(item.sha256)
return cases.create(
reason="intimate-image", severity=1, items=[item, *copies],
due_at=request.received_at + TAKE_DOWN_WINDOW,
)
How to check
A test sends a valid request for a test image that has two stored identical copies. On a fake clock, all three are hidden before 48 hours pass, and the requester gets a case number. A new upload of the same file is refused. Every report form links to the removal notice.
Sources
Related rules
- TNS-4 Work the queue in order of harm and deadline in Trust and safety
- TNS-7 Report child sexual abuse material and keep the evidence in Trust and safety
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/trust-and-safety/decisions-and-appeals/intimate-image-takedown">Agent Wranglers trust and safety playbook</a>. In code you write, add a comment next to it with the same link.