Signing in
A magic link is signed and expires — 60 minutes by default, and seven days for the
onboarding link, because a new hire’s first interaction should not be an expiry error.
What applicants see
My applications
Every application they have made, its current stage, and what happens next in their own
language.
Open positions
The careers listing, so they can apply again without leaving the portal.
Document requests
Exactly the documents a pipeline stage has asked for.
Onboarding
Once hired: the Personalstammblatt and the position’s document matrix.
What employees see
Profile
Their own master data, with the fields they may maintain themselves.
Time tracking
Record time, see the week, see the balance against Soll hours.
Leave and absence
Request, see the balance, see the team calendar for their own team.
Sick leave
Report illness, upload the medical certificate, see the salary-continuation entitlement.
Payslips
Monthly payslips and the year-end Lohnausweis.
Compensation
Their role, band, placement and the recorded rationale — a strict self-view.
Contracts
Their own contracts, including signing where one is pending.
Certificates
Request and download work certificates.
Reference requests
Where the employee has been asked to be a referee for someone else’s hire.
Report preferences
What they receive and how.
How the portal decides what to show
Not from a role scalar, but from facts:- The presence of an
Employeerecord unlocks contracts, certificates and compensation. - An open
PersonalDataFormunlocks the onboarding section. - Applications are always available to the person who made them.
The iOS app
The mobile app is employee self-service: leave, sick leave, time tracking and the payslip. It is SSO-only, and it talks to the platform through a versioned API contract generated from the same schemas the server validates against — so the app and the server cannot silently disagree about a payload.Portal API reference
The endpoints, the DTOs, and the error shapes.