Security & Privacy

Understanding how Besto protects voter privacy while giving campaign owners the tools they need to run successful campaigns.

Data Access Model

Public Voters

  • Anonymous participation with email verification for integrity.
  • View published campaigns
  • Submit votes (1 per day)
  • Nominate businesses
  • Cannot see other voters

Campaign Owners

  • Manage their campaigns with appropriate access controls.
  • View their campaign data
  • See voter info (their campaigns only)
  • Manage nominations
  • Cannot access other campaigns

Businesses

  • Manage their own business profiles securely.
  • Edit their own profile
  • View their purchases
  • Claim campaign listings
  • Cannot see other businesses

Voter Privacy Protection

Email Hashing

  • Voter emails are stored as one-way cryptographic hashes. This allows us to verify returning voters without storing their actual email addresses in vote records.

Campaign Isolation

  • Campaign owners can only see voters who participated in their specific campaigns. They cannot access voter data from other campaigns on the platform.

Token Security

  • Email verification tokens are only accessible during the verification process. Campaign owners can only see that a voter has been verified, not the verification tokens themselves.

Limited Data Exposure

  • Public campaign views exclude sensitive information like invite codes, owner details, and internal configuration. Only published campaign content is visible.

What Campaign Owners Can Access

Voter Information

Their Campaigns Only

Can Access

  • Voter email addresses (for their campaigns)
  • Voter full names (if provided)
  • Which businesses each voter selected
  • Vote timestamps and dates
  • Verified email status

Cannot Access

  • Voters from other campaigns
  • Email verification tokens
  • Pending verification requests
  • Platform-wide voter data

Nomination Information

Their Campaigns Only

Can Access

  • Nominated business names and addresses
  • Submitter email addresses
  • Nomination status (pending/approved/rejected)
  • Submission dates

Cannot Access

  • Nominations from other campaigns
  • Platform-wide nomination data

Campaign Statistics

Their Campaigns Only

Can Access

  • Total vote counts per business
  • Daily voting trends
  • Category-level statistics
  • Unique voter counts
  • Milestone notifications

Cannot Access

  • Statistics from other campaigns
  • Platform-wide analytics
  • Competitor campaign data

Technical Security Measures

Row-Level Security (RLS)

  • Every database table is protected by Row-Level Security policies that enforce access controls at the database level. This ensures data isolation even if application-level bugs occur.

Secure Authentication

  • User authentication is handled through industry-standard JWT tokens with secure session management. Admin roles are stored in a separate, protected table to prevent privilege escalation.

Vote Integrity

  • Daily voting limits are enforced through email verification and hash-based tracking. This prevents ballot stuffing while maintaining voter anonymity in public vote displays.

File Storage Security

  • Campaign assets are stored in campaign-specific folders with access controls ensuring only campaign owners and admins can modify files. Public assets (logos, images) are readable but not writable by the public.

Rate Limiting

  • Database-level rate limiting prevents abuse by limiting requests per user: 30 votes per 5 minutes, 20 nominations per 5 minutes, and 10 email verification requests per 5 minutes. This protects against automated attacks and ensures fair participation.

Questions About Security?

If you have questions about how we protect your data or need to report a security concern, please contact us.

Contact Us