Two complaint regimes. One single software.

Sofia is workplace complaint management software, designed and built by Witify. Each case follows the federal or Québec process, and its deadlines are calculated automatically.

Client
Sector
Harassment prevention
Technologies
Laravel, Vue, MySQL, Pusher

01 Numbers

Six figures, and where they come from

What Sofia governs, told in rules rather than volumes. All of them come straight from the software’s code.
  • 12

    steps, from the notice received to the conclusion 7 for federal employers, 5 in Québec.

  • 9

    deadlines Sofia calculates 6 federal, 3 in Québec. Each has a preventive date and an urgent date.

  • 110

    fields spread across the steps A step cannot close while a required field is missing.

  • 8a.m.

    every morning, the deadline check runs And on the 1st of the month, a monthly update to do for each party.

  • 7

    languages available for the reporting form Each organization picks its own.

  • 6

    roles, each with its own access Plus locks on each step, between the advisors and the employer.

Every figure here is a rule of the software, read in its code on November 13, 2026.

02 The process

Seven steps federally. Five in Québec.

A complaint follows a set path, and each answer decides what comes next: a negotiated resolution, conciliation, an investigation, or both at once. In Québec, five steps lead from the report received to the conclusion.
  1. Notice of occurrence Day 0
  2. Acknowledgement of receipt 7 days
  3. Negotiated resolution 45 days
  4. Conciliation 365 days
  5. Investigation investigator within 60 days
  6. Workplace assessment 6 months
  7. Conclusion the case closes

03 The case

No step closes half done.

We follow one federal case, from the notice received to the investigation. Each step closes only with every required field filled in, and closing it opens the right next step.

01 Receive

The notice is recorded, fact by fact

When the notice comes in, the advisor records the initial review, the nature of the occurrences, who gave notice, and the notice’s date and format. The step only closes once a principal party is on the case.
Fig. 01 Closed step: receipt of notice of occurrence

02 Track

Every deadline counts its days

Above the tabs, each deadline shows its time limit: days left in green, days late in red. Here conciliation and the investigation run side by side, and the date of the next monthly update is already set.
Fig. 02 The resolution process of case EA-2026-014

03 Investigate

The form is the procedure

The investigation step first asks for the notices to both parties, then the date the investigator was chosen and their name. On the left, each step shows where it stands: closed, running, late or not started.
Fig. 03 Current step: the investigation, running late

04 Close

Closing one step opens the next

"Save" keeps work in progress. "Close step" checks every required field, closes the step and opens whatever the answers call for next. Since this case’s conciliation is already running, the button that would start it stays dimmed.
Fig. 04 Save, or close the step and move on

05 Inform

A monthly update for each party

On the 1st of every month, Sofia adds an update to do for each party. The advisor ticks it off once it is done, and the Parties tab counts the ones still open.
Fig. 05 The principal party and her monthly updates

04 Deadlines

You see the delay coming.

A case’s deadlines are recalculated every time it is saved, each with a preventive date and an urgent date. On the morning of those two dates, at 8 a.m., the case administrator and the managers who opted in are notified.
Fig. 06 The dashboard on a Tuesday morning

05 The hotline

Report without an account, in your language.

An organization can open its own public reporting line, with its logo, in the languages it picks from seven. Reports stay anonymous if the person wishes, and can be routed to the managers the organization designates.

Welcome

With its own logo

The employer’s logo next to Sofia’s, its contact details, its language.

Form

Anonymous if you wish

Contact details are optional. With the configurable form, the organization sets its questions, and a receipt goes to any email given.

Reports

All in one place

Each report comes in with its number, status and organization; the line’s public link is copied from here.

06 Reports

The reports come straight from the cases.

Nobody counts cases by hand: each report is computed from the cases and incidents themselves, reads on screen and exports to Excel.

Reports

Five reports, one period

Risk factors, total incidents, by location, by department, and reports received: pick the organization and the dates, then export.

07 Our choices

Three choices so no case depends on anyone’s memory

Three decisions mattered more than the rest. For each: the risk, our choice, and what the advisors gain.
  1. The process lives in the software.

    The risk
    A forgotten step or a case closed incomplete, found too late, once a legal challenge is already under way.
    Our choice
    Every federal and Québec step is built into Sofia with its fields, what it takes to close it and what it opens next depending on the answers.
    The gain
    Advisors follow the procedure without reciting it from memory, and a new advisor follows it just as well.
  2. Deadlines are calculated, not remembered.

    The risk
    A deadline that lives in someone’s calendar slips without anyone noticing.
    Our choice
    Each save recalculates the case’s deadlines; on the morning of the preventive date, then of the urgent date, an alert goes out at 8 a.m.
    The gain
    Delays show up in red, and the alert arrives before they do.
  3. One platform, set up for each employer.

    The risk
    One tool per client, or one mould for everyone: either way, advisors end up working around the software.
    Our choice
    Each organization has its own modules, locations, departments, risk factors and the languages of its form; locks decide who fills in each step.
    The gain
    A new employer is configured, not developed.

08 Under the hood

What Sofia is made of

The building blocks of the platform, then what has gone into service since 2022.
Application
Laravel, Vue, TypeScript, the administration and the public line
Data
MySQL, cases, their steps and their deadlines
Real time
Pusher, notifications without reloading the page
Documents
Spatie Media Library, Laravel Excel, private storage, Excel exports
Quality
More than 300 automated tests, run on every change to the code
Operations
Scheduled tasks, Sentry, deadline check at 8 a.m., nightly backups

Key milestones

  1. August 2022 First version Federal cases, parties, reports and exports.
  2. December 2022 Québec process The five Québec steps, calculated deadlines.
  3. March 2024 Reporting line Public reporting, anonymous when needed.
  4. May 2024 Québec reworked Admissibility, mediation and investigation revised.
  5. May 2025 Per organization Modules per organization, several languages.
  6. April 2026 Configurable form Questions per organization, a receipt to the reporter.

Do your case files still live in inboxes and calendars?

Take thirty minutes with us to walk through a procedure you still run by hand.

Or write to us
Next case study Observatoire des tout-petits Read the case study

Names and figures shown in the interfaces are examples.