Only one person understands the spreadsheet.
The roster lives in a file that one person maintains. Anyone looking for cover writes to them. While they are on holiday, planning stops.
Sodalis holds a team's duty roster, knowledge base, contacts and incident documentation in one place — so that at three in the morning it is settled who is on duty, and who gets asked next.
No sign-up, no e-mail address. You get your own instance with realistic data, deleted an hour later. The application itself is in German.
The call-out is one thing. The other is everything that has to happen so that somebody is there at all. Three sentences you hear in almost every team:
The roster lives in a file that one person maintains. Anyone looking for cover writes to them. While they are on holiday, planning stops.
Short-notice cover gets asked for in a chat with fifty people. Anyone willing to answer has no idea whether somebody already said yes — so they stay quiet.
The sponsoring body, the supervisory authority or the funder wants a report. It gets assembled from memory, scraps of paper and a long search through old messages.
Everyone enters their own availability. The team lead sees immediately where it is getting thin, and no longer has to ring round.
Everything needed during a call-out on one surface — and the most important part of it runs with no network dependency at all.
A knowledge base with three example pages looks like a prototype. Sodalis ships with 62 usable entries — as a starting point, not as doctrine.
The standard is a single question: can the person reading it decide without signing in? Somebody is needed at short notice the day after tomorrow does not pass that test.
Incident records in Sodalis have no field for a narrative. Date, indication, alerting authority, number of people affected, measures taken, onward referral, duration, personnel deployed — and nothing else.
This is not a missing feature. It is the most important decision in the product. Most volunteer Notfallseelsorgende in Germany have no right to refuse testimony in court. A system that invites detailed written documentation increases their personal legal exposure. We do not build features that expose the people using them.
Who may read the content is likewise fixed, and not a setting: the participants, the author, and those holding the management capability. Everyone else sees title, date and status. Attachments follow the same rule enforced at the same place in the code — two implementations of one rule drift apart.
What this still produces is a defensible annual report. It comes out of the structured fields rather than out of prose somebody would have to read and code later.
The honest version first: the shared application layer is the real boundary between two organisations. Nobody here will claim access is physically impossible — a competent data protection officer asks exactly that.
Each organisation gets its own Postgres database with its own database role, holding no rights to any other database. Export, restore and deletion are therefore ordinary database operations rather than bespoke tooling.
Servers, backups, mail delivery and geocoding sit in Germany or the EU. So does the analytics for this page. There is no service in the data path subject to the CLOUD Act.
There is no switch that turns it off — not in development, not behind an environment variable. The former test bypass was removed outright, because it was one mistyped variable away from an open system.
Encrypted before the data leaves the server. A weekly job actually restores into a throwaway database and compares row counts and migration state. Last measured: 175 seconds end to end. An untested backup is not a backup.
Data export under Art. 20, pseudonymising deletion, retention periods. The duration is the controller's decision — yours — and not the processor's.
Roster and role changes, user administration, access to profile data. Operator support access is time-limited, requires a stated reason, and appears in your audit trail so that you can see it yourself.
Accessibility here is not a certificate on the wall. It is the reason the system is usable on a phone at night.
The setting applies to the whole application rather than to single pages — every size is relative, so this one number scales everything.
The dark version is not an inverted light one: its own surfaces, its own status colours, its own focus ring. An inverted palette produces grey mush and a warning nobody reads as a warning.
Everything tappable derives from a single value in the code. That makes the rule structural rather than a request in a guideline.
Body text at 14.6:1. If an organisation picks its own colours, the server checks them on save in both light and dark and rejects what does not hold.
Verified at 375, 768, 1100 and 1440 pixels — in the largest type size, because that is where the longest German compound noun hits the edge first.
Text first, icon second, colour third. An automated accessibility check runs over every route and blocks release.
Sodalis is not a primary dispatch path. The Leitstelle still reaches the duty lead by phone, and it stays that way. That exclusion is not only stated here; it is explicit in the contract.
What the system does is secondary call-out: requesting additional people when a situation grows beyond what was planned. That is a different thing from the route by which an incident begins in the first place — and the difference matters too much to hide in the small print.
Independent of how large your team is. Fifteen people cost the same as fifty. There are no add-on modules and no price tiers by headcount.
The price covers servers and working time. It is calculated to cover costs rather than to maximise profit — which is the reason there are no tiers, not an oversight.
Then write to me. If you are a small, entirely voluntary team and the price is what would stop this, I will make you an offer that fits. That sentence is here because it is meant, not because it reads well.
admin@flamingbattenberg.deA roadmap is a plan, not a promise. Anything listed as planned is not sold and is not charged for. Anything listed as available you can touch in the demo today.
Month grid with multi-select, three roles, deadlines, absences, special duties and administrative override.
62 knowledge pages, contact management with coordinates and manual correction by map pin, postcode search with no third-party service.
Structured forms on the PSNV model, a visibility rule covering content and attachments, incident companion from start to close, annual report.
E-mails carrying every relevant detail, per-person settings, a daily cap against message floods, unsubscribe route in the headers.
Secondary call-out with real responses — on my way, arriving in 20 minutes, cannot make it — and a live count for the duty lead. Escalation runs in waves; the final stage shows the phone numbers of those who have not answered.
Installable without an app store, with push notifications and an offline store: contacts with coordinates and your own roster window work without a network.
Dedicated apps with push through Apple and Google directly, with no intermediary provider. The push payload stays content-free — an identifier only, never names, never incident detail. The app fetches the content over its own API.
Print the roster, export records as PDF, subscribe to your own duties in the calendar of your choice.
The language boundary inside the code is already drawn — what is missing is the translation itself. Until then the application is German.
Once tenant separation and authentication are stable, an external team tests the application. The result gets named to customers rather than withheld.
You do not have to prepare or convert anything. An organisation with 50 members and 300 contacts is set up in under an hour.
A spreadsheet, a list, an e-mail, a phone call. The format does not matter — importing it is my work, not yours.
Your own database, your colours and logo, your role requirements, your duty hours and deadlines.
Everyone sets their own password and configures two-factor sign-in. There are no administrator-issued passwords — not even at the start.
One session for the administrators, and a second trained person on your side with emergency access — so you do not depend on my availability.
Sodalis is built and run by one person. That has advantages — short paths, no call centre, no change that has to pass a committee — and one obvious drawback.
I would rather raise it myself than leave it to the question in the sales call: what happens if I stop tomorrow? Four things that therefore apply, and are in the contract:
In Germany, with a German provider holding ISO 27001 certification and a data processing agreement available immediately.
No service in the data path is subject to the CLOUD Act — that covers servers, backups, mail delivery, geocoding and the analytics on this page alike.
Yes, in two versions: under the GDPR, and in a church-law variant for bodies subject to KDG or DSG-EKD.
The contracts are drawn up by a lawyer rather than self-written.
The strictest standard is applied throughout, including for teams that are only subject to the GDPR. The practically most important consequence is the absence of US processors anywhere in the data path.
For the pastoral-care mandate there is additionally the decision against free text in incident documentation. That is precisely why it was made.
You trigger the full export yourself, whenever you want, and get an open format. Your database is then deleted; it ages out of backups according to the periods in the deletion policy.
Both are in the contract with stated periods, not promised in an e-mail.
In principle yes — the application runs as a Docker stack. In practice I advise against it unless somebody on your side wants to own backups, restores and security updates permanently.
A backup that has never been restored is not a backup. That is the part self-hosting routinely underestimates.
The committed times are in the contract and are explicitly limited. There is no 24/7 promise, because a one-person operation could not keep it.
That is exactly what the trained deputy in your team is for: the most common support case — somebody locked out of their account — is solved on your side in two minutes.
No, and that is deliberate. Sodalis is not a messenger and will not become one.
What it replaces are the messages in that group that are really processes: finding cover, swapping a duty, calling for extra people at short notice. Those then have a deadline, a response and a visible status — instead of scrolling out of sight.
Yes, with no sign-up and no e-mail address. The demo is a complete instance of your own, with a realistic roster, the 62 knowledge pages and a mailbox.
You can touch everything in it, including the administration. After an hour it is deleted. Note that the application itself is in German.
A complete instance with a realistic roster, 62 knowledge pages and a mailbox. You can touch everything — it is your own copy.
Please do not enter real personal data in the demo. Everything you create there is deleted no later than 60 minutes after the session ends.