Security and Privacy Whitepaper
Product: Opinion Owl – Slack Polls & Surveys
Date: April 30, 2025
Contact: contact@opinionowl.com
1. Overview
Opinion Owl is a Slack extension for creating polls and surveys. We are committed to maintaining strong data security and privacy practices while keeping our architecture lean and efficient.
2. Data Collected
Data Type |
Description |
Purpose |
Poll Text & Options |
The question and response options. |
Used to display and track polls. |
Poll IDs |
Unique IDs for polls. |
Internal linking and vote management. |
(Optional) Slack User IDs |
Only if needed for vote tracking. |
Prevent double voting. |
Encrypted Slack Bot Token |
Stored securely. |
Required for Slack API interaction. |
We do not store any sensitive personal information, private messages, or financial data.
3. Data Storage
Database: Supabase PostgreSQL
- Stores poll metadata, responses, and encrypted credentials.
- Data at rest is encrypted using industry standards.
Encrypted Tokens:
- Slack bot tokens are encrypted client-side using AES-256-GCM.
- Auth tag and IV are stored separately with the ciphertext.
- Decryption occurs only at runtime on secure backends.
4. Infrastructure Security
- Hosted on Google Cloud Run, behind HTTPS and IAM-controlled access.
- All secrets (e.g., encryption keys) are stored in Google Secret Manager, not in environment variables or source code.
- Role-based access is enforced using Google Cloud IAM.
- Resources are isolated to limit blast radius.
5. Encryption Practices
- Bot tokens are encrypted using AES-256-GCM, a secure and authenticated encryption algorithm.
- A unique IV (nonce) is used for every encryption operation.
- Tokens are decrypted only on demand by secure backend services on Cloud Run.
- The encryption key is retrieved at runtime from Google Secret Manager.
6. Authentication and Authorization
- App installs via Slack OAuth 2.0; only minimal scopes are requested.
- We do not manage user credentials. Authentication is fully delegated to Slack.
- API endpoints are secured with token-based access controls and scoped permissions.
7. Data Retention and Deletion
- Poll data is retained until deleted by the workspace admin or user.
- All workspace-related data (including tokens) can be deleted upon request.
- Upon app uninstallation, associated data can be purged upon request.
8. Monitoring and Logging
- Access logs, error tracking, and performance monitoring are enabled through Google Cloud Logging and Supabase analytics.
- No user content (poll text, tokens) is logged at any time.
9. Incident Response
- Security incidents are investigated immediately.
- Users will be notified within 72 hours in the event of any confirmed data breach.
- We maintain an internal incident response checklist and post-mortem process.
10. Compliance & Best Practices
- Our practices align with principles of GDPR, CCPA, and Slack's Platform Guidelines.
- Encryption in transit via HTTPS (TLS 1.2+).
- Principle of Least Privilege (PoLP) used across infrastructure and secrets access.
- Regular code audits and automated dependency scanning.
11. Future Security Goals
- Pursuing SOC 2 Type I compliance as we scale.
- Periodic third-party penetration testing planned as user base grows.
Contact
Questions, concerns, or data deletion requests? contact@opinionowl.com