{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "cortezaproject--corteza",
    "name": "Corteza",
    "tagline": "Apache-2.0 low-code platform with a shipped CRM app and an API-first backend driven over OAuth2.",
    "shortTagline": "Low-code platform with a CRM app",
    "description": "A Go server plus Vue apps for building CRM and other structured-data apps from modules, records, pages and workflows, maintained by Planet Crust. Deploy with docker-compose and a .env; the CRM comes as a low-code template you reshape in the UI. Every subsystem (records, modules, users, roles, workflows, reporting, federation) is a REST resource with OAuth2 client-credentials JWTs.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "smb-ops-crm",
    "alternativeTo": [
      "Salesforce"
    ],
    "shape": "internal-tool",
    "formFactor": "web-app",
    "executionModel": "deterministic",
    "provenance": "human-written",
    "codeStack": {
      "languages": [
        "Go",
        "JavaScript"
      ],
      "frameworks": [
        "Vue.js"
      ],
      "packageManager": "go modules + yarn",
      "database": [
        "PostgreSQL",
        "MySQL/Percona",
        "SQLite (dev)"
      ],
      "hostingTarget": [
        "Docker Compose"
      ]
    },
    "modelStack": null,
    "repos": [
      {
        "url": "https://github.com/cortezaproject/corteza",
        "owner": "cortezaproject",
        "name": "corteza",
        "license": "Apache-2.0",
        "stars": 2141,
        "lastCommit": "2026-08-27"
      }
    ],
    "interface": {
      "kind": "api",
      "url": "https://docs.cortezaproject.org/corteza-docs/2024.9/integrator-guide/accessing-corteza/index.html",
      "official": true,
      "hosted": "both"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Create, read, update and delete records in any module",
        "reachable": true,
        "evidence": "Integrator guide: compose records API"
      },
      {
        "job": "Define modules, fields and namespaces",
        "reachable": true,
        "evidence": "Integrator guide: modules and namespaces are API resources"
      },
      {
        "job": "Run and manage automation workflows",
        "reachable": true,
        "evidence": "Integrator guide: automation workflows API"
      },
      {
        "job": "Manage users, roles and permissions",
        "reachable": true,
        "evidence": "Integrator guide: system users and roles"
      },
      {
        "job": "Reporting",
        "reachable": true,
        "evidence": "Integrator guide: reporting subsystem exposed"
      },
      {
        "job": "Sync data across instances",
        "reachable": true,
        "evidence": "Federation nodes and data synchronization in the guide"
      },
      {
        "job": "Build record pages and layouts",
        "reachable": null,
        "evidence": "Pages are compose resources; API coverage not confirmed on the access page"
      },
      {
        "job": "Write automation scripts (Corredor)",
        "reachable": null,
        "evidence": "Automation scripts are a separate integrator topic; not on the access page"
      },
      {
        "job": "Import the CRM template",
        "reachable": null,
        "evidence": "Template import is documented as a UI step"
      }
    ],
    "editions": [
      {
        "name": "Self-hosted",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/cortezaproject/corteza"
          },
          {
            "kind": "container",
            "url": "https://docs.cortezaproject.org/corteza-docs/2024.9/devops-guide/index.html"
          },
          {
            "kind": "hosted",
            "url": "https://latest.cortezaproject.org/"
          }
        ]
      },
      {
        "name": "Planet Crust cloud",
        "price": null,
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://www.planetcrust.com/start-trial-lp-main"
          }
        ]
      }
    ],
    "skills": {
      "kind": "none",
      "paths": [],
      "install": null,
      "note": "No SKILL.md, Claude Code plugin, or skills install target in the repo."
    },
    "customization": {
      "summary": "The devops guide ships docker-compose.yaml plus a .env: DOMAIN, VERSION, DB_DSN, AUTH_JWT_SECRET, SMTP_* and HTTP_WEBAPP_* are the working set, with DISCOVERY_* for the optional search stack. The CRM itself is low-code: modules, fields, pages and workflows live in the database and are edited in the UI or over the API, so an SMB reshapes the CRM without a build step.",
      "envVars": [
        "DOMAIN",
        "VERSION",
        "DB_DSN",
        "AUTH_JWT_SECRET",
        "SMTP_HOST",
        "SMTP_USER",
        "SMTP_PASS",
        "SMTP_FROM",
        "HTTP_WEBAPP_ENABLED",
        "HTTP_WEBAPP_LIST",
        "LOG_LEVEL",
        "ACTIONLOG_DEBUG",
        "DISCOVERY_ENABLED",
        "DISCOVERY_BASE_URL"
      ],
      "configFiles": [
        ".env",
        "docker-compose.yaml"
      ],
      "promptFiles": [],
      "effort": "config-only",
      "editCount": 16
    },
    "useWhen": [
      "I want a CRM whose fields and workflows our agent can redefine through an API, under a permissive license",
      "I need several small business apps (CRM, case management) on one self-hosted platform"
    ],
    "accounts": [
      "SMTP relay",
      "Planet Crust account (cloud edition)"
    ],
    "active": true,
    "lastActivity": "2026-08-27",
    "gotchas": [
      "Admin bootstrap (roles, users, auth clients) is manual in the Admin web app",
      "Access tokens expire after two hours; agents must refresh",
      "The Discovery search stack adds OpenSearch and a second server image",
      "Docs are versioned (2024.9); check they match the deployed VERSION"
    ],
    "fit": {
      "adaptable": 3,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: Go server with Vue web apps; devops guide docker-compose",
      "executionModel": "No model dependency in README or docs",
      "operability": "Integrator guide accessing-corteza: OAuth2 client credentials, /auth/oauth2/token, API docs at /api/docs",
      "effort": "devops-guide deploy-online: .env and docker-compose.yaml with named vars",
      "editions": "README: Apache-2.0; Planet Crust hosted trial",
      "active": "GitHub pushedAt 2026-08-27"
    },
    "confidence": {
      "formFactor": 0.95,
      "executionModel": 0.85,
      "operability": 0.9,
      "effort": 0.9,
      "reach": 0.8,
      "editions": 0.7
    },
    "openQuestions": [
      "Planet Crust cloud prices",
      "API coverage for compose pages and automation scripts",
      "Is 2024.9 still the current release line?"
    ],
    "sources": [
      {
        "url": "https://github.com/cortezaproject/corteza",
        "foundBy": "sourcing:smb-ops-crm:community"
      },
      {
        "url": "https://docs.cortezaproject.org/corteza-docs/2024.9/integrator-guide/accessing-corteza/index.html",
        "foundBy": "sourcing:smb-ops-crm:community"
      },
      {
        "url": "https://docs.cortezaproject.org/corteza-docs/2024.9/devops-guide/examples/deploy-online/index.html",
        "foundBy": "analysis"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Both capabilities. Apache-2.0, documented .env, API-first backend. Internal-tool shape: the CRM is a template on a platform.",
      "disputed": []
    },
    "url": "apps/cortezaproject--corteza.html",
    "coverage": "partial",
    "paid": false,
    "source": "research/verified/cortezaproject--corteza.json"
  }
}
