Skip to content

Keyword Pro v1.0.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@AgriciDaniel AgriciDaniel released this 31 Aug 21:08

Keyword Pro v1.0.0-rc.1

Keyword Pro v1.0.0-rc.1 is the first public release candidate of the
local-first keyword research console.

Highlights

  • Run a guided report across up to 19 keyword sources, with demand, CPC,
    difficulty, intent, trends, SERP competitors, and related searches.
  • Choose from 94 markets and 46 languages. Invalid country-language pairs are
    blocked before they can reach a paid provider request.
  • Explore 332 keyword endpoints in Advanced mode.
  • Save completed reports locally, then reopen them without another provider
    call.
  • Export keyword results as PDF, CSV, and JSON.
  • Bring your own DataForSEO credentials through local environment settings or
    the Connections screen.
  • Review eight real application screenshots generated from deterministic
    synthetic data with no account or provider-response data.

Install

Requirements are Node.js 24, pnpm 9, OpenSSL, and Podman or Docker.

git clone https://github.com/AgriciDaniel/keywordpro.git
cd keywordpro
git checkout v1.0.0-rc.1
cp .env.example .env
pnpm install --frozen-lockfile --ignore-workspace

Generate a unique 32-byte encryption key, add it to .env, and follow the
database startup and migration steps in the README. Do not copy credentials
from another installation.

Privacy and supported use

Credentials stay on the local server, saved values are encrypted at rest, and
the application binds to loopback by default. This release is designed for one
local user. It is not a hardened multi-user internet service.

Live research spends money from the connected DataForSEO account. Keyword Pro
shows an estimate before a run, and actual cost and coverage vary by query,
market, language, account access, and provider response.

Verification

  • 677 offline assertions passed.
  • Biome checked 184 files, TypeScript passed, and the production build passed.
  • The dependency audit found 0 known vulnerabilities.
  • Six repository-safety checks found no tracked secrets, personal email
    addresses, private paths, escaping symlinks, or runtime state.
  • A one-commit public projection matched the reviewed source tree and archive.
  • Eight application screenshots passed reviewed hash, dimension, and metadata
    checks.
  • Fresh-install migration, repeat migration, local-user seed, legacy-data
    inventory, production startup, and loopback health checks passed.
  • Owner-supervised live acceptance completed nine full 19-source guided
    reports. The release estimator reported $0.495, and the most recent full
    saved run recorded $0.50256. Saved reports reopened without another provider
    request.
  • A saved 19-source live report containing 294 keyword rows produced a
    294-row CSV, parseable JSON, and a valid seven-page PDF.
  • A final pre-public scan covered main and all five active Dependabot
    branches. Detect-secrets reported no unexpected finding. Its only findings
    were package-manager integrity values and reviewed screenshot SHA-256 values.
  • Generated endpoint-group IDs replace every separator in one global
    sanitization step and pass a safe-character invariant.

Release-candidate status

This is a prerelease for installation and local evaluation. Report issues in
the repository before the final v1.0.0 release.

Known limits:

  • Keyword Pro supports one local user and binds to loopback by default.
  • Live DataForSEO calls spend money and can return different coverage by
    market, language, and account access.
  • Direct LAN or internet exposure is unsupported without authentication and a
    deployment-specific security review.

See the repository README for installation, screenshots, limits, and security
guidance. Licensed under Apache-2.0.

Release integrity

The attached keyword-pro-v1.0.0-rc.1-source.tar.gz archive was built from the annotated tag. It contains the exact 278-file tag inventory, excludes Git metadata and runtime state, and produced 0 unexpected secret-scan findings.

SHA-256: a9c61e2a0ef751a0b968f4fc80fe6006e414d175d67390f2d0509dce5af374cb