The register is already a network, so we store it as one. Companies, people, addresses and gazette entries are the nodes; mandates, signing rights, domiciles and publications are the edges. Asking who else sits on this board becomes one walk across the graph instead of a dozen separate extracts.
Swiss commercial-register data, held in Neo4j. A company node carries the register's own fields: legal form, purpose, capital, seat, registration and deletion dates, previous names.
Answers come from walking those relationships, not from searching documents. Each hop is a register fact you can open and read yourself.
The graph holds exactly what the register publishes — signature authority, registered officers and every filed change — across the whole of Switzerland.
Companies, people, addresses and gazette entries. A company that renamed in 2011 is still findable under its old name.
Mandates, signing rights, domiciles and publications, typed so you can follow one kind of link at a time.
The Swiss public record covers officers, signature authority and GmbH quotaholders. AG shareholder and beneficial-owner data sits outside the public record — for every provider.
Six parts, in the order data moves through them.
Register data as a Neo4j graph: nodes for companies, people, addresses and gazette entries, typed edges between them.
Company records, active and dissolved, with officers, signing powers, capital, purpose and seat.
A vision model transcribes the scanned pages; a second pass pulls out companies, people, amounts and dates. The page images are still re-ingesting after a change of source provider.
An analyst agent runs SQL over the register and calls tools for graph traversal, market data and sanctions screening. You pick the model behind it; we write its brief and train nothing.
Creditreform reports, ordered only after you state a legitimate interest and confirm on screen. Web search stays off until you turn it on.
German, French, Italian, English. Company names, UID numbers and dates stay as the register writes them, never translated.
Five steps every time, and three of them leave a trace you can open.
01
The question goes to the agent for the surface you are on, with its brief attached.
02
SQL over the register, graph traversal, market data, sanctions screening. Web search only if you turned it on.
03
Structured rows and subgraphs, not text snippets. A company arrives with its officers, capital and seat.
04
The brief tells it to ground every claim in the register and to flag anything the data leaves open — and every answer links the entries it used.
05
Every tool call sits under the reply with its arguments and result. Check any claim against the entry it came from.
Twelve companies, fourteen people and three addresses, invented for this page. Click a node to light up what is registered against it. The real graph is on SmartGraph.
Where things run and what leaves our infrastructure.
Graph.swiss is a Swiss company under Swiss law, the Swiss nDSG and the GDPR. Dedicated hosting arrangements, including Swiss-region deployment, are agreed as part of an enterprise contract.
Chat history and uploaded documents sit privately under your account, and documents are removed the moment you delete them. We train no models of our own.
Document text and page images are read by the model you pick, routed through OpenRouter, and by Google Gemini — under those providers' published terms.
Our information security management system is certified to ISO 27001:2022, and processing is GDPR and Swiss nDSG compliant. TLS in transit, AWS-managed encryption at rest, an audit log on every document read and deletion.
OIDC single sign-on with Okta and Microsoft Entra, including just-in-time provisioning, on the Enterprise plan.
The application ships as a container and runs in your own cloud, connected to our register backend and the model providers you choose.
More on how we handle data: Read the Trust Center
Look up a company whose file you have already read and see whether the answer matches it.