We did everything to avoid using CAPTCHA because spammers on our platform could defeat CAPTCHA anyway. Oftentimes, they're real, actual humans.
Hidden inputs, honeypots, etc. None of them worked long-term.
Our solution: focus on the content.
All content now runs through the following filters, and takes care of 99.9% of spam:
1) Auto-approve any and all content immediately, unless:
a) The content contains any HTML (url included). If it does, send it to a moderation queue.
a1) If the submitter had submitted content previously and gotten approved, auto-approve their content, even if it contains HTML.
Hidden inputs, honeypots, etc. None of them worked long-term.
Our solution: focus on the content.
All content now runs through the following filters, and takes care of 99.9% of spam: 1) Auto-approve any and all content immediately, unless: a) The content contains any HTML (url included). If it does, send it to a moderation queue. a1) If the submitter had submitted content previously and gotten approved, auto-approve their content, even if it contains HTML.