yoda.digital / open source
Back to CONTender

CONTender · Privacy

Privacy policy

Updated: 6 June 2026

CONTender is a ChatGPT App (MCP server) for public-procurement integrity. This policy describes exactly what the server does, per its source code — nothing more.

In short

  • No account and no sign-in for the reading path (No Auth).
  • No persistence: no database, no disk writes. Everything is in memory and resets on restart.
  • Read-only: it queries public sources and changes nothing at the source.

Account and authentication

The default mode is "No Auth": no user account is created and no sign-in is required. A stable identity (subject) is used only for a possible paid tool and comes from the host (ChatGPT) context, not from a CONTender account. OAuth exists in the code but is optional and inactive in this phase.

What we store

Nothing persistent. There is no database and nothing is written to disk. Application state is strictly in memory and disappears when the server restarts:

  • Entitlements/credits for the appeal pack — in an in-memory store (with a 7-day refund window).
  • The civic-use ledger and the Buy-One-Give-Ten counter — in-memory variables.
  • Caches for the official data: MTender (~10-minute TTL) and ANSC (LRU), both in memory, to avoid re-fetching the same records.

Logging

The server writes operational logs to stderr only (no file, no database). These may include the called tool's name, the call arguments, a session identifier, and result metadata. Log retention is not defined in the application — it depends on the hosting environment (container/host).

Third-party services

The server talks only to the official procurement sources: MTender (public.mtender.gov.md, storage.mtender.gov.md) and ANSC (ansc.md / elo.ansc.md). Add to that ChatGPT as the host platform and Stripe — but only if payment is configured (inactive in the current phase). There is no third-party analytics or telemetry in the server.

Uploaded documents

When you analyze a document, the server receives a URL (for files uploaded into ChatGPT, the URL is resolved by the widget). The content is downloaded and extracted in memory (text + per-page images), then returned. The server does not store the file and never writes it to disk.

This website

The page you are reading now (opensource.yoda.digital) uses Google Analytics in aggregate, only after you accept cookies. That is website measurement and is entirely separate from the CONTender app's MCP server.

Contact

Privacy questions: [email protected] (Ion Calmîș, Yoda Digital).