Skip to content

Conversation

@dergigi
Copy link
Member

@dergigi dergigi commented Jan 13, 2026

Add basic spam prevention to grant application forms (/apply/grant and /apply/lts). Submissions are silently rejected if a hidden honeypot field is filled (bots tend to fill all fields) or if the form is submitted in under 10 seconds (bots submit instantly).

  • Add isSpamSubmission() helper in utils/spam-helpers.ts
  • Add server-side spam check in /api/sendgrid.ts with silent 200 OK rejection
  • Add honeypot field and formLoadedAt timestamp to both application forms

Add isSpamSubmission helper function that checks for:
- Honeypot field being filled (bots fill hidden fields)
- Form submissions under 10 seconds (bots submit instantly)
Silently reject submissions that fail spam detection checks.
Returns 200 OK to prevent bots from knowing they were blocked.
Add honeypot field and form load timestamp for spam detection.
Add honeypot field and form load timestamp for spam detection.
@vercel
Copy link

vercel bot commented Jan 13, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
os-website Ready Ready Preview, Comment Jan 13, 2026 2:33pm

@dergigi
Copy link
Member Author

dergigi commented Jan 13, 2026

Same as #552 but simpler.

I'll go ahead and merge this & see if it solves the current issue. If it does not we'll have to think of something more sophisticated.

Thank you for taking initiative on this @BoltTouring! 🙏🧡

Silently reject submissions that fail spam detection checks.
Returns 200 OK to prevent bots from knowing they were blocked.
@dergigi dergigi merged commit 6b92d5f into master Jan 13, 2026
3 checks passed
@dergigi dergigi deleted the naive-spam-prevention branch January 13, 2026 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants