Overview
Perplexica currently does not require authentication for API requests. The application is designed for self-hosted deployments where security is managed at the network and infrastructure level.Authentication is planned as an upcoming feature. Check the GitHub repository for updates on authentication implementation.
Current security model
Since Perplexica is self-hosted, you control the security perimeter:Network isolation
Run Perplexica on a private network accessible only to trusted users
Reverse proxy
Use nginx or Caddy with basic auth or OAuth for access control
Firewall rules
Configure firewall to restrict access to port 3000
VPN access
Require VPN connection to access your Perplexica instance
Making API requests
Without authentication, you can make direct requests to any endpoint:Replace
localhost:3000 with your Perplexica instance URL if accessing remotely.Security best practices
Network-level protection
When exposing Perplexica to the internet, implement security measures:Enable HTTPS
Use Let’s Encrypt or your certificate provider to enable HTTPS for encrypted communication.
Configure CORS
If accessing the API from web applications, configure appropriate CORS policies at the reverse proxy level.
Docker security
When running Perplexica with Docker:- Bind to localhost only: Use
-p 127.0.0.1:3000:3000instead of-p 3000:3000 - Use Docker networks: Create isolated networks for Perplexica and SearxNG
- Set resource limits: Prevent resource exhaustion with
--memoryand--cpusflags - Run as non-root: The Perplexica Docker image runs as a non-root user by default
API key protection
While Perplexica doesn’t require authentication, it stores sensitive API keys for LLM providers:- Store API keys in environment variables, not in configuration files
- Use read-only file permissions for configuration files
- Rotate API keys periodically
- Monitor API usage on provider dashboards
Future authentication
Authentication is planned as an upcoming feature. The implementation may include:- User accounts and session management
- API key generation for programmatic access
- Role-based access control (admin, user, read-only)
- Integration with external authentication providers (OAuth, SAML)
Follow the GitHub repository and join the Discord community to stay updated on authentication implementation progress.
Rate limiting
Currently, Perplexica does not implement built-in rate limiting. For production deployments:- Reverse proxy rate limiting: Use nginx
limit_reqmodule or similar - Cloud load balancers: AWS ALB, Cloudflare, etc. provide rate limiting features
- Provider limits: Be aware of rate limits from your LLM providers (OpenAI, Anthropic, etc.)
Related pages
API overview
Learn about API endpoints and usage
Deployment
Deploy Perplexica securely
Configuration
Configure environment variables
Troubleshooting
Resolve common issues