Signed Links
Using the iOS SDK? You don’t need signed links. The SDK handles authentication automatically via
FeatKit.identify(). This page is for web apps and custom integrations.- Building a web app that opens the portal
- Creating a custom integration without the SDK
- Supporting non-iOS platforms
- Needing server-controlled authentication
How it works
- Your backend generates a signed URL with user info
- Your app/website opens this URL
- User is automatically authenticated on the portal
- Votes and submissions are tied to their identity
What you need
- Project Slug — from Project Settings → General
- Secret Key — from Project Settings → Signed Links
- User info: ID (required), email (optional), name (optional)
Generating a Signed Link
Your backend creates a signed token with user data using HMAC-SHA256.Signature structure
Code examples
Using in a web app
Token expiration
Tokens should expire. Recommended: 24 hours. Set theexpires field to timestamp + 86400.
Testing
Generate a test link in your dashboard: Project Settings → Signed Links → Test Link Generator This lets you verify your integration without deploying backend changes.Security notes
- Store your Secret Key securely (environment variables, secrets manager)
- Generate tokens server-side only
- Use HTTPS for all requests
- Set reasonable expiration times