Skip to content
Strategia Informatica
  1. Home
  2. Expertise
  3. AI and automation

Applied AI and automation

We use artificial intelligence where it is really needed and with the right guardrails: agents that work continuously within defined perimeters, read-only and with verified reports; automation of administrative cases on portals and management systems that have no API; document processing; web, desktop and Android applications.

One rule runs through everything: before anything is sent or any irreversible action is taken, there is a person. Drafts stay drafts, forms are submitted after the go-ahead, PINs are typed in by the person who holds them.

AI agents in continuous operation

We entrust AI agents with a perimeter and a written mandate: monitoring, looking for what the checks miss, improving their own code, keeping a log. Deterministic programs do the continuous monitoring; the agents interpret the data, write the reports and fix the code. On the monitored systems they work read-only and without opening new channels: a person decides on interventions.

We do not take the agents’ claims at face value: a second workflow, explicitly tasked with disproving them, checks them before they become a report.

Technologies and products

  • Coding agents with models from several providers, including open-weight ones
  • Multi-agent workflows with adversarial verification
  • Python, systemd, cron, Docker, tmux
  • Read-only SSH and WinRM access

Examples

  1. Continuous monitoring of multiple perimeters In production

    Reports that must stand up to anyone trying to disprove them

    The problem
    A full analysis carried out by several agents produced convincing reports, but not everything they claimed was true.
    What we did
    A second workflow tried to disprove the three main claims of each report by checking files, processes and logs.
    Result
    Some claims did not hold up (automatic backup copies and wake-ups that were declared but did not exist) and were corrected. Since then adversarial verification has been part of the process.
  2. Continuous monitoring of multiple perimeters In production

    The error that never became an alarm

    The problem
    In all ten monitoring sessions, an error in the check itself stayed silent instead of becoming an alarm.
    What we did
    Two separate channels: new items are reported once, active anomalies every time. Then a before-and-after measurement on 21 risks, using the same metric: do they really reach a person?
    Result
    Three hidden faults resurfaced. The measurement showed that notification to people had not yet improved, and since then new critical issues have arrived with an alert from the portal.

Browser automation for portals without APIs

For portals that offer no API we use dedicated Chrome instances with a persistent profile, driven through the DevTools Protocol or with Playwright: calls run inside the tabs, automatic sign-in with the second factor where the account holder has set it up, checks against frozen tabs. CAPTCHAs and SMS codes always go back to a person.

Technologies and products

  • Playwright (Python and Node.js)
  • Chrome DevTools Protocol
  • TOTP
  • PowerShell

One example

  1. Internal use, hardware purchasing In production

    A quote from eight portals in 40-70 seconds

    The problem
    For a quote we had to open the distributors’ B2B portals one by one, sign in again where sessions had expired and compare prices and availability by hand.
    What we did
    One command queries eight portals, signs in again where sessions have expired and returns net price, list price, availability, promotions and variants, including the actual seller in marketplace offers.
    Result
    Response in 40-70 seconds; automatic sign-in tested on 7 portals. A first version based on a multimodal model that read the pages was replaced by deterministic scripts, which are faster and more predictable.

Automation of administrative cases on web management systems

We turn an office procedure into a verifiable chain: a work list from Excel, navigation of the management system, extraction from the official PDF documents, calculation according to the law, entry of the outcome, a check of the result, a Word letter from the office’s template and a written record for each case. Anything that does not add up goes to a person.

Technologies and products

  • Python and Playwright
  • PyMuPDF
  • Decimal for calculations
  • openpyxl and Word

One example

  1. Service company for a municipal tax office In production

    Local tax recalculations, with a check after data entry

    The problem
    Recalculating local tax assessment notices according to the law, case by case, on a web management system without an API.
    What we did
    Seven Python modules, parsers for the notices in two formats, a study of the legislation (penalties, charges, late-payment interest, notifications, the summer suspension of time limits) and eight letter templates. After data entry the program compares the outstanding amount with the letter and, if the difference exceeds the tolerance, cancels the entry and enters it again.
    Result
    In the second batch, 34 of 39 cases completed (2 discarded, 3 passed to manual verification), about 4.6 minutes per case; 22 defects fixed along the way.

Administrative automation and e-invoicing

Invoicing documents and checks built on dated records, never on estimates: the e-invoice XML is the authoritative document, PDFs are generated from the official stylesheet and a document does not go out if a check fails.

Technologies and products

  • Italian e-invoicing format (FatturaPA) and XSL
  • E-invoicing REST APIs
  • IMAP and SMTP
  • Python and headless Chrome

One example

  1. Organisation of a major event Delivered

    Supplier invoices downloaded and verified

    The problem
    Collecting the suppliers’ invoices in an orderly and readable archive.
    What we did
    Download through the APIs with the original XML, PDFs generated from the official stylesheet and an index.
    Result
    16 invoices archived, all checks passed.

Document processing

Extraction of text and data from PDFs (including scanned ones), extractive summaries with headlines, Word and PDF documents identical to the client’s templates, source indexes with SHA-256 hashes.

