<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Behnoud mostafaie</title>
    <description>The latest articles on DEV Community by Behnoud mostafaie (@behnoudmst).</description>
    <link>https://dev.to/behnoudmst</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4210459%2F255ebbda-0b0d-40bb-b3c8-d2b44ba53f21.jpg</url>
      <title>DEV Community: Behnoud mostafaie</title>
      <link>https://dev.to/behnoudmst</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/behnoudmst"/>
    <language>en</language>
    <item>
      <title>Self-hosted Greenhouse alternative: when to run your own ATS</title>
      <dc:creator>Behnoud mostafaie</dc:creator>
      <pubDate>Fri, 30 Oct 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/vekt/self-hosted-greenhouse-alternative-when-to-run-your-own-ats-5i1</link>
      <guid>https://dev.to/vekt/self-hosted-greenhouse-alternative-when-to-run-your-own-ats-5i1</guid>
      <description>&lt;p&gt;If you are looking for a &lt;strong&gt;self-hosted Greenhouse alternative&lt;/strong&gt; , the first thing to know is that Greenhouse is a cloud product only: there is no version you can run on your own servers. So the real question is not which tool copies Greenhouse, but whether running your own ATS fits your team better than renting a very complete one. This guide answers that honestly, from the people who build &lt;a href="https://vekt.eu/self-hosted-ats/" rel="noopener noreferrer"&gt;Vekt&lt;/a&gt;, an open-source recruiting platform you host yourself.&lt;/p&gt;

&lt;p&gt;We read Greenhouse’s own &lt;a href="https://www.greenhouse.com/pricing" rel="noopener noreferrer"&gt;pricing page&lt;/a&gt;, &lt;a href="https://www.greenhouse.com/ats" rel="noopener noreferrer"&gt;ATS page&lt;/a&gt;, &lt;a href="https://www.greenhouse.com/ai-recruiting" rel="noopener noreferrer"&gt;AI recruiting page&lt;/a&gt;, &lt;a href="https://www.greenhouse.com/interviewing-decision-making" rel="noopener noreferrer"&gt;interviewing page&lt;/a&gt;, &lt;a href="https://support.greenhouse.io/hc/en-us/articles/4416552708507-Greenhouse-security-overview" rel="noopener noreferrer"&gt;security overview&lt;/a&gt; and &lt;a href="https://integrations.greenhouse.com/" rel="noopener noreferrer"&gt;partner directory&lt;/a&gt; on 30 October 2026. Every Greenhouse fact below comes from one of those pages, and every Vekt fact from &lt;a href="https://github.com/Behnoudmst/vekt" rel="noopener noreferrer"&gt;its repository&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short answer
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stay on Greenhouse&lt;/strong&gt; if you hire at volume, run structured interview loops across many teams, and rely on scheduling, sourcing, reporting and hundreds of integrations. Vekt does not replace that today.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consider self-hosting&lt;/strong&gt; if you hire a handful of roles at a time, want candidate data in infrastructure you control, want to choose (or run) the AI model that reads CVs, and want code you can read and change under the MIT licence.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Greenhouse is
&lt;/h2&gt;

&lt;p&gt;Greenhouse is one of the best-known applicant tracking systems. It sells three plans, Core, Plus and Pro, and does not publish prices: its pricing page says “Greenhouse pricing is customized based on your company’s hiring needs”, and you get a quote after a demo.&lt;/p&gt;

&lt;p&gt;Even the entry plan is broad. According to the &lt;a href="https://www.greenhouse.com/pricing" rel="noopener noreferrer"&gt;pricing page&lt;/a&gt;, Core includes sourcing and CRM, structured interview kits and scorecards, an AI notetaker, scheduling, reporting and analytics, single sign-on and talent matching. Plus adds texting, a business intelligence connector, sourcing automation and fraud and spam detection. Pro adds an audit log, a developer sandbox and enterprise data configuration.&lt;/p&gt;

&lt;p&gt;Greenhouse also takes care with AI. Its &lt;a href="https://www.greenhouse.com/ai-recruiting" rel="noopener noreferrer"&gt;AI recruiting page&lt;/a&gt; says “the decision is always yours, not handed to an algorithm”, says customers can switch any AI feature on or off for the whole organisation, and describes monthly third-party bias audits and resume review with identifying details redacted. It states that it does not train its AI on personal data.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Greenhouse does that Vekt doesn’t
&lt;/h2&gt;

