Planning Poker — User Guide & Privacy Policy
User Manual
Getting Started
Planning Poker is a collaborative estimation tool for Agile teams. Use it to estimate story points, effort, or complexity for your project tasks in real-time with your team.
Creating a Session
- From the home page, enter a session title (or use the random generator 🎲)
- Enter your name as the moderator
- Click "Create New Session"
- Share the session URL or ID with your team members
Joining a Session
- Click "Join Existing Session" from the home page
- Enter the session ID provided by the moderator
- Enter your name
- Click "Join Session"
💡 Tip: You can also join by clicking a shared session link.
Voting Process
- The moderator starts a voting round by clicking "Start Voting"
- All participants select their estimate from the available cards
- Votes are hidden until everyone has voted
- Results automatically reveal when all votes are in
- The moderator can start a new round by clicking "New Round"
Moderator Controls
As a moderator, you have additional controls:
- Start Voting: Begin a new estimation round
- New Round: Reset votes and start fresh (also shown next to the results)
- ⏹ Stop Round: End an open round early, e.g. to discuss before everyone has voted
- 🃏 Cards: Change the card set (Fibonacci, Modified Fibonacci, Mike Cohn, T-Shirt, or custom comma-separated values)
- 👤 Transfer: Transfer moderator role to another participant
- 🔔 Test Sound: Test notification sounds for all participants
- Remove Participant: Remove a disruptive or absent participant from the list
- ❌ Close Session: End the session for everyone
Features
- Real-time Updates: All changes sync instantly via Socket.IO (WebSocket)
- Session Persistence: Your session continues even if you refresh the page
- Card Set Memory: Your last used card set is saved in your browser and automatically applied to new sessions
- Audio Notifications: Get notified when voting starts
- Vote Secrecy: Individual votes stay hidden until the round is revealed
- Clean URLs: Share session links safely without exposing user data
- Inactivity Protection: Participants inactive for 20 minutes get a 5-minute warning countdown and are removed after 25 minutes total (moderators are never auto-removed)
- Participant Vote-Out: Any participant can start a vote to remove another participant — at least 25% of participants (rounded up) must vote yes within 2 minutes; the initiator can cancel at any time
- Connection Security: Automatic conflict detection prevents account sharing
- Private Browsing: Works in incognito/private mode
- Secure Authentication: Socket.IO handshake validation for all connections
Tips & Best Practices
- Use the card set that best fits your team's estimation style
- Discuss estimates after reveal to reach consensus
- Use the "Stop Round" button if you need to discuss before everyone votes
- Enable audio notifications to stay engaged during remote sessions
- Sessions auto-expire after 24 hours if no active users remain
- Your last chosen card set is remembered for the next session you create
Troubleshooting
Session not found?
Sessions expire automatically. The moderator may have closed it, it may have been inactive for too long, or the server may have restarted. Create a new session to continue.
Can't hear notifications?
Click anywhere on the page first to enable audio. Some browsers block audio until you interact with the page.
Lost your session after refresh?
Your session should persist automatically. If it doesn't, you may be in private browsing mode or have cleared your browser data. Use the session link to rejoin.
Privacy Policy
Last Updated: 21 September 2026
Introduction
This Planning Poker application is designed with privacy as a core principle. The policy below describes what data is collected, how it is used, and how it is protected.
Data Collected
Session Data (Temporary)
- Session IDs: Randomly generated 8-character uppercase hexadecimal codes (A–F, 0–9)
- User Information: Display names you choose when joining a session (not linked to any personal identity)
- Voting Data: Story point estimates you submit during sessions
- Activity Timestamps: Last seen times for session management and cleanup
Browser Storage
- localStorage: Session persistence data (session ID, user ID, display name, moderator status) and user preferences (card set choice)
- sessionStorage: Temporary fallback storage for session continuity
- Preferences are stored only in your browser — never transmitted to the server or other participants
Technical Data
- WebSocket Connections: Real-time communication channels (no IP logging)
- Session State: Current voting status, participant list, and voting results
Data Not Collected
- ❌ No email addresses or account credentials
- ❌ No personally identifiable information (PII)
- ❌ No tracking cookies
- ❌ No IP-based analytics, tracking, or geolocation data
- ❌ No cross-session user tracking
- ❌ No third-party data sharing
- ❌ No advertising or marketing data
- ❌ No analytics or usage tracking of any kind
Use of Data
Session Management
- Display your chosen name to other session participants
- Track voting progress and reveal results when complete
- Maintain session continuity during browser refreshes
- Enable moderator controls for session creators
- Remember your card set preference for future sessions (stored locally only)
Security & Integrity
- Prevent duplicate connections from the same user account
- Detect and remove inactive participants
- Participants can vote to remove disruptive or absent participants (at least 25% of participants, rounded up, must vote yes; expires after 2 minutes)
- Clean up abandoned sessions automatically
Technical Operations
- Facilitate real-time WebSocket communication
- Synchronize voting state across all participants
- Manage session expiration and cleanup
Data Storage & Retention
In-Memory Storage
- All session data is stored temporarily in the server's process-local memory
- Active sessions: Automatically removed when all users disconnect or after 24 hours
- Inactive users: Non-moderators go offline after 20 minutes of inactivity, get a 5-minute warning countdown, and are removed after 25 minutes in total (moderators are exempt)
- Default sessions: Removed after 24 hours if no active users remain
- No session data is written to permanent disk storage
- All session data disappears when the server process restarts
Browser Storage
- localStorage: Session data persists for up to 24 hours (client-side only); user preferences (like card set selection) persist indefinitely until manually cleared
- sessionStorage: Cleared when you close the browser tab
- Manual clearing of this data is possible via browser settings at any time
Automatic Cleanup
- Background cleanup runs every 60 seconds to remove expired sessions
- Users inactive for 25+ minutes (after a 5-minute warning countdown) are automatically removed from sessions
- Participants can vote to remove another participant at any time (2-minute expiry); removed data is deleted immediately
- Session closure by moderator immediately deletes all associated data
Data Security
Connection Security
- Conflict Detection: Prevents session hijacking by automatically disconnecting duplicate connections
- Session Isolation: Each user connection is tracked independently
- Clean URLs: User identity never exposed in shareable URLs (prevents URL-based account sharing)
Privacy-by-Design Features
- No Account System: No passwords, no credentials to compromise
- Ephemeral Data: All data is temporary and automatically deleted
- Local Storage: Session persistence uses browser storage, never transmitted to third parties
- No Tracking: No analytics, cookies, or user behavior monitoring
Technical Safeguards
- Input validation on all user-provided data
- Socket.IO handshake authentication
- Rate limiting on API endpoints (100 requests per 5 minutes) and per-socket event rate limiting (60 events per minute)
- Request size limits (10KB maximum)
- Session ID validation (8-character uppercase alphanumeric format)
- User ID validation (UUID format)
- Helmet security headers with a strict Content-Security-Policy (applied in all environments; HSTS is enforced in production)
- Trust proxy configuration for SSL termination
- Protection against cross-session contamination
- Access logs stored without IP addresses (privacy-safe log format)
- No analytics, trackers, or cookies
Your Privacy Rights
Access & Control
- View Your Data: All data you create (name, votes) is visible to you and other session participants
- Delete Your Data: Leave a session or wait 25 minutes of inactivity for automatic removal
- Clear Browser Storage: Delete local session data and preferences via browser settings anytime
- Preference Control: Card set preferences are stored locally and never shared with other users or sessions
Data Portability
- No account system = no data to export
- All session data is temporary and session-specific
- Voting results are visible only during the session
Privacy in Multi-User Sessions
- Your display name and votes are visible to all session participants
- Other participants cannot see your user ID or browser storage
- Moderators cannot access your personal device or browser data
Data Sharing & Third Parties
No sharing, selling, or transmission of data to any third parties:
- ❌ No analytics providers
- ❌ No advertising networks
- ❌ No data brokers
- ❌ No external APIs
- ❌ No third‑party data warehousing
The only data transmission occurs:
- Client ↔ Service: Your browser communicates with the hosted application
- Service → Participants: Real-time WebSocket updates
International Users
Data is processed in the region where the service is operated. No intentional cross-border transfer routines are performed beyond normal internet routing.
Children's Privacy
This application is designed for workplace estimation and planning activities. No data is knowingly collected from anyone under the age of 13. If used in an educational context, appropriate supervision and consent are recommended.
Changes to This Policy
This privacy policy may be updated to reflect changes in the application or legal requirements. Material changes are communicated through updates to this document with a revised "Last Updated" date and release notes in the repository.
Private Browsing & Storage Restrictions
The application supports private/incognito browsing modes: if localStorage is unavailable, fallback mechanisms use sessionStorage; if both are restricted, you'll be prompted to enter your name on each page load. No functionality is lost in private browsing mode.
Data Breach Notification
In the unlikely event of a security breach: the temporary nature of our data (max 24 hours) limits exposure, no passwords or PII exist to be compromised, session IDs can be invalidated immediately, and affected sessions would be automatically purged.
Code Transparency
The source code can be made available for security and privacy inspection upon request. A valid support contribution (e.g. subscription, or sponsorship) is expected to sustain continued access.
Compliance
GDPR (European Users)
- Lawful Basis: Legitimate interest (session functionality)
- Data Minimization: Only essential data collected
- Storage Limitation: Automatic deletion after 24 hours max
- Right to Erasure: Automatic via inactivity or manual session exit
- No Consent Required: No cookies, tracking, or PII collection
CCPA (California Users)
- No Sale of Data: No sale of personal information
- No Third-Party Sharing: Zero third-party sharing
- Automatic Deletion: Data deleted within 24 hours
Other Privacy Laws
Our minimal, temporary data model (no PII, no tracking) supports broad alignment with global privacy principles.
Summary: Your Privacy at a Glance
- ✅ Stored: Display names, votes, session state (temporary), user preferences (card set — persistent)
- ✅ How long: Session data up to 24 hours maximum, then auto-deleted; preferences persist until manually cleared
- ✅ Who sees it: Only participants in your session (preferences are private to your browser)
- ✅ Third parties: Zero. None. Never.
- ✅ Your control: Leave anytime, data auto-deleted after 25 min inactivity (with a 5-minute warning countdown), clear preferences anytime via browser settings
- ✅ Security: Conflict detection, session isolation, no URL leakage
- ✅ Transparency: Code view available (with contribution)
Bottom Line: Only short-lived session data required for collaborative estimation is retained and removed automatically. User preferences (like card set choice) are stored locally in your browser for convenience and never shared.
Frequently Asked Questions
Is Planning Poker really free?
Yes — and it will stay that way. It's a passion project: no accounts, no premium tiers, no ads, and no tracking of any kind.
Do I need to sign up?
No. Enter your name, create a session, share the link. That is the whole onboarding process.
What happens to our names and votes?
They live in the server's memory only and disappear within 24 hours — or instantly when the moderator closes the session. Nothing is written to disk.
Does it work in incognito or private browsing mode?
Yes, with full functionality. The only difference: we can't remember your session between page reloads, so you may need to rejoin via the session link.
Which card sets are supported?
Fibonacci, Modified Fibonacci, Mike Cohn's classic set, T-shirt sizes — or your own comma-separated custom values.
Does it work on phones and tablets?
Yes. The cards, results and moderator controls are fully responsive, so the complete flow works on mobile, tablet and desktop.
Do we need to install anything?
No. Planning Poker runs entirely in your browser — the moderator and every participant just open the session link and play. Nothing to install.
How are inactive participants handled?
Automatically: after 20 minutes away a 5-minute warning countdown starts, and they are removed after 25 minutes in total (moderators are exempt). Participants can also start a removal vote (25% of the room), and moderators can remove people directly.
Built by Maurice Kremer
Planning Poker is an independent passion project, built and maintained in spare time. Questions, feedback or ideas for the tool are always welcome.