Expertise & projects

Software. Systems.

Our work is information processing. Software is designed to structure, check and protect information, and move it between your tools.

An organised software interface connects to three intact glass modules assembled on a shared base.

Understand the business, then build

“I want someone who understands what my software needs to do.”

A quotation, a stock movement or an accounting calculation depends on precise rules. Screens, data exchanges and checks are defined around those rules.

This practice draws on more than twenty-five years in IT: a qualification in business information technology completed in 1997, a first financial consolidation ERP delivered in 1999, followed by several ERP developments alongside accountants.

The experience also includes leading a team and substantial IT systems. Today, Karbonic is a small business with a single point of contact from understanding the business requirement through to deployment.

  • Understand operations, exceptions and authoritative data.
  • Connect the application to existing equipment, access controls and tools.
  • Plan checks, data migration and maintenance.

Getting started

A real operation, an example of the expected result and the limitations you face are enough for an initial discussion.

Custom software development FR · Work organisation and budget FR

Work we have already carried out

“I want to know what experience my project can draw on.”

Sectors and contexts: industry, printing, semiconductor inspection, welding systems for plumbing, financial management and law firms.

Develop software for business operations

A first ERP system for financial consolidation was delivered in 1999. Further ERP systems were then developed alongside accountants, translating business operations into processing rules and checks.

Keep software in use over time

Technical documentation management software developed in 2006 remained in use within an industrial group until 2024. This experience covers both the development of the tool and the organisation of the information it manages.

Make technical subjects understandable

Writing and translation work has covered high-speed printing machinery, semiconductor inspection equipment and welding systems for plumbing. The operation, procedures and specialist terminology must be understood before they can be explained.

Manage and secure systems

Assignments include managing IT estates, virtualised or physical servers and communication systems. Equipment, access rights and protection are considered together; telephony can be integrated into this organisation.

Examine digital traces

Forensic analysis of workstations and phones, together with detailed log audits, is carried out for clients including law firms. Depending on the information available, examinations cover deleted data, system or firewall logs and location traces. Findings are distinguished from hypotheses and information that cannot be established.

IT estate and server management FR · Writing and translation FR

Distributed products

“I am looking for an established tool for a specific need.”

K-Shield, NetWatch and HTML Editor are software tools developed by Karbonic. Their provision and the support required are defined according to your situation.

K-Shield — restore a website and improve its security

A compromised website needs to be examined, repaired and monitored. K-Shield combines reinstalling a clean core with signature-based and heuristic detection of backdoors.

  • Detected items are named in the report; reversible quarantine allows affected files to be handled.
  • Database cleaning and hardening are part of the recovery functions.
  • Depending on the configuration, a web application firewall and behavioural analysis complement monitoring.

Recovery is carried out while preserving your control over access. Findings and the limits of the analysis remain identifiable.

Getting started

The website address and the symptoms you have observed, without sending a password in your first message.

Explore K-Shield FR

NetWatch — see the estate and endpoint protection

Having protection software installed does not describe the state of an entire IT estate. Deployed at customer sites, NetWatch brings together the local network inventory and endpoint protection information.

  • Equipment and protection coverage are inventoried.
  • Gaps are made visible in reports and alerts.
  • Commands can be executed from a workstation on the network, within the agreed scope of intervention.

Getting started

An inventory, even if incomplete, and the management and security tools already in use.

Explore NetWatch FR · IT estate and server management FR

HTML Editor — structure and publish documentation

Documentation needs to keep pace with product changes. HTML Editor brings together structured editing, PDF publishing and exchanges with word-processing documents, using DITA or DocBook according to the need.

  • Content is organised for reuse and maintenance.
  • Document exchanges and outputs are checked against representative examples.
  • AI-driven operation is part of the authoring and review process.

Getting started

A representative document, its variants and the formats in which it needs to be published.

Explore HTML Editor FR · Technical writing and translation FR

Expertise & R&D

“My requirement does not fit a ready-made application.”

The work below illustrates ongoing development. It presents skills being applied; its inclusion here does not mean that a complete product is available for sale.

An ERP built around business operations

Development covers quotations, invoices, purchasing, stock, time, accounting and payroll. A bridge to an existing desktop application prepares a gradual transition towards its replacement.

  • The relationships between operations and their accounting consequences are taken into account.
  • Data migration and exchanges with the existing tool are part of development.

Getting started

A business workflow, from the initial document to the accounting result, and the data that must be retained.

Email connected to several services

A desktop client brings together several email and calendar connectors. Heavy processing is organised separately from the interface.

  • Connections to mailboxes and calendars are integrated into one tool.
  • Background processing and synchronisation are taken into account in the architecture.