&lt;p&gt;Greenhouse is a much larger product, and you should know exactly where before you consider moving. Vekt has none of the following today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Interview scheduling.&lt;/strong&gt; Greenhouse offers candidate self-scheduling, scheduling links, interviewer limits and AI scheduling suggestions, and works with Zoom, Google Meet, Microsoft Teams and Spark Hire (&lt;a href="https://www.greenhouse.com/ats" rel="noopener noreferrer"&gt;ATS page&lt;/a&gt;, &lt;a href="https://www.greenhouse.com/interviewing-decision-making" rel="noopener noreferrer"&gt;interviewing page&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured interview kits and scorecards.&lt;/strong&gt; A core part of Greenhouse’s approach to structured hiring. Vekt structures the application (screening questions, an AI-ranked reading order) but not the interviews that follow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interview notes and AI voice interviews.&lt;/strong&gt; Greenhouse records and transcribes interviews and maps the notes to scorecard questions, and offers an AI voice first-round interview.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sourcing and CRM.&lt;/strong&gt; Greenhouse manages prospects who haven’t applied yet and recommends candidates when a role opens.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reporting.&lt;/strong&gt; Greenhouse lists “40+ pre-built reports and dashboards”, custom reports and BI connectors. Vekt shows applications per job sorted by score and records job page views, but has no reporting module.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrations.&lt;/strong&gt; Greenhouse’s &lt;a href="https://integrations.greenhouse.com/" rel="noopener noreferrer"&gt;partner directory&lt;/a&gt; listed 520 entries when we checked, across HRIS and onboarding, job distribution, productivity and candidate experience. Vekt has a documented REST API (Swagger UI at &lt;code&gt;/api-docs&lt;/code&gt;) and no ready-made integrations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Job-board distribution, texting and onboarding.&lt;/strong&gt; Greenhouse has all three; Vekt publishes jobs on its own careers page only and sends candidate emails.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single sign-on and enterprise controls.&lt;/strong&gt; SSO is in Greenhouse’s Core plan; an audit log and sandbox are in Pro. Vekt signs users in with email and password and has two roles, admin and recruiter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Certifications and a vendor behind it.&lt;/strong&gt; Greenhouse’s ATS page cites ISO/IEC 42001 and SOC and ISO certifications, and you have a company to call. Vekt is a young open-source project with no certifications and no support contract.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What changes when you self-host instead
&lt;/h2&gt;

&lt;p&gt;Self-hosting moves both control and work to you. Here is what that means with Vekt specifically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where the data lives.&lt;/strong&gt; Greenhouse runs on AWS, with US, EU (Frankfurt, with Ireland for disaster recovery) and APAC silos according to its &lt;a href="https://support.greenhouse.io/hc/en-us/articles/4416552708507-Greenhouse-security-overview" rel="noopener noreferrer"&gt;security overview&lt;/a&gt;. With Vekt, the database (SQLite) and uploaded CVs sit in Docker volumes on a server you choose. Candidate data stays on your servers when scoring runs on a local model through Ollama; if you pick OpenAI or OpenRouter, the redacted CV text goes to that provider, and candidate emails are sent through Resend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which AI reads the CV.&lt;/strong&gt; You set &lt;code&gt;AI_PROVIDER&lt;/code&gt; to &lt;code&gt;openai&lt;/code&gt;, &lt;code&gt;openrouter&lt;/code&gt;, &lt;code&gt;ollama&lt;/code&gt; or &lt;code&gt;mock&lt;/code&gt;. Before any model sees a CV, Vekt removes the name, email, phone, links, date of birth and declared personal attributes. Every evaluation stores the provider, model, prompt hash and evaluator version.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How AI affects decisions.&lt;/strong&gt; A candidate scoring below the threshold is marked &lt;em&gt;needs review&lt;/em&gt;, not rejected, and gets no email until a recruiter decides. Automatic rejection exists only as an admin opt-in (&lt;code&gt;AUTO_REJECT_BELOW_THRESHOLD&lt;/code&gt;). Status emails wait 48 hours by default and are cancelled if a recruiter changes the decision. The scores themselves are uncalibrated and have never been measured against hiring outcomes; we explain that in &lt;a href="https://vekt.eu/blog/what-vekts-ai-cant-do/" rel="noopener noreferrer"&gt;what Vekt’s AI can’t do&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Retention.&lt;/strong&gt; A daily job deletes candidates and their CV files once the retention period set by the admin has passed. You decide the number; Vekt enforces it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost.&lt;/strong&gt; The software is free under the MIT licence with no per-seat pricing. You pay for a server, your time to run it, and the AI provider’s usage if you don’t use a local model. With Greenhouse you pay a quoted subscription and the vendor runs everything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your new jobs.&lt;/strong&gt; Updates, backups of the &lt;code&gt;db-data&lt;/code&gt; and &lt;code&gt;uploads&lt;/code&gt; volumes, HTTPS, and keeping secrets in &lt;code&gt;.env&lt;/code&gt; are on you. Self-hosting doesn’t make your hiring lawful on its own either: your privacy notice, lawful basis and answers to candidate requests remain your organisation’s work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feature comparison
&lt;/h2&gt;

&lt;p&gt;Built only from the pages listed above (Greenhouse) and the Vekt repository, checked 30 October 2026.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Greenhouse&lt;/th&gt;
&lt;th&gt;Vekt&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Hosting&lt;/td&gt;
&lt;td&gt;Vendor cloud on AWS (US, EU and APAC silos)&lt;/td&gt;
&lt;td&gt;Your server, Docker Compose&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Licence and source&lt;/td&gt;
&lt;td&gt;Proprietary&lt;/td&gt;
&lt;td&gt;MIT, source on GitHub&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pricing&lt;/td&gt;
&lt;td&gt;Quote only, three plans (Core, Plus, Pro)&lt;/td&gt;
&lt;td&gt;Free software; you pay hosting and any AI provider&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Job posting&lt;/td&gt;
&lt;td&gt;Multilingual job boards; job-distribution partners in its directory&lt;/td&gt;
&lt;td&gt;Own careers page with readable job URLs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Screening questions on apply&lt;/td&gt;
&lt;td&gt;Not checked on the pages we opened&lt;/td&gt;
&lt;td&gt;Single- and multiple-choice, per job&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI CV review&lt;/td&gt;
&lt;td&gt;Yes, with identifying details redacted&lt;/td&gt;
&lt;td&gt;Yes, with direct identifiers removed first&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Choice of AI model&lt;/td&gt;
&lt;td&gt;Not offered on the pages we opened; AI features can be turned off&lt;/td&gt;
&lt;td&gt;OpenAI, OpenRouter or a local model via Ollama&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Low AI score&lt;/td&gt;
&lt;td&gt;“The decision is always yours”&lt;/td&gt;
&lt;td&gt;Marked &lt;em&gt;needs review&lt;/em&gt;; auto-reject only as an opt-in&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Interview scheduling&lt;/td&gt;
&lt;td&gt;Yes, including self-scheduling&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Interview kits and scorecards&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sourcing and CRM&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reporting&lt;/td&gt;
&lt;td&gt;40+ pre-built reports, BI connector (Plus)&lt;/td&gt;
&lt;td&gt;Applications per job, job page views&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Integrations&lt;/td&gt;
&lt;td&gt;520 entries in the partner directory&lt;/td&gt;
&lt;td&gt;REST API, no ready-made integrations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSO&lt;/td&gt;
&lt;td&gt;Yes (Core)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audit log&lt;/td&gt;
&lt;td&gt;Pro plan&lt;/td&gt;
&lt;td&gt;Evaluation provenance per score; no general audit log&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Automatic data deletion&lt;/td&gt;
&lt;td&gt;Not checked on the pages we opened&lt;/td&gt;
&lt;td&gt;Daily purge after the retention period you set&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Onboarding&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;“Not checked on the pages we opened” means exactly that: the feature may well exist in Greenhouse, but we only list what we could link to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who should stay on Greenhouse
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Teams with recruiting coordinators who live in interview scheduling and scorecards.&lt;/li&gt;
&lt;li&gt;Companies hiring dozens of roles at once, with sourcing, CRM and reporting in daily use.&lt;/li&gt;
&lt;li&gt;Organisations whose HRIS, job boards and assessments already connect through Greenhouse’s integrations.&lt;/li&gt;
&lt;li&gt;Anyone who needs SSO, certifications and a vendor contract on day one, and has no one to run a server.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For those teams, moving to any self-hosted tool would be a step backwards today.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who self-hosting suits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Small and mid-sized teams hiring a few roles at a time, for whom a full Greenhouse plan is more than they use.&lt;/li&gt;
&lt;li&gt;EU teams that want candidate data on infrastructure they choose, with a local model so CVs never leave it.&lt;/li&gt;
&lt;li&gt;Teams that want AI to set a reading order while a person makes every rejection.&lt;/li&gt;
&lt;li&gt;Developers who want to change the hiring logic itself. Vekt is a TypeScript codebase; see &lt;a href="https://vekt.eu/opensource/" rel="noopener noreferrer"&gt;our open-source page&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to compare Vekt with other open-source options rather than with Greenhouse, our &lt;a href="https://vekt.eu/blog/open-source-ats-compared/" rel="noopener noreferrer"&gt;open-source ATS comparison&lt;/a&gt; covers nine of them, including where another project fits better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it before you decide
&lt;/h2&gt;

&lt;p&gt;The Vekt README offers a one-line setup that downloads the files, generates secrets, asks for admin credentials and starts the app and Inngest with Docker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/Behnoudmst/vekt/main/setup.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It needs Docker with Compose v2 and &lt;code&gt;openssl&lt;/code&gt;. The default &lt;code&gt;AI_PROVIDER&lt;/code&gt; is &lt;code&gt;mock&lt;/code&gt;, so nothing leaves the machine until you choose a provider. Post one real job, run it next to your current process for a week, and check what you miss. More on what the platform covers is on the &lt;a href="https://vekt.eu/" rel="noopener noreferrer"&gt;Vekt home page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Can you self-host Greenhouse?
&lt;/h3&gt;

&lt;p&gt;No. Greenhouse is sold as a cloud service only. Its security overview describes hosting on AWS in US, EU and APAC regions run by Greenhouse. If you need to run the ATS on your own servers, you need a different product.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is there an open-source alternative to Greenhouse?
&lt;/h3&gt;

&lt;p&gt;Several open-source ATS projects exist, including OpenCATS, FreeATS and Vekt, and HR suites such as Horilla and OrangeHRM include recruitment. None matches Greenhouse feature for feature; our &lt;a href="https://vekt.eu/blog/open-source-ats-compared/" rel="noopener noreferrer"&gt;comparison&lt;/a&gt; shows what each covers.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much does Greenhouse cost?
&lt;/h3&gt;

&lt;p&gt;Greenhouse doesn’t publish prices. Its pricing page says pricing “is customized based on your company’s hiring needs” across the Core, Plus and Pro plans, and a quote comes after a demo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does Vekt do interview scheduling like Greenhouse?
&lt;/h3&gt;

&lt;p&gt;Not today. Vekt covers jobs, the careers page, applications with screening questions, AI-ranked review and candidate emails. Scheduling, interview kits and scorecards are not part of it yet.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does self-hosting keep CVs away from AI providers?
&lt;/h3&gt;

&lt;p&gt;Only if you run the model yourself. With &lt;code&gt;AI_PROVIDER=ollama&lt;/code&gt;, scoring happens on your hardware. With OpenAI or OpenRouter, the CV text, with direct identifiers removed, is sent to that provider.&lt;/p&gt;

</description>
      <category>greenhousealternativ</category>
      <category>selfhosted</category>
      <category>comparison</category>
    </item>
    <item>
      <title>Why we publish what Vekt's AI can't do</title>
      <dc:creator>Behnoud mostafaie</dc:creator>
      <pubDate>Tue, 27 Oct 2026 09:54:38 +0000</pubDate>
      <link>https://dev.to/behnoudmst/why-we-publish-what-vekts-ai-cant-do-4kln</link>
      <guid>https://dev.to/behnoudmst/why-we-publish-what-vekts-ai-cant-do-4kln</guid>
      <description>&lt;p&gt;Vekt is an open-source recruitment orchestration engine for privacy-first hiring. It runs on your own servers, structures how candidates are evaluated, and uses AI to rank applications against the job description so a recruiter knows what to read first. It does not decide who gets hired.&lt;/p&gt;

&lt;p&gt;Before the feature list, the repo has a &lt;a href="https://github.com/Behnoudmst/vekt/tree/main/docs/compliance" rel="noopener noreferrer"&gt;compliance folder&lt;/a&gt; that names what the AI scoring can't do. This post explains those four limits and why they come first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why lead with limits
&lt;/h2&gt;

&lt;p&gt;In the EU, using AI to screen job applications is classed as a high-risk use under Annex III of the AI Act. Those obligations now apply from 2 December 2027, after the Digital Omnibus moved the original date. GDPR already applies today: candidates have rights over decisions based solely on automated processing, and they have to be told how their data is used.&lt;/p&gt;

&lt;p&gt;It is easy to answer that with a "compliant" badge. We think a tool in this space should be easier to question instead, and that starts with saying plainly where it falls short.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limit 1: no accuracy has been measured
&lt;/h2&gt;

&lt;p&gt;Vekt has never been tested against a labelled set of CVs and hiring outcomes. There is no precision, recall or agreement-with-reviewer figure. Any number we gave you today would be invented.&lt;/p&gt;

&lt;p&gt;If a vendor gives you an accuracy figure, ask what it was measured on, and whether it was measured on hiring like yours.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limit 2: redaction removes names, not every clue
&lt;/h2&gt;

&lt;p&gt;Before any text reaches the model, Vekt removes direct identifiers: name, email, phone, links, date of birth, and lines that state nationality, citizenship, marital status or gender.&lt;/p&gt;

&lt;p&gt;It does not remove proxies. University names, languages spoken, military service, career gaps and writing style can all carry signals of origin, age and gender, and a language model can pick them up. Redaction reduces the risk; it does not remove it. That is why a person makes the final call.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limit 3: scores aren't comparable across setups
&lt;/h2&gt;

&lt;p&gt;The score comes from a general-purpose language model asked for a number from 0 to 100. Change the model, the provider or the prompt, and the same CV gets a different number. Even the same CV scored twice can drift by a few points.&lt;/p&gt;

&lt;p&gt;So scores are only comparable within one configuration, and the threshold you choose sits on a noisy signal. Write down why you picked it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limit 4: running it yourself doesn't make you compliant
&lt;/h2&gt;

&lt;p&gt;Self-hosting answers one important question: where the data is. With a local model, CV text never leaves infrastructure you control. With a hosted provider such as OpenAI or OpenRouter, the redacted text does go to that provider, which becomes a processor and possibly a transfer outside the EU.&lt;/p&gt;

&lt;p&gt;What self-hosting does not answer is whether your hiring process is lawful and fair. That depends on your criteria, your human review, what you tell candidates and how you handle their requests. Those stay with the organisation that hires.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we're doing about it
&lt;/h2&gt;

&lt;p&gt;The biggest gap is the first one. We're looking for two or three EU organisations willing to measure Vekt on their own past applications, on their own servers, with their data never leaving them. We'll help set it up, and with your agreement the method and aggregate results get published, so the next team doesn't start from zero.&lt;/p&gt;

&lt;p&gt;If that's you, &lt;a href="https://github.com/Behnoudmst/vekt/issues" rel="noopener noreferrer"&gt;open an issue on GitHub&lt;/a&gt; or message us on LinkedIn.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://vekt.eu/blog/what-vekts-ai-cant-do/" rel="noopener noreferrer"&gt;vekt.eu&lt;/a&gt;. Engineering view, not legal advice. What Vekt does and does not do is documented in the &lt;a href="https://github.com/Behnoudmst/vekt/tree/main/docs/compliance" rel="noopener noreferrer"&gt;compliance folder&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>privacy</category>
      <category>hiring</category>
    </item>
    <item>
      <title>Open-source and self-hosted ATS options in 2026, compared</title>
      <dc:creator>Behnoud mostafaie</dc:creator>
      <pubDate>Sun, 25 Oct 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/vekt/open-source-and-self-hosted-ats-options-in-2026-compared-5g85</link>
      <guid>https://dev.to/vekt/open-source-and-self-hosted-ats-options-in-2026-compared-5g85</guid>
      <description>&lt;p&gt;If you want an &lt;strong&gt;open-source ATS&lt;/strong&gt; you can &lt;strong&gt;self-host&lt;/strong&gt; , you have more choice in 2026 than most roundups suggest, and the options differ more than their feature lists show. Some are dedicated applicant tracking systems, some are recruitment modules inside a full HR or ERP suite, and a few are new AI-first projects. Their licences range from MIT to AGPL, which matters if you plan to change the code.&lt;/p&gt;

&lt;p&gt;This guide compares nine of them. We wrote it as the people behind &lt;a href="https://vekt.eu/self-hosted-ats/" rel="noopener noreferrer"&gt;Vekt&lt;/a&gt;, one of the nine, so read our section with that in mind. To keep it fair, every licence below was read from the project’s own repository on 25 October 2026, every other fact links to its source, and each section says who the project suits best, including where that isn’t us.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short answer
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Project&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;th&gt;Licence&lt;/th&gt;
&lt;th&gt;Stack&lt;/th&gt;
&lt;th&gt;Scope&lt;/th&gt;
&lt;th&gt;Last commit on main*&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/opencats/OpenCATS" rel="noopener noreferrer"&gt;OpenCATS&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A classic ATS on PHP hosting&lt;/td&gt;
&lt;td&gt;MPL 2.0&lt;/td&gt;
&lt;td&gt;PHP, MySQL&lt;/td&gt;
&lt;td&gt;Dedicated ATS&lt;/td&gt;
&lt;td&gt;22 Oct 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/freeats/freeats" rel="noopener noreferrer"&gt;FreeATS&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A conventional ATS with an optional hosted plan&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td&gt;Ruby on Rails, Docker&lt;/td&gt;
&lt;td&gt;Dedicated ATS&lt;/td&gt;
&lt;td&gt;13 Oct 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/Behnoudmst/vekt" rel="noopener noreferrer"&gt;Vekt&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;AI screening with human review and data deletion, EU teams&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td&gt;Next.js, SQLite, Docker&lt;/td&gt;
&lt;td&gt;Recruiting platform&lt;/td&gt;
&lt;td&gt;18 Oct 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/maxig/vellum-oss" rel="noopener noreferrer"&gt;Vellum&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;An AI-first ATS with a shared inbox&lt;/td&gt;
&lt;td&gt;AGPL 3.0&lt;/td&gt;
&lt;td&gt;Next.js, PostgreSQL, Docker&lt;/td&gt;
&lt;td&gt;Dedicated ATS&lt;/td&gt;
&lt;td&gt;4 Aug 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/horilla-opensource/horilla" rel="noopener noreferrer"&gt;Horilla&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;One open-source system for all of HR&lt;/td&gt;
&lt;td&gt;LGPL 2.1&lt;/td&gt;
&lt;td&gt;Django, PostgreSQL, Docker&lt;/td&gt;
&lt;td&gt;HR suite&lt;/td&gt;
&lt;td&gt;21 Oct 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/frappe/hrms" rel="noopener noreferrer"&gt;Frappe HR&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Teams already on ERPNext&lt;/td&gt;
&lt;td&gt;GPL 3.0&lt;/td&gt;
&lt;td&gt;Frappe (Python)&lt;/td&gt;
&lt;td&gt;HR suite&lt;/td&gt;
&lt;td&gt;25 Oct 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/orangehrm/orangehrm" rel="noopener noreferrer"&gt;OrangeHRM&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;An established HRIS with recruitment&lt;/td&gt;
&lt;td&gt;GPL 3.0&lt;/td&gt;
&lt;td&gt;PHP&lt;/td&gt;
&lt;td&gt;HR suite&lt;/td&gt;
&lt;td&gt;29 Jun 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/odoo/odoo" rel="noopener noreferrer"&gt;Odoo Recruitment&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Teams already on Odoo&lt;/td&gt;
&lt;td&gt;LGPL 3.0 (Community)&lt;/td&gt;
&lt;td&gt;Python, PostgreSQL&lt;/td&gt;
&lt;td&gt;ERP module&lt;/td&gt;
&lt;td&gt;Very active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/OSSAdmiral/Recruit" rel="noopener noreferrer"&gt;Recruit (OSSAdmiral)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Laravel developers who want a base to build on&lt;/td&gt;
&lt;td&gt;AGPL 3.0&lt;/td&gt;
&lt;td&gt;Laravel, Filament&lt;/td&gt;
&lt;td&gt;Dedicated ATS&lt;/td&gt;
&lt;td&gt;13 Nov 2024&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;*Date of the latest commit on the default branch, checked 25 October 2026. Odoo’s main repository was not checked commit by commit; it receives changes daily.&lt;/p&gt;

&lt;h2&gt;
  
  
  How we compared them
&lt;/h2&gt;

&lt;p&gt;Five questions decide whether a self-hosted ATS works for a team:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Licence.&lt;/strong&gt; Can you change the code without publishing your changes? MIT, MPL and LGPL are permissive enough for most in-house changes; GPL and AGPL ask you to share modified source in some situations (see the licence note below).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope.&lt;/strong&gt; Do you want a dedicated ATS, or recruitment as one module of an HR or ERP system?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting effort.&lt;/strong&gt; Is there a maintained Docker setup, or do you assemble a LAMP or Python stack yourself?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI and data.&lt;/strong&gt; If the tool uses AI on CVs, which providers can it use, can it run on a local model, and what happens to the data?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Upkeep.&lt;/strong&gt; Is the project actively maintained, and does it say whether it is ready for production?&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  OpenCATS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.opencats.org/" rel="noopener noreferrer"&gt;OpenCATS&lt;/a&gt; is the name most people know when they search for an open-source ATS. It is a dedicated applicant tracking system written in PHP with MySQL, and it includes a careers page. The repository has a &lt;code&gt;docker&lt;/code&gt; folder, and the project is still receiving commits in October 2026.&lt;/p&gt;

&lt;p&gt;The licence is split: OpenCATS code is under the Mozilla Public License 2.0, while the original CATS code it grew from is under its own licence (both explained in the repository’s &lt;code&gt;LICENSE.md&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; teams and agencies that want a classic ATS feature set and are comfortable hosting PHP. Try a test install first to check that its interface fits how your recruiters work today.&lt;/p&gt;

&lt;h2&gt;
  
  
  FreeATS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.freeats.com/" rel="noopener noreferrer"&gt;FreeATS&lt;/a&gt; is an MIT-licensed ATS built with Ruby on Rails, with a Docker Compose setup for self-hosting. It also sells a hosted version: on its site today, the free cloud plan allows 3 open positions and 3,000 candidate profiles with unlimited users, and Pro costs $99 a month.&lt;/p&gt;

&lt;p&gt;Its feature list is that of a conventional ATS: custom pipelines, scorecards, a LinkedIn import browser extension, email sync, tasks, duplicate detection and a career site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; small teams that want a familiar ATS and like having a hosted plan to fall back on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vekt
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://vekt.eu/self-hosted-ats/" rel="noopener noreferrer"&gt;Vekt&lt;/a&gt; is our project: an MIT-licensed, &lt;a href="https://vekt.eu/" rel="noopener noreferrer"&gt;self-hosted recruiting platform&lt;/a&gt; built with Next.js, SQLite and &lt;a href="https://www.inngest.com/" rel="noopener noreferrer"&gt;Inngest&lt;/a&gt; for background jobs, deployed with Docker Compose. It covers job listings, a careers page, applications with screening questions, a candidate pipeline and candidate emails.&lt;/p&gt;

&lt;p&gt;What sets it apart is how it handles AI and personal data. CVs can be scored by OpenAI, OpenRouter or a local model through Ollama. Names, contact details and other direct identifiers are removed from the CV text before any model sees it. A low score never rejects anyone on its own: those candidates are marked &lt;em&gt;needs review&lt;/em&gt; until a recruiter decides. Every evaluation records the provider, model, prompt hash and evaluator version, and a daily job deletes candidates and their CVs once the retention period you set has passed.&lt;/p&gt;

&lt;p&gt;We also publish &lt;a href="https://vekt.eu/blog/what-vekts-ai-cant-do/" rel="noopener noreferrer"&gt;what its AI can’t do&lt;/a&gt;: the scores have never been measured against real hiring outcomes, so Vekt claims no accuracy figure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; teams hiring in the EU that want AI screening with a human in charge, candidate data on their own servers, and code they can read.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not a fit:&lt;/strong&gt; if you need interview scheduling, job-board multiposting or single sign-on today. Vekt has none of these yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vellum
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/maxig/vellum-oss" rel="noopener noreferrer"&gt;Vellum&lt;/a&gt; describes itself as “an open-source, AI-first applicant tracking system”. It is built with Next.js, PostgreSQL and Prisma, and ships a Docker Compose setup that includes a reverse proxy. Its README lists a hiring pipeline, branded career sites, a shared inbox, multi-tenancy, and “bring-your-own (or local) AI”.&lt;/p&gt;

&lt;p&gt;The README marks its own status as an “actively developed MVP”. It is licensed under the AGPL 3.0.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; teams that want a modern, AI-first ATS with a shared inbox and are comfortable with an MVP and the AGPL’s terms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Horilla
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.horilla.com/features/recruitment/" rel="noopener noreferrer"&gt;Horilla&lt;/a&gt; is a complete open-source HR system: recruitment sits next to onboarding, employee records, attendance, leave, payroll, helpdesk and more. It is built with Django and PostgreSQL, has Docker Compose files, and is licensed under the LGPL 2.1.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; organisations that want one open-source system for all of HR, with recruitment as one part of it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frappe HR
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/frappe/hrms" rel="noopener noreferrer"&gt;Frappe HR&lt;/a&gt; is the HR and payroll app of the Frappe and ERPNext ecosystem, licensed under the GPL 3.0. Recruitment covers job openings, applicants and interviews, inside the same system as the rest of HR.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; companies already running ERPNext, or happy to adopt the Frappe framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  OrangeHRM
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/orangehrm/orangehrm" rel="noopener noreferrer"&gt;OrangeHRM&lt;/a&gt; is a long-established HR system written in PHP. The open-source edition, under the GPL 3.0, includes a recruitment module; the company also sells paid editions with more features.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; teams that need an HR information system first and recruitment second.&lt;/p&gt;

&lt;h2&gt;
  
  
  Odoo Recruitment
&lt;/h2&gt;

&lt;p&gt;Recruitment is one of the apps in &lt;a href="https://github.com/odoo/odoo" rel="noopener noreferrer"&gt;Odoo&lt;/a&gt;, the open-source ERP. The Community edition is licensed under the LGPL 3.0; some features are part of the paid Enterprise edition only.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; businesses already running Odoo, where recruiting next to accounting, sales and HR outweighs having a dedicated ATS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Recruit (OSSAdmiral)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/OSSAdmiral/Recruit" rel="noopener noreferrer"&gt;Recruit&lt;/a&gt; is a corporate recruitment system built with Laravel and FilamentPHP, under the AGPL 3.0. Its README says it is “under hard development and not yet ready for production”, and its last commit on the default branch was in November 2024.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Laravel developers who want a starting point to build their own recruiting tool, rather than a finished product.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the licences mean in practice
&lt;/h2&gt;

&lt;p&gt;All nine are open source, but they ask different things of you if you change the code:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Licence&lt;/th&gt;
&lt;th&gt;Who uses it here&lt;/th&gt;
&lt;th&gt;If you modify the code and run it internally&lt;/th&gt;
&lt;th&gt;If you offer your modified version to others over the web&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td&gt;Vekt, FreeATS&lt;/td&gt;
&lt;td&gt;No obligations beyond keeping the notice&lt;/td&gt;
&lt;td&gt;Same: no obligation to publish&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MPL 2.0&lt;/td&gt;
&lt;td&gt;OpenCATS&lt;/td&gt;
&lt;td&gt;Fine&lt;/td&gt;
&lt;td&gt;Changed files must stay under the MPL if you distribute them&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LGPL 2.1 / 3.0&lt;/td&gt;
&lt;td&gt;Horilla, Odoo Community&lt;/td&gt;
&lt;td&gt;Fine&lt;/td&gt;
&lt;td&gt;Mainly affects distributing modified copies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPL 3.0&lt;/td&gt;
&lt;td&gt;Frappe HR, OrangeHRM&lt;/td&gt;
&lt;td&gt;Fine&lt;/td&gt;
&lt;td&gt;Distributed copies must include the source&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AGPL 3.0&lt;/td&gt;
&lt;td&gt;Vellum, Recruit&lt;/td&gt;
&lt;td&gt;Fine&lt;/td&gt;
&lt;td&gt;You must offer the modified source to the users of your hosted service&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is a summary, not legal advice. If you plan to build a product on top of any of these, read the licence itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  A note on “GDPR-compliant” labels
&lt;/h2&gt;

&lt;p&gt;Some ATS products, open source and hosted, describe themselves as GDPR-compliant. No software is compliant on its own. Self-hosting lets you decide where candidate data lives and when it is deleted, but the lawful basis for processing, the privacy notice, the DPIA and your answers to candidate requests are still your organisation’s work.&lt;/p&gt;

&lt;p&gt;If an ATS uses AI to screen applications, that is also a high-risk use under the EU AI Act. We explain what that means on our &lt;a href="https://vekt.eu/ai-act/" rel="noopener noreferrer"&gt;AI Act page&lt;/a&gt; and what GDPR asks of a hiring system on our &lt;a href="https://vekt.eu/gdpr/" rel="noopener noreferrer"&gt;GDPR page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to choose
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You want a dedicated ATS and a familiar workflow:&lt;/strong&gt; start with OpenCATS or FreeATS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You want AI screening, but with a human deciding and the data under your control:&lt;/strong&gt; Vekt, or Vellum if a shared inbox and multi-tenancy matter more to you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You want recruiting inside a full HR or ERP system:&lt;/strong&gt; Horilla, Frappe HR, OrangeHRM or Odoo, ideally whichever matches what you already run.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You want a codebase to build on:&lt;/strong&gt; pick by language and licence first. MIT gives you the most freedom.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whichever you pick, run it with real job postings for a week before you move live candidates into it.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is the best open-source ATS?
&lt;/h3&gt;

&lt;p&gt;There isn’t one best option; it depends on scope. For a dedicated ATS, OpenCATS and FreeATS are the most established. For AI screening with human review and automatic data deletion, Vekt. For recruitment inside a full HR suite, Horilla, Frappe HR, OrangeHRM or Odoo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which open-source ATS is easiest to self-host?
&lt;/h3&gt;

&lt;p&gt;The projects with a maintained Docker Compose setup: Vekt, FreeATS, Vellum and Horilla. Vekt also has a one-line setup script that generates secrets and starts everything.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is there a free open-source ATS with no user limits?
&lt;/h3&gt;

&lt;p&gt;Yes. Self-hosted open-source software has no seat limits: Vekt, OpenCATS, FreeATS’s self-hosted version and the others here all let you add as many users as you like. Limits only apply to hosted plans, such as FreeATS Cloud.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can an open-source ATS use AI without sending CVs to OpenAI?
&lt;/h3&gt;

&lt;p&gt;Yes, if it supports a local model. Vekt can score CVs with a model running in Ollama on your own hardware, and Vellum also supports local AI.&lt;/p&gt;

&lt;h3&gt;
  
  
  What’s the difference between a self-hosted ATS and an open-source ATS?
&lt;/h3&gt;

&lt;p&gt;Self-hosted describes where it runs: on your servers. Open source describes the licence: you can read and change the code. Most tools here are both, but a hosted service can be open source, and some proprietary software can be self-hosted.&lt;/p&gt;




&lt;p&gt;Found an error, or a project we should add? &lt;a href="https://github.com/Behnoudmst/vekt/issues" rel="noopener noreferrer"&gt;Open an issue on GitHub&lt;/a&gt; and we will update this page.&lt;/p&gt;

</description>
      <category>opensourceats</category>
      <category>selfhosted</category>
      <category>comparison</category>
    </item>
  </channel>
</rss>
