Request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
uploadId | UUID | Yes | The upload to vote on |
vote | string | Yes | upvote or downvote |
clientFingerprint | string | Yes | Browser fingerprint hash |
Response
Fingerprinting
Anonymous voting uses multiple signals to identify unique visitors:- Client-provided fingerprint
- IP address (hashed)
- User agent
- Request headers
IP addresses are hashed and never stored in plain text.
Vote Mapping
| Anonymous Vote | Equivalent To |
|---|---|
upvote | fucks |
downvote | does_not_fuck |
Rate Limiting
Anonymous votes have stricter rate limits than authenticated votes to prevent abuse.Best Practices
Use a fingerprinting library
Use a fingerprinting library
Libraries like FingerprintJS provide consistent, reliable fingerprints.
Handle 'already voted' gracefully
Handle 'already voted' gracefully
Check the
alreadyVoted field to inform users if they’ve already voted.Encourage account creation
Encourage account creation
Authenticated votes are more trusted and less restricted.