Skip to content

BZP and TED deadlines and watched proceedings appear in one list.

A separate isolated process reads each outside document. Only a closed set of validated fields reaches assessment. Content that resembles an instruction goes to quarantine.

Tender monitoringDemonstration systemReview one week of tender notices

Recorded model and control run

The system read a notice into an agreed set of fields. Raw document content did not enter the decision step, and the history retained the source, check, and result.

Live run
Recorded model and control run
Read cost and time
Tender monitoring
Provenance
synthetic data

Problem, solution, and result

  1. The problem

    Tender alerts return many notices matched only by a broad procurement code. Estimators open document after document, search for participation terms, and track deadlines in several places.

  2. How the system works

    The system collects BZP and TED notices, normalizes the key data, and puts deadlines on one list. An isolated process reads documents without access to the database or assessment tools. Suspicious content goes to quarantine.

  3. What we tested

    The system read a notice into an agreed set of fields. Raw document content did not enter the decision step, and the history retained the source, check, and result.

For whom

This is a good automation candidate when alerts return too many notices and the team manually searches for deadlines and conditions across several sources.

Sources → deadlines → document isolation → decision

  1. 01BZP and TED notices enter one list
  2. 02An isolated process reads outside documents
  3. 03The team makes the bid decision
Business type
Contractors and suppliers bidding in public tenders
Input
67 notices from the BZP and TED registers, each linked to its official source
Boundary
Outside documents stay on the reader side; only a closed set of validated fields reaches the decision path
Cost
About PLN 0.00083 for the recorded read of one notice.
Security
Suspicious document content remains isolated. Only verified fields move into assessment.
Speed
We measure collection and assessment time in a pilot using the selected sources.
Trace
The history identifies the official source, each step, and the result of the check.
Similar system build
from €6,000 net (approx. $6,500) · 6–16 weeks

Where automation stops

The team makes the bid decision

The system gathers assessment material and links to the official source. The team evaluates the opportunity, decides whether to bid, and prepares the offer. Missing documents are visible. The public version analyzes no client files and builds no contractor profile.

Boundary
Outside documents stay on the reader side; only a closed set of validated fields reaches the decision path
Cost
About PLN 0.00083 for the recorded read of one notice.
Security
Suspicious document content remains isolated. Only verified fields move into assessment.
Speed
We measure collection and assessment time in a pilot using the selected sources.

Estimated impact

Calculate the impact at your volume

This estimate uses the stated volume. Enter your own numbers to assess the possible impact in your company. The result is confirmed only during a pilot.

  1. Today

    scenario: fully manual screening

  2. With the system

    assumption: 8 min less per notice

  3. Time or cost saved

    model: 75-120 h/mo, base 96 h

Volume
720 notices/mo
Formula
720 x 8 min / 60
Calculation status
medium

Data in the screenshots. The names, amounts, and documents shown in the screenshots are synthetic. Client data remains private. Measurements describe the demonstrator and are kept separate from production outcomes.

Working surfaces

The team selects proceedings and makes the bid decision. The system prepares organized material.

The team starts with a deadline map, watched proceedings, and items ready for assessment. Quarantine shows what stopped and why. A pilot measures notice volume, manual review time, and rule quality on client documents.

Three views for tender monitoring

Deadline map

BZP and TED notices ordered by bid deadline.

Proceeding record

Key details, document status, and a link to the official source.

Quarantine

Held content with the reason and review status.

System screens

See how the system works in practice

These desktop and mobile screenshots come from the running application. They show the process and the points where a person makes the decision.

Screens
17
px
1440 · 390
011440×1100
One deadline list for BZP and TED.
390390×844
  1. 021440×2168
    A proceeding record with the official source and missing-SWZ notice.
  2. 031440×1100
    A quarantined document with a hidden instruction and recorded hold reason.
Open the remaining screen archive (14)
  1. 041440×1100
    Notice register
  2. 051440×1100
    A procurement card
  3. 061440×1100
    Separation measurement
  4. 071440×1100
    Sources and saved state
  5. 081440×1100
    Register after selecting a day
  6. 091440×1100
    Register filtered to TED
  7. 101440×1100
    Explicit empty result
  8. 111440×1100
    Quarantine: held and passed records
  9. 121440×1100
    Quarantine negative control
  10. 131440×1100
    Measurement thresholds and method
  11. 141440×1100
    TED request and hash
  12. 151440×1100
    TED response count and hash
  13. 161440×1100
    Record provenance
  14. 171440×1100
    Watchlist after adding a procurement

Technology stack

Documents and decisions run in separate zones

The reader has no access to the planner database. Pydantic validates a closed data contract, LangGraph runs four steps, and PostgreSQL stores the audit chain.

Isolated reader
reads the document on a separate network, with no access to the database or planner tools
LangGraph
runs the four explicit assessment steps and records statuses and decisions
FastAPI + Pydantic
runs the process and rejects raw fields on a closed contract
PostgreSQL
stores decisions and the audit chain
MinIO
document storage reachable only by the reader
Next.js
the interface for the deadline map, folders, and quarantine lane

The client receives the code, contracts, test data, and documentation. Production use requires live sources, attachment handling, and a contractor profile.

Technical details and measurements

The working loop

Every document crosses the same boundary

The reader extracts text without access to assessment tools. Validated fields cross in a closed format. Suspicious content remains in quarantine.

01

BZP and TED notices

02

Normalized details and deadlines

03

Document → isolated reader

Suspicious content → quarantine

04

The team assesses the proceeding

System architecture

Two notice sources, an isolated reader, and a closed data contract

The reader can access documents but not the planner database. The planner receives only validated fields. PostgreSQL stores records and the audit chain.

  1. 01

    Sources

    Public registers with proof of origin.

    BZP and TED records enter with request parameters and SHA-256 hashes of the source responses. Every record leads to the official API and can be verified at its source.

  2. 02

    Isolation

    A reader with no database or planner tools.

    The process reading a document can reach the dedicated MinIO store but not PostgreSQL or planner tools. Separate networks and credentials limit what untrusted content can do.

  3. 03

    Quarantine

    A suspicious artifact stops with its reason.

    Security rules classify the content, and an artifact carrying an injection attempt goes to the quarantine lane with a justification and an audit entry.

  4. 04

    Contract

    The planner sees only a closed schema.

    Assessment receives the closed reader/v1 contract with no raw fields and no storage credentials. LangGraph runs four explicit steps and records hashes, statuses, and decisions.

Why this much machinery and not a bit more

Tender documents arrive from the open internet, so isolation lives in service topology and credentials rather than in prompt wording. LangGraph runs the four-step assessment loop, including its quarantine branch. No other orchestration component is needed; every additional component creates another attack surface and maintenance obligation.

  • A privilege boundary separates reading from deciding
  • The data contract carries no raw fields
  • Quarantine holds artifacts with a justification
  • Source hashes tie every record to the official API

Want to assess a similar process in your company?

  • A 30-minute call with the engineer who would lead the work.
  • A review of the processes that cost you the most time and money.
  • A written summary of what to automate first and the likely cost range.
€030 minutes · written takeaway within 2 business days
Book a free process scan (30 min)

Times are shown in your own time zone. We work with clients across time zones.

The scan is free and creates no obligation. If automation is unlikely to pay off, the written recommendation will say so.