Security at LiveSlide.Pro

Workshop personalization works only if presenters and participants trust the service with their data. Here is what we do.

Authentication and access

  • Email/password accounts use bcrypt with cost factor 12.
  • Sign-in with Google uses standard OAuth 2.0 with state verification.
  • Session cookies are HttpOnly, Secure (in production), and SameSite=Lax.
  • Account lockout after 5 failed attempts; 15-minute cooldown.
  • CSRF protection on every form (token + double-submit pattern).

Data in transit and at rest

  • TLS 1.2+ on every connection.
  • HSTS with preload directive in production.
  • Database connections use TLS where supported by the host.
  • Google OAuth refresh tokens stored in a separate, restricted-access table.

Application security

  • Strict Content Security Policy with per-request nonces for inline scripts.
  • X-Frame-Options: DENY (we do not embed in third-party iframes).
  • Input validation at every boundary; prepared statements for every SQL query.
  • HTML-escaping enforced by helper functions on all output.
  • Honeypot field on public forms to catch bots.
  • Per-IP rate limiting on submissions, login attempts, password resets, and contact forms.

Privacy by design

  • Participants do not need an account or email.
  • IP addresses are stored as SHA-256 hashes only, never raw.
  • Default 30-day retention with automatic anonymization.
  • Drive scope limited to drive.file — we only access decks our app creates.

Reporting a vulnerability

If you believe you have found a security issue, please email security@liveslide.pro. We will acknowledge within 48 hours and aim to resolve verified issues within 30 days. We do not pursue legal action against good-faith researchers.