Getting started

The services to connect and the operations that currently require switching between tools.

Summaries whose facts remain linked to source documents

A document summarisation engine is being developed around a fidelity framework: every fact must be linked to its source and pass defined checks. Items that fail those checks are excluded from the summary and flagged for review.

  • The document and passage used remain identifiable.
  • Accepted facts and items requiring verification are kept separate.
  • The correspondence between a statement and its source must be checked: a reference alone does not establish it.

Getting started

An anonymised case file, the questions to answer and the documents that should serve as references.

Document management that keeps files accessible

A document management system is being developed around one principle: folders and files remain readable without the application.

  • Text recognition and automatic classification support document processing.
  • Approval workflows organise work around the folders.
  • Access to files is retained independently of the management interface.

Getting started

A typical folder, its current organisation and the processing or approval stages.

Discuss custom software FR · Automate tasks FR · Control data and its processing FR

How we build

“I want to know how errors are identified and results checked.”

A new application, an existing system or an AI-generated prototype is examined against its intended use: inputs, business rules, expected results and failure cases.

The following examples illustrate engineering principles. They are generic and simplified, not extracts from Karbonic products.

Migrate data with explicit checks

For an import, field mappings are defined before the transfer. Processing is grouped where appropriate, then checked: record counts, keys, relationships, values and totals relevant to the business.

SQL example for MariaDB: the source remains unchanged during the check, the target is empty, field types match, and ref is a unique, non-null key. Data is transferred in one query, then the same fields are compared on both sides.

-- Same field types; stable source, empty target, unique non-null ref.
INSERT INTO cible (ref, libelle, montant)
SELECT ref, libelle, montant FROM source_normalisee;

-- Compare all keys and row hashes, including missing or extra keys.
SELECT ref, MD5(JSON_ARRAY(ref, libelle, montant)) AS empreinte
FROM source_normalisee ORDER BY ref;
SELECT ref, MD5(JSON_ARRAY(ref, libelle, montant)) AS empreinte
FROM cible ORDER BY ref;

The two result sets must then be compared by key: different checksums, missing keys and extra keys. Row counts are checked too. A checksum per row avoids relying on the maximum length of a combined string; it is not proof of authenticity.

A fingerprint calculated from normalised data can supplement the comparison. It replaces neither the checks on transformation rules nor those on the business result. Acceptance and rollback conditions are defined before the switch.

Measure a stage to locate a slowdown

A log can identify the stage, its duration and any failure. Stage names are defined in advance; the content of processed documents does not need to be included in the log.

import logging
from time import perf_counter

def run_step(name, operation):
    start = perf_counter()
    try:
        return operation()
    except Exception:
        logging.error("step=%s status=failed", name)
        raise
    finally:
        # Record timing without logging the processed content.
        logging.info("step=%s elapsed_ms=%.1f",
                     name, (perf_counter() - start) * 1000)

Measurement provides a starting point for investigation. It helps distinguish slow processing from a network wait or an error at a specific stage.

Separate a checked fact from an item requiring review

def select_supported(facts, sources):
    accepted, pending = [], []
    for fact in facts:
        source = sources.get(fact.get("source_ref"))
        # A reference alone does not validate a claim.
        checked = fact.get("support_checked") is True
        if source is not None and checked:
            accepted.append(fact)
        else:
            pending.append(fact)
    return accepted, pending

This filter applies the outcome of an earlier check. It does not itself verify the meaning of a document. The validation status must come from the defined correspondence check, and pending items must remain visible.

These methods use languages suited to the project, including C, C++, Delphi, Java, JavaScript and Python. Systems integration and digital forensics complement this practice: understanding dependencies, locating traces and explaining what happened.

How results are checked FR · Digital investigation FR

A practical application: updating this website

“I want to request a change without editing the files myself.”

This website's management connects a request in everyday language to an interface for reading, modifying and publishing content. Versions are retained so that an earlier state can be restored.

This illustrates integration work: connecting a requirement, an assistance tool and the system that executes changes. The history makes it possible to retrieve a version; the result still needs to be checked before and after publication.

Data choices explained

“I want to know where my information is processed.”

Hosting and processing in Switzerland can be arranged. Depending on the use case, some processing can also remain on your own equipment. Processing locations, access, dependencies and recovery options are clarified before choosing a solution.

Hosting and control over data FR

Let's discuss what you want to improve

Describe an operation, a tool that limits you or a result that is difficult to obtain. The scope, options and initial checks will be discussed with you.

Let's discuss your project FR · Work, budget and schedule FR