Private Topics¶
Secure your notifications with private topics - full access control for production systems and sensitive data.
Subscription Required
Private topics are available on ESSENTIALS plan and higher ($9/month). View Pricing →
What Are Private Topics?¶
Private topics provide true privacy and access control for your notifications. Unlike public topics where anyone can publish, private topics require authentication for both publishing and subscribing.
Key Features:
- 🔒 Authentication required - Only authorized users can publish or subscribe
- 🎟️ Access tokens - Fine-grained control over who can access your topic
- 👥 Team collaboration - Share private topics with team members (TEAM plan)
- 🔐 Token permissions - Separate read/write access levels
- ⏰ Token expiry - Set expiration dates for temporary access
- 🚫 Revocation - Instantly revoke access by deleting tokens
Public vs Private Topics¶
| Feature | Public Topics | Private Topics |
|---|---|---|
| Who can publish | Anyone who knows the name ⚠️ | Only owner + token holders 🔒 |
| Who can subscribe | Anyone | Only owner + token holders 🔒 |
| Access control | None (IP rate limiting only) | Full control via tokens ✅ |
| Discoverable | Yes (optional) | No (always hidden) |
| Best for | Open communities, testing | Production, sensitive data |
| Plan requirement | FREE | ESSENTIALS+ ($9/mo) |
Creating Private Topics¶
Via Web Dashboard¶
- Navigate to Dashboard
- Go to app.notifer.io
-
Click "+ New Topic"
-
Choose Privacy Level
- Select "Private" option
-
Enter topic name and description
-
Create Topic
- Click "Create Topic"
Plan Limits
- FREE: 0 private topics
- ESSENTIALS: 10 private topics
- TEAM: 50 private topics
- BUSINESS: Unlimited private topics
Access Control with Tokens¶
Private topics use access tokens for authentication. Each token can have different permissions:
Token Types¶
READ - Can subscribe and read messages only
WRITE - Can publish messages only
curl -d "Deploy complete" \
-H "X-Topic-Token: tk_write_xyz789" \
https://app.notifer.io/private-topic
READ_WRITE - Can both publish and subscribe
Creating Access Tokens¶
- Navigate to Topic Settings
- Open topic menu (three dots)
-
Click "Manage access tokens"
-
Create New Token
- Click "Generate Token"
- Enter token name (e.g., "CI/CD Pipeline")
- Select access level (READ, WRITE, or READ_WRITE)
-
Optional: Set expiration date
-
Save Token
- ⚠️ Copy the token immediately - it's shown only once!
- Store securely (password manager, secrets vault)
Token Security
Access tokens are shown only once during creation. If you lose a token, you must delete it and create a new one.
Publishing to Private Topics¶
With Topic Access Token¶
curl -d "Production deployment started" \
-H "X-Topic-Token: tk_your_token_here" \
-H "X-Priority: 4" \
https://app.notifer.io/prod-alerts
With JWT Authentication¶
# 1. Get JWT token (login)
TOKEN=$(curl -X POST https://app.notifer.io/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"user@example.com","password":"***"}' \
| jq -r '.access_token')
# 2. Publish with JWT
curl -d "Message from owner" \
-H "Authorization: Bearer $TOKEN" \
https://app.notifer.io/my-private-topic
With API Key¶
curl -d "Automated message" \
-H "X-API-Key: noti_your_api_key_here" \
https://app.notifer.io/my-private-topic
Subscribing to Private Topics¶
Web Dashboard¶
- Navigate to topic page
- Click "Subscribe"
- You're automatically subscribed (owner has full access)
Mobile App¶
- Open mobile app
- Search for your private topic
- Subscribe (owner has automatic access)
SSE with Token¶
const token = 'tk_your_read_token';
const eventSource = new EventSource(
`https://app.notifer.io/private-topic/sse?token=${token}`
);
eventSource.onmessage = (event) => {
const message = JSON.parse(event.data);
console.log(message);
};
Team Private Topics¶
On TEAM plan and higher, you can create private topics owned by a team:
Benefits: - All team members can publish and subscribe - Rate limits based on team owner's subscription - Shared management and access control - Survives when team members leave
Creating Team Private Topics:
- Create topic and select "Private"
- Under "Team (Optional)", select your team
- All team members with appropriate roles can access
See Team Collaboration Guide for details.
Use Cases¶
Production Monitoring¶
# CI/CD pipeline
curl -d "Build #${BUILD_NUMBER} deployed to production" \
-H "X-Topic-Token: ${PROD_DEPLOY_TOKEN}" \
-H "X-Priority: 4" \
https://app.notifer.io/prod-deployments
Secure Customer Alerts¶
# Order notifications (internal only)
curl -d "New order #12345 - $599.99" \
-H "X-Topic-Token: ${ORDER_TOKEN}" \
https://app.notifer.io/customer-orders
Sensitive System Alerts¶
# Database backup status
curl -d "Backup completed: 2.3GB, 00:23:45" \
-H "X-Topic-Token: ${BACKUP_TOKEN}" \
-H "X-Tags: backup,success" \
https://app.notifer.io/db-backups
Best Practices¶
Token Management¶
✅ DO:
- Use descriptive token names ("Jenkins CI", "Monitoring Script")
- Set expiration dates for temporary access
- Use READ-only tokens when possible
- Store tokens in secure vaults (AWS Secrets Manager, 1Password)
- Rotate tokens periodically (every 90 days)
- Delete unused tokens immediately
❌ DON'T:
- Share tokens in code repositories
- Use same token across multiple systems
- Store tokens in plain text files
- Use overly permissive tokens (READ_WRITE when READ is enough)
Topic Naming¶
For private topics, you can use simple, descriptive names since they're not guessable:
No need for complex random strings like public topics!
Troubleshooting¶
"Private topic. Provide X-Topic-Token header"¶
Problem: Trying to publish/subscribe without authentication
Solution:
# Add token to request
curl -d "Message" \
-H "X-Topic-Token: tk_your_token_here" \
https://app.notifer.io/private-topic
"Invalid or expired topic access token"¶
Problem: Token is invalid, expired, or deleted
Solution:
- Verify token is correct (copy/paste error?)
- Check if token has expired
- Ensure token hasn't been deleted
- Create new token if needed
"Only the topic owner can create access tokens"¶
Problem: You're not the topic owner
Solution:
- Only topic owners can manage access tokens
- Ask the topic owner to share a token with you
- For team topics, you need owner or admin role
Migration from Public to Private¶
Cannot Convert Directly
You cannot convert a public topic to private (or vice versa). You must create a new private topic.
Migration steps:
- Create new private topic with different name
- Update integrations to use new topic + tokens
- Test publishing and subscribing
- Delete old public topic when ready
Related Documentation¶
- Topic Access Tokens - Detailed token documentation
- Creating Topics Guide - Complete topic creation guide
- Team Collaboration - Team private topics
- Publishing via HTTP - Authentication methods
Need Help?
- See FAQ for common questions
- Check Troubleshooting for problem solving
- Contact support: support@notifer.io