xPrivo is an open-source AI chat interface and an alternative to ChatGPT/Perplexity that prioritises privacy and control. Chat with xPrivo or any local or external AI model by adding your own API keys. Organise your conversations in workspaces and keep everything local and private. No account is required! Plug-and-play architecture.
โน๏ธ By default, most AI assistants use your chats for training and analysis. Even if you opt out of training, your chats will still be anonymised and used for analytics, so you lose control of your valuable thoughts, business ideas and more. By default, xPrivo is private and log-free. You can stay fully worry-free.
๐โก Try it now at xprivo.com - Use our pre-configured xPrivo model. We use trusted EU-based partners and the best model for your requests, such as GPT-OSS, Mistral 3, DeepSeek V3.2 or Llama, all of which have a zero-logging guarantee. You can also add your own AI providers with custom API keys or self-host for complete control.
Hosted Solution Benefits:
-
Free Tier: Daily request quota with occasional non-personalized, non-intrusive ads from vetted partners
-
PRO Upgrade: Unlimited daily requests and ad-free experience
-
Privacy-First Authentication: No account creation required. You receive a unique license key that serves as your identifier while keeping all chat history exclusively on your local device
Become a Sponsor / Gain visibility on xPrivo
Support xPrivo to help us keep the service free and reach our user base through carefully selected, non-personalized, non-intrusive advertising. Gain visibility within our community without compromising privacy or user experience.
Learn more about sponsorship / advertising.
Big sponsors:
- Hetzner - Server, cloud & hosting
- Bunny - CDN, DDOS protection, S3 buckets & DNS
- Ionos - Domains & web hosting
xPrivo is designed for users who want a powerful AI chat experience without compromising on privacy:
- ๐ Privacy-First: All data stored locally in your browser. No servers, no tracking
- ๐ Provider Agnostic: Connect to any OpenAI-compatible API endpoint
- ๐ No Account Required: Start chatting immediately with your own API keys
- โ๏ธ Full Control: Self-host or use our hosted version at xprivo.com
- ๐จ Customizable: Brand it and theme it the way you like it
Whether you're a developer, researcher, or privacy-conscious user, xPrivo provides a clean, modern interface for interacting with AI models on your terms.
- Modern chat interface with real-time streaming responses
- Connect any AI provider: Local models or OpenAI, Anthropic and more if needed
- Dark/light mode with automatic detection
- Multi-language support: ๐ฌ๐ง English, ๐ซ๐ท๐ฅ๐ซ๐ท French, ๐ฉ๐ช๐บ German, ๐ฎ๐ณ Hindi, and more
- ๐ File processing: Upload and discuss PDF, CSV, Excel, and DOC files with @mention system (complex PDFs are still a problem as of now)
- ๐ Workspaces: Organize conversations with custom instructions
- ๐ค AI Experts: Create specialized assistants with custom knowledge
- ๐ Web search integration: Real-time information retrieval
- ๐พ Import/Export: Transfer conversations between devices
- ๐ญ Tone preferences: Personalize AI response styles
- ๐ฑ Fully responsive design for mobile and desktop
- โก Fast and lightweight - no bloat and kept minimalistic
- ๐จ Customizable branding and assistant icons
- ๐ Accessible from anywhere via xprivo.com
Simply visit xprivo.com and start chatting.
You can then also connect to other AI providers:
- Go to Settings > Configure AI Models & Endpoints
- Click Add Provider
- Enter your provider details:
- Name: A reference name (e.g., "My OpenAI")
- Endpoint URL: Your API endpoint (e.g.,
https://api.aiprovider.com/v1/chat/completions) - Authorization: Your API key (e.g.,
Bearer sk-...) - Model: The model name (e.g.,
llama-3.3,deepseek)
- Start chatting!
Note: When using xprivo.com with certain AI providers, you may need to set up a proxy server to handle CORS. See the Backend Proxy Setup section below.
Prerequisites:
- Node.js 18 or higher
- npm (comes with Node.js)
Installation:
# Clone the repository
git clone
cd xprivo-ai-chat
# Install dependencies
npm install
# Start development server
npm run devThe app will open at http://localhost:5173
Configure your default AI provider in src/config/setup.ts:
defaultProvider: {
name: 'Your Provider Name',
url: 'https://api.yourprovider.com/v1/chat/completions',
authorization: 'Bearer your-api-key-here',
model: 'llama-3.3-70b',
enableWebSearch: false,
enableSafeWebSearch: true
}
โ ๏ธ Important: When running locally, you may encounter CORS issues with some AI providers. See the Backend Proxy Setup section to resolve this.
Some AI providers (like Anthropic, etc.) may block direct API requests from your browser due to CORS (Cross-Origin Resource Sharing) restrictions. If you encounter CORS errors, you'll need to proxy requests through your own server.
In the chat interface, go to Settings > Configure AI Models & Endpoints and add:
- Name: MyCoolAiProvider (or your preferred name)
- Endpoint URL:
http://localhost:3001/chat - Authorization: (leave empty or use
Bearer dummy- auth is handled by proxy) - Model:
llama-3.3(or your chosen model)
Modify API request parameters globally in src/config/setup.ts:
apiRequestConfig: {
temperature: 0.7,
max_tokens: 2000,
max_completion_tokens: 4000,
// ... other parameters
}
โ ๏ธ Note: These settings apply to all models in your configuration.
App Name: Edit translations in src/translations/index.ts
Logo: Update menu_icon path in src/config/setup.ts and sidebar logo
Colors: Modify tailwind.config.js for custom color schemes
Change the assistant's profile picture:
- Supports PNG, JPG, JPEG, SVG, WebP
- Persists across sessions
- Auto-fallback to default icon
Adjust maximum file size in src/utils/fileProcessor.ts:
const maxSize = 10 * 1024 * 1024; // 10MB defaultAdd new languages in src/translations/index.ts by including all required translation keys.
npm run buildThe optimized build will be in the dist/ folder, ready for deployment to any static hosting service (Vercel, Netlify, etc.).
- โ
Verify your API endpoint URL is correct and includes the proper path (e.g.,
/v1/chat/completions) - โ Confirm your API key/bearer token is valid
- โ Ensure the model name matches exactly what your provider expects
- โ Check browser console for error messages
See the Backend Proxy Setup section above to proxy requests through your own server.
- Ensure files are under the size limit (10MB default)
- Verify the file type is supported (PDF, CSV, Excel, DOC)
- Confirm your API endpoint supports Server-Sent Events (SSE)
- Check for CORS issues in browser console
- Verify your proxy server (if using one) properly forwards streaming responses
- React 18 with TypeScript
- Tailwind CSS for styling
- Vite for lightning-fast development
- Lucide React for beautiful icons
- LocalForage for local data persistence
We welcome contributions from the community! Here's how you can help:
Found a bug or have a feature idea? Please open an issue:
- Go to the Issues page
- Click "New Issue"
- Choose the appropriate template:
- ๐ Bug Report: For errors, crashes, or unexpected behavior
- โจ Feature Request: For new functionality or improvements
- ๐ฌ General Feedback: For questions or suggestions
We'd love to have your contributions! Follow these steps:
- Fork the repository by clicking the "Fork" button at the top right
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/xprivo-ai-chat.git cd xprivo-ai-chat - Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes and commit:
git commit -m 'Add amazing feature' - Push to your fork:
git push origin feature/amazing-feature
- Open a Pull Request:
- Go to the original repository
- Click "New Pull Request"
- Select your fork and branch
- Describe your changes clearly
- Submit!
We'll review your PR and provide feedback. Once approved, your code will be merged into the main repository. Thank you for contributing! ๐
- Write clean, readable code with comments where needed
- Follow the existing code style and structure
- Test your changes thoroughly before submitting
- Update documentation if you're adding new features
- Make sure visible text is translated in the translations to all the existing languages (you can use tools like deepl or another reliable AI)
This project is licensed under the AGPLv3 License - see the LICENSE file for details.
If you find xPrivo useful, please:
- โญ Star this repository
- ๐ Report bugs and suggest features via Issues
- ๐ Contribute code via Pull Requests
- ๐ข Share with others who value privacy
Built with โค๏ธ for the privacy-conscious community.
