Household → Hours of Internet (administrators; a function of the subscription, open to every installation during the beta) sets, for each child and teenager, the hours when Internet answers: a week of 15 minute slots painted with the pointer (the time at the top and bottom, a line per quarter of an hour; the week starts on Sunday where the country does). Nothing applies until a parent turns the hours of a person on; the page proposes hours by age (child: weekdays 07:00–08:00 and 16:30–19:30, weekend 08:00–20:00; teenager: weekdays 07:00–22:00, weekend 08:00–23:00).
Outside the hours, every name is blocked for the devices of the person
(reason "schedule" in the reports), whatever the pauses and the rules,
except the names always permitted and their subdomains (school sites;
by default index-education.net and ecoledirecte.com, 100 names at
most), to which the other protections still apply. The names of the box
and of the local network keep answering. A parent gives extra time in one
click (+15, +30 or +60 minutes, from now or from the end of the current
hours, 12 hours ahead at most) and can end it. Adults never have hours.
The times are those of the box. The cut is not always instant: devices
keep the answers they already have for their lifetime (TTL) and the
connections already open.
Right now (same page): a parent cuts Internet at once for 30 minutes,
an hour or until the morning (the next opening of the hours, or 07:00),
whatever the hours and the extra time (reason "schedule"), or starts the
homework mode for one or two hours (social networks, videos and games
blocked, reason "category"). PUT /api/v1/people/{id}/mode
{"mode": "cut" | "homework", "duration": "30" | "60" | "120" | "morning"},
DELETE /api/v1/people/{id}/mode.
Bypass: a device of a child or teenager used during a cut (it asked Warda at least 5 minutes after the cut began) then silent for 15 minutes gives a notice: when it still answers on the network (ARP, IPv4) but no longer asks Warda, "a VPN or another DNS?"; otherwise "switched off, or on another network?". Used means at least 3 queries to sites (not the services the systems call on their own) in one step of 5 minutes; a cut that began more than a day ago (hours closed all week) is not watched. Warda cannot be sure: the notice says so. The names of VPN, proxies and encrypted DNS asked by a minor's device are blocked (answered "does not exist", so that iCloud Private Relay and the browsers fall back to Warda) and told too, once a day per device and name.
Time a day (same page): for games, videos and social networks, a
time allowed each day (15 minutes to 8 hours), whatever the hours; then
the category is blocked until midnight (reason "category"). A step of 5
minutes counts from the second name of the category asked in it; the time
used is kept on the box (category_usage, 7 days).
PUT /api/v1/people/{id}/limits {"category": "games", "minutes": 60}
(0: no limit).
School holidays (same page): during a period, the weekdays take the
hours of Saturday, for every child. GET/POST /api/v1/vacations
{"first_day": "2026-10-17", "last_day": "2026-11-02"},
DELETE /api/v1/vacations/{id}. The official calendar of a country and a
region can be imported from OpenHolidays
(open data): the coming year, checked again when the last import is a
week old (the holidays of the region and of its school groups only); the
service is asked only when an administrator opens that part or imports,
and only the country, the region and the language leave the box.
Imported holidays removed by hand are not imported again
(GET /api/v1/holidays/countries?lang=FR,
GET /api/v1/holidays/regions?country=FR&lang=FR,
POST /api/v1/holidays/import {"country": "FR", "region": "FR-HF", "lang": "FR"},
DELETE /api/v1/holidays/import stops the weekly import).
Requests: a child opens http://warda/ask on their device (served
over plain HTTP too: their device has not accepted the certificate of
the box). No sign-in: Warda knows the device by its address, only on the
allowed networks, and only a device given to a child or a teenager can
ask: 15, 30 or 60 minutes more of Internet or of a category used up, with
a short message; one request at a time, six a day at most. The parents
accept or refuse from the dashboard or the Alerts page; an accepted
request gives the extra time (Internet: also over a cut made by a parent;
category: minutes more today). GET/POST /api/v1/ask (the device),
GET /api/v1/requests, POST /api/v1/requests/{id}/accept|refuse.
A home filter cannot see a device that leaves the network (mobile data, a friend's hotspot): lock the phone with the tools of its system (Family Link, Screen Time).
API: GET /api/v1/schedules, PUT /api/v1/people/{id}/schedule
{"enabled": true, "grid": "<672 characters 0 or 1 from Monday 00:00>"},
POST /api/v1/people/{id}/bonus {"minutes": 30},
DELETE /api/v1/people/{id}/bonus, PUT /api/v1/schedule-allow
{"domains": [...]}. A function of the subscription answers 402 on the
free plan once subscriptions open.