When was your product first developed?
How many years has the product been sold to companies?
Our software was first released in 2020 and is freely available under an open source license. As such, it is used by a considerable number of companies. To better meet the needs of professional users, we subsequently launched PhotoPrism® Pro in 2022, which provides teams and organizations with additional configuration options, enterprise support plans, and customer services.
What is the difference between your public license and a license agreement?
A key difference between the Public License and our Pro License Agreement is that you get access to additional support and configuration options, as well as the right to customize functionality to your needs without having to publicly disclose your changes. We are also working to optimize the standard configuration, feature set, and scalability of PhotoPrism® Pro to meet the needs of professional users.
What is the difference between your Pro and Enterprise offerings?
PhotoPrism® Enterprise offers all the features of the Pro Edition with additional product and service options designed to meet the needs of large-scale enterprises and organizations. Individual pricing for our Enterprise offering depends on business size, number of users, and support level. Please contact us for a custom quote.
How many organisations are using your product?
There are currently more than 40,000 active installations, growing daily. Because we respect the privacy of our users, we do not have detailed information about whether these are run by individuals, businesses, or other organizations. PhotoPrism® Pro, our version for professional users, is currently used by a number of news agencies, NGOs as well as governments.
How many clients have stopped using the product?
For our paid PhotoPrism+ Membership, we currently have a 2.7% churn rate. For SaaS, the average churn rate is around 5%, and a "good" churn rate is considered 3% or less.
Are you prepared to guarantee the renewal price?
As stated in our Terms of Service and in the PhotoPrism® Pro License Agreement, prices are subject to change and may be adjusted to account for currency fluctuations, inflation, new features and enhancements.
Changes will take effect at the next renewal of the Subscription Term. We intend to avoid unexpected changes and announce price adjustments in a timely manner.
Where can I learn more about your team?
PhotoPrism was founded by Michael Mayer and Theresa Gresch. Prior to founding PhotoPrism, Michael spent more than two decades advising startups and corporate clients such as Deutsche Telekom, Mercedes-Benz and many others. Theresa holds a master's degree in neurobiology. Before she started working on PhotoPrism, she used her organizational skills as a freelance product manager at startups and creative agencies.
Do you organize user forums or conferences?
Conferences are not currently planned. We do, however, operate a large number of private and public forums and chats that our active community uses to network, share ideas, and help each other.
How can we ensure that developments based on our requirements are not shared?
Purchasing a commercial license gives you the right to customize the functionality to your needs without having to publicly disclose your changes. When PhotoPrism provides professional services to you for a fee, our Terms of Service include an agreement to maintain the confidentiality of trade secrets and confidential or proprietary information.
In any event, PhotoPrism retains all proprietary rights in its software, services, documentation and all derivative works thereof, however created, and all intellectual property rights incorporated in or related to the foregoing. All rights not expressly provided by us to you under a license agreement or public license are reserved.
Technology, Development, and Documentation
What range of documentation do you provide?
Our knowledge base provides you with an overview of all available documentation. You can find the sources of our user and developer guides on GitHub at github.com/photoprism/photoprism-docs.
Is your source code available on demand?
The source code, including automated tests and a readme file that gives a short and concise overview of the project, can be found on GitHub at github.com/photoprism/photoprism.
Are you following software development best practices?
Our approach relies heavily on agile methodologies with a high degree of automation and continuous integration. Many of the best practices we use and have proven to be effective are described in Quality and Best Practices, which is part of the Developer Guide.
What technologies is your software based on?
Frontend: Progressive Web App (PWA) based on JavaScript, HTML, and CSS
Backend: Go and Google TensorFlow
Operating Systems: Linux, macOS, and FreeBSD natively; plus all platforms that support Docker, such as Windows
Databases: MariaDB, SQLite; support for PostgreSQL is planned without a specific release date yet
Do you provide any mobile apps?
At the moment, PhotoPrism does not have a native mobile app that can be installed through an official app store. However, our Progressive Web App (PWA) offers an almost native app-like experience. You can conveniently install it on the home screen of all major operating systems and mobile devices.
To sync photos and videos on your phone, you can use any app that supports WebDAV. We recommend PhotoSync, which is available for Android and iOS.
Which photo and video file formats are supported?
Our knowledge base provides you with an overview of all supported file formats.
How many and which APIs do you have?
Based on our public source code, GoDoc automatically generates an API documentation for developers.
Scalability Limits
Is there an explicit file size limit?
JPEG images are generally supported up to a maximum size of 30,000 pixels. Note, however, that high-resolution panoramic images may require additional swap space and/or physical memory beyond the recommended minimum.
The file size limit in megabytes and the resolution limit in megapixels can be changed using parameters, so these depend on your individual configuration.
What is the maximum number of files that are allowed or can be managed?
There is no explicit limit to the number of files, except for the limitations imposed by the underlying database, the server's file system, and the size of the variables used as record identifiers, i.e. in the billions.
The number of files is primarily limited by the storage available. Practical usability also relies on the server's CPU and memory, while the time needed for indexing depends on the size of your files and their formats. We recommend that you test the performance with our freely available Community Edition before purchasing a commercial license.
Is your solution load-balanced?
Our Enterprise customers can receive support for setting up PhotoPrism in a cluster configuration on an individual basis.
How many users can use your software simultaneously?
There is no predefined technical limit for the number of concurrent users. PhotoPrism generally scales well with the number of CPU cores. However, you should keep in mind that the available server resources can be significantly reduced when the backend is busy indexing or importing a large amount of files.
You can limit the number of indexing workers to reduce the server load depending on your individual needs. It is also possible to change the file size limit in megabytes and the resolution limit in megapixels.
If you plan to connect your instance to the public Internet, where the number of users can fluctuate greatly and some users may be accessing the service from remote locations with high latency, we additionally recommend configuring a Content Delivery Network (CDN) like bunny.net, as this can effectively reduce server load and improve the user experience:
When in doubt, you are welcome to test the performance with our freely available Community Edition before purchasing a commercial license.
How much data is cached by the database?
When using MariaDB, the InnoDB buffer pool serves as a cache for data and indexes. It is a key component for optimizing MariaDB performance. Its size should be as large as possible to keep frequently used data in memory and reduce disk I/O - typically the biggest bottleneck.
Can you provide detailed performance test results?
You may find performance test results attached to specific GitHub issues or pull requests, for example, to document the result of a performance optimization. However, we do not currently publish performance test results in a form that would be suitable for the general public or as marketing material.
When in doubt, we recommend that you test performance with our freely available Community Edition before purchasing a commercial license.
Future Functionality
What product changes are planned for the coming months and years?
Our Project Roadmap shows what tasks are in progress and which features are likely to be implemented next. Be aware that we have a zero-bug policy and do our best to help users when they need support or have other questions. This comes at a price, as we can't give exact release dates for new features.
As stated in our Terms of Service, you are welcome to ask for implementation of new features, enhancements, or other changes in the software, services or documentation. Our team will carefully consider your requests, but is not legally obligated to implement the changes you request. If your purchase depends on the availability of a certain feature, we recommend to wait until it has been released.
How far into the future are you planning?
We focus on outcomes, optimize effectiveness before efficiency, and plan as much ahead as necessary to meet our goals and commitments. To reduce risk, overhead, and the need to schedule manual work, our approach relies heavily on agile methodologies with a high degree of automation and continuous integration. Many of the best practices we use and have proven to be effective are described in Quality and Best Practices, which is part of the Developer Guide.
What are the tasks and priorities in your daily work?
Our priorities are (1) providing bug fixes, security improvements, and support, (2) maintaining core functionality, e.g. ensuring compatibility and performance, providing documentation, (3) adding core functionality, e.g. file type support, search filters, config options, (4) working on other features such as multi-user, scalability, and hardware acceleration.
Getting Updates
How frequently do you release updates?
Fully functional development previews with the latest features and improvements are provided very frequently, up to several times a day.
New stable versions that have been thoroughly tested are made available up to several times a month. Since quality is our top priority, this depends on what we are currently working on and whether we consider it ready for release.
How do you resolve defects and provide corrections?
PhotoPrism follows a zero-bug policy, which means that we do our best to fix any issues we learn about. Corrections will then be made available with the next stable release. Fully functional development previews with the latest features and improvements are made available very frequently, up to several times a day.
If resolving an issue is not immediately possible, for example due to dependencies on third-party libraries or other applications, or because it is a specific use case that we do not currently support, you can find a note and available workarounds in our Known Issues.
Support Options
Do you have a web-based support service?
Our business customers enjoy email and chat support directly from our team. It is available during regular business hours from Monday to Friday on a best-effort basis.
We also offer remote assistance via phone and video call upon request. In addition, customers can choose to receive Enterprise or Gold Support, which guarantee a first response within 8 business hours, depending on severity.
What happens on bank holidays?
Please contact us to receive a custom quote for extended support on weekends and holidays.
Data, Backups, and Reports
Do you work with standardized fields and formats?
We rely on open standards and make our source code available to ensure a high level of compatibility and transparency. Our Knowledge Base contains an overview of the supported Exif, XMP, IPTC, and DCMI tags and their internal field names.
How does your product allow us to create reports?
Currently, no business reporting engine is integrated. Security audits and many other technical reports, such as active browser sessions or the status of database migrations, can be viewed through the command line interface and exported as CSV or Markdown. You can also access the SQL database directly to generate reports on specific metrics using standard products designed for this purpose. If needed, we offer consulting services to help you set up a custom solution.
Can the database be modified by means other than the user interface?
Yes, you can modify the index database and create backup copies using standard database tools compatible with MariaDB.
Do you provide the possibility to anonymize copies of the database?
No. If required, we offer consulting services to help you implement a custom solution.
What tools do you recommend for alternate data mining?
We do not recommend any particular tools. If needed, we offer consulting services to help you implement a custom solution.
Do you have documents defining the referential elements of the database?
Information about the index database schema is provided as an entity-relationship diagram, Mermaid.js markup, and MariaDB-compatible SQL:
The entity models as part of our public source code also serve as a form of documentation that can be well used by many developers. Feel free to contact us with your specific requirements if you need additional technical documentation.
Is data archiving part of the solution?
PhotoPrism provides commands to back up and restore the database. It is your responsibility to back up your data and make sure it is kept safe. Backing up media files is possible with commercially available file backup tools. We do not recommend any particular tools at this time.
Does your product identify unused data over a period of time?
Our solution does not currently provide analytics that allow you to identify media content that you have not downloaded or viewed over a period of time. However, commands are available to remove stale index entries and unused thumbnail files.
In the event of an outage, how would you recommend to recover without a loss of data?
It is your responsibility to manage your own infrastructure, provide a sufficient level of redundancy, back up your data and ensure that it is kept secure.
Privacy and Security
How does your product support GDPR and Data Protection?
Our Privacy Policy explains what information we collect, how we use it, and under what circumstances we may share it. Read our GDPR Compliance Statement to learn more about the rights you have as a resident of the European Economic Area ("EEA") and our ongoing commitment to user privacy and the General Data Protection Regulation ("GDPR"). We also provide a wide range of other documentation and resources to help you evaluate our products and services in terms of privacy.
Does your software depend on external services or is it completely self-contained?
As explained in our Privacy Policy, reverse geocoding and interactive world maps depend on retrieving the necessary information from us and MapTiler AG, headquartered in Switzerland. Both services are provided with a very high level of privacy and confidentiality.
Your use of these services is fully covered by us. Depending on your usage, this can save you thousands of dollars every month, since other providers generally charge usage-based fees and often don't allow you to cache the data they provide, compromising performance and your privacy with unnecessary requests.
Should you wish to operate one or both of these services on your own premises, we can set up such a fully autonomous solution for you, provided you are prepared to cover the initial setup costs as well as ongoing maintenance fees for content licenses and updates.
Other open source applications sometimes use the free map tile service operated by openstreetmap.org. In this case, their usage and privacy policies apply, which means that your request data is stored and used to create publicly available reports. This is different from our approach, which focuses on your privacy and user experience.
What are the initial costs for setting up self-hosted reverse geocoding and world maps?
Setting up this infrastructure on premises is particularly suitable for enterprise customers such as large companies or government agencies that require an exceptionally high level of confidentiality.
Professional Services provided directly by our core team are priced at € 1499.00 per day. The exact amount will depend on the specific environment in which you want us to set up these services, your scalability and security requirements, as well as how much and what type of documentation you want us to provide to your team. Server hardware should have at least 128 GB of RAM and a 4 TB SSD.
License prices for self-hosted world maps can be found, for example, at www.maptiler.com/data/pricing/.
What capabilities are built-in to protect from issues with the GDPR?
Self-hosting is the easiest way to stay in control and protect your privacy. Data that never leaves your private network can't be collected by anyone, including us. It is your responsibility to evaluate your use of our software for compliance with your privacy policy and to update it as necessary.
Please explain the built-in security of your product?
PhotoPrism uses common best practices to protect the application and its users, such as storing passwords in a way that cannot be reversed and setting recommended HTTP security headers. In addition, PhotoPrism® Pro offers session monitoring, a security audit log, and role-based user access.
However, please note that virtually all file format parsers have vulnerabilities that have not been discovered yet. For example, the release notes of all Apple products contain a long list of fixes for bugs that allow execution of arbitrary code with kernel privileges. This is a known risk that can affect you even if your server is not directly connected to the Internet.
We recommend running our application in a container with limited host access, as this is an easy way to improve security without compromising performance and usability. When combined with a virtual machine or dedicated server, this provides optimal protection against malicious code accessing other applications and data. Additionally, please make sure that only trusted users can upload files, manage them via WebDAV or modify them directly in the file system.
If you install our software on a public server outside your own network or if you connect your private server to the public Internet, we additionally recommend using a firewall, such as OPNsense®, to ensure the highest level of security.
Has your product ever been exposed to DDOS attacks and what was the result?
PhotoPrism Pro includes a rate limiter for HTTP requests and failed login attempts. We additionally recommend using a firewall, such as OPNsense®, to ensure the highest level of security.
Which tools are required for monitoring and alerting the product?
You can use the GET /api/v1/status API endpoint to perform health checks in combination with any standard monitoring solution. You may also want to monitor CPU and memory usage during indexing so you can add more resources if needed. At this time, we do not recommend any particular tools. If needed, we offer consulting services to help you set up a custom solution.