Technologies and products

  • python-docx and Word automation
  • PyMuPDF and pypdf
  • tesseract
  • ReportLab and Pillow

One example

  1. Large company Prototype

    Reports in the client's corporate format

    The problem
    Producing long reports in the client’s corporate template without redoing the formatting, tables and images by hand.
    What we did
    A generator that clones the original template and preserves its formatting, tables and images, with a suite of automated tests.
    Where we have got to
    It has produced a 43-page progress report with 93 tables and a report on the implementation of NIS2.

Email, Microsoft Graph and digital signatures

Mailboxes read by scripts in read-only mode, drafts that the account holder then sends, bulk imports, documents digitally signed and independently verified. There are no passwords in the scripts: authorisation goes through OAuth.

Technologies and products

  • Microsoft Graph
  • OAuth 2.0 with PKCE
  • Exchange Web Services
  • PAdES
  • asn1crypto and cryptography

Examples

  1. Internal use In production

    Company email with no passwords in the scripts

    The problem
    Reading a Microsoft 365 mailbox on a federated domain and preparing replies without entrusting the credentials to a program.
    What we did
    OAuth authorisation with PKCE after a sign-in by the account holder, a refresh token that changes with every use; the replies become drafts in the mailbox.
    Result
    Reading is automatic and sending always stays in the account holder’s hands.
  2. Registration case with an authority Delivered

    Declarations signed and independently verified

    The problem
    Producing digitally signed declarations and being certain that the signature was valid before sending them.
    What we did
    PDFs generated from the official data, remote signing driven by a script, with the PIN and OTP typed in by the holder, then an independent verification: covered bytes, digest, signature over the attributes, certificate.
    Result
    Documents signed in PAdES and the case closed.
  3. Industrial company Delivered

    Five hundred contacts in two mailboxes, zero errors

    The problem
    Importing an address book into two Exchange mailboxes.
    What we did
    Import through Exchange Web Services, with a check of the results.
    Result
    504 contacts imported, zero errors.

Web, desktop and Android applications

Portals with Python or Node.js backends, SQLite and server-generated pages, behind nginx with automatic certificates: two-layer sign-in, CSP, CSRF protection, automatic restart. Windows applications for workstations, with packages for silent installation; native Android apps. The phone bars for operators are described in the Telephony and contact centres area.

Technologies and products

  • Python, FastAPI, SQLite
  • Node.js and Electron
  • C# and .NET, WiX (MSI)
  • Rust and Tauri
  • Kotlin and Jetpack Compose

Examples

  1. Monitoring for multiple clients In production

    A monitoring portal built and improved every day

    The problem
    Bringing together in one place the status of many monitored perimeters, with separate documents for each client.
    What we did
    A portal with per-client views, a page for each issue, PDFs for individual clients verified by an automated test on the text and alerts only for new critical issues.
    Result
    In production since 17 October 2026, with continuous improvements.
  2. Service company Delivered

    Do not disturb during video calls

    The problem
    Incoming calls interrupted users’ video calls.
    What we did
    A Windows application recognises video calls from the audio level and the window titles and sets the “do not disturb” status; deployment through 64-bit MSI packages with silent installation.
    Result
    Version 2.4 delivered; the rewrite in Rust and Tauri is a prototype.
  3. Research and development Prototype

    Navigation on the slopes, even without a network

    The problem
    Finding your way on the ski slopes even where the phone has no coverage.
    What we did
    An Android app with Kalman-filtered GPS, a calibrated compass, route calculation with Dijkstra’s algorithm on a graph derived from OpenStreetMap, elevations and data available offline.
    Where we have got to
    Working prototype, distributed only for internal testing.

Privacy and data residency in AI tools

Before adopting an AI tool we check where the data goes, by reading the provider’s terms and not its promotional pages. And we design the workflows so that the documents we deliver carry neither other clients’ data nor secrets.

Technologies and products

  • GDPR and standard contractual clauses
  • ISO/IEC 42001 and NIST AI RMF
  • Automated secret scanning
  • Pseudonymisation

Examples

  1. Client company In progress

    A coding assistant and the GDPR

    The problem
    Finding out whether an AI coding assistant keeps data in Europe.
    What we did
    Analysis of the provider’s terms: on the standard service, data is also processed outside the European Union; it stays in the region only with the data-residency enterprise edition and a dedicated rule, which is disabled by default.
    Where we have got to
    A documented overview, including what leaves the region in any case: telemetry, billing, support and checks for secrets.
  2. Monitoring for multiple clients In production

    Each client sees only their own data

    The problem
    A portal that serves multiple clients must never mix their data in the documents.
    What we did
    Separate PDFs for each client with an automated test on the text, scanning for secrets in the reported issues (only hashes reach the server), pages without external resources.
    Result
    Every PDF passes an automated test on the text before it is delivered.

Tell us about the problem

A network to put back in order, an incident to handle, data to make sense of: the first conversation is about understanding whether and how we can help.