Skip to content
Centriu
Centriu Guardian

Parental Control Teardown Across Independent Layers Automation: Turning It Off Has to Actually Turn It Off

Centriu Guardian's parental-control feature applies its policy by writing values into the Windows registry, which the browser then reads. Turning the feature off — or simply unchecking one specific setting while leaving the rest on — relied on three separate mechanisms all working correctly, and each had an independent gap. First, the everyday "apply" path only ever WROTE registry values; it never removed one, so a setting that used to be checked and is now unchecked kept exactly the value the PREVIOUS application had written, with the screen reporting "saved" while the browser kept enforcing the old configuration. Second, even a genuine, deliberate removal could leave behind a registry key that was emptied of every value and sub-item but still technically PRESENT, and the panel's own status check read a key's mere existence as "a policy is active here" — showing "filtered" for a protection that no longer did anything at all. Third, and least visible of all: a separate, machine-wide DNS-based family filter — which blocks content by category across every browser and every window, incognito included, because it intercepts domain lookups before a browser is even involved — was never touched by the browser-policy toggle, and was never disclosed as a second, independent system during deactivation, so a parent could correctly turn off everything the screen showed them and still find adult sites blocked with no visible explanation. All three are now fixed: every application clears the prior configuration before writing the new one, in the same single administrator request; an emptied key is deleted outright once it is confirmed to hold nothing; the DNS-level filter is named explicitly and offered as its own opt-in checkbox (on by default, still a choice) whenever the family filter is disabled; and the deactivation summary now reads the DNS state back from the machine itself afterward and reports it honestly, rather than declaring the whole system off regardless of what actually changed.
Apply wrote, never removed
Two layers, one honest status
Parental control deactivation confirmation screen
Off on the screen, still on for three separate reasons.

Turning a protection off is a second feature, not the absence of the first one

Applying a configuration and removing it are, in most systems, treated as mirror images of the same operation — if writing a value is understood, removing it is assumed to follow naturally. In a system that reaches outside its own database into an external, stateful surface it does not fully control — here, the Windows registry, read independently by each installed browser on its own schedule — that assumption breaks in a specific, easy-to-miss way: an "apply" operation that only ever adds or overwrites values can look, from every test that only ever turns things ON, exactly as correct as one that also knows how to take them away. The absence shows up only in the one test nobody wrote: turn a specific thing off, and check the machine, not the screen, for whether it actually happened.

How the underlying problem shows up before you fix it

A configuration screen reports a save as successful, and the underlying enforcement mechanism (here: browser registry policy) continues behaving exactly as it did under the PREVIOUS configuration, because the "apply" path only ever writes new values and never removes ones that are no longer wanted.

A status indicator reads a resource's mere existence (a registry key being present) as evidence a protection is active, without checking whether that resource still holds any actual content — so a key emptied down to nothing by a partial cleanup still reports as "filtering," the opposite of the true, current state.

A single feature is actually implemented across more than one independent underlying mechanism (here: browser-level registry policy AND machine-level DNS filtering), and a control meant to turn the feature "off" only reaches one of those mechanisms — leaving the other one fully active, unmentioned, and invisible to whoever just tried to disable it.

A cached response from a lower layer (a DNS resolver's own cache) can continue to enforce the effect of a just-removed policy for a period afterward, making a correctly-completed removal LOOK like it failed to anyone testing immediately.

A client application (a browser) reads its own policy configuration only at a fixed point (startup), so a correctly-applied removal is invisible to an already-open window until it is closed and reopened — with no on-screen indication that this step is required.

How three independent reasons a shutoff could fail to shut off were found and closed together

Centriu Guardian's parental-control agent applies browser-level content policy by writing a defined set of registry values and list-type sub-keys (domain blocklists, allowlists, extension restrictions, and several always-on-or-off flags) under each installed browser's own policy path, with administrator elevation required for the write. The mechanism that applies a NEW or UPDATED configuration and the mechanism that REMOVES the feature entirely already existed as two separate code paths — but only the second one, `removerPoliticas`, actually deleted anything. The first one, used for every normal configuration update including one where a parent had simply unchecked something they'd previously enabled, only ever wrote values forward; it never called anything resembling a removal step. The practical effect: unchecking a single setting inside an otherwise-normal update looked identical, from the screen's perspective, to a successful save — and had zero effect on the machine, because whatever value the PREVIOUS save had written into that exact registry slot was simply left standing.

The fix folds a full removal pass into the START of every single application, in the exact same elevated administrator request that then writes the new configuration — so what ends up on the machine after any update is always and only whatever the CURRENT configuration actually specifies, with nothing left over from before.

A second, more subtle gap surfaced specifically while verifying that removal: Guardian's own status check determined whether a policy was "active" for a given browser using a simple existence check on its registry key — and a key that removal had correctly emptied of every value and every sub-item, but had not gone on to delete outright, still satisfied that existence check. The dashboard would report a filter as present and working for a browser where, in reality, every actual setting under that key had already been removed. The fix adds an explicit check, after every removal, for whether a browser's policy key is now both valueless and childless — and deletes the key itself the moment it is, so "present" and "actually filtering something" can no longer disagree with each other. The check is deliberately conservative: a key is only ever removed once confirmed completely empty, specifically so a policy belonging to something OTHER than Guardian (a company device-management tool, another program) sharing the same registry location is never touched.

The third and most consequential gap was architectural rather than a coding mistake: Guardian's parental control had always operated two genuinely independent systems under one label. Browser-level registry policy governs what a specific installed browser does. A separate, machine-wide DNS family filter — configured once, at the network level — governs which domains resolve AT ALL for that machine, in every browser, in every window including incognito, because DNS resolution happens before a browser is ever involved in a request. Deactivating the browser-level policy correctly and completely, exactly as the first two fixes above ensure, still left this second system running exactly as configured, because nothing about it was ever part of the browser-policy removal in the first place — and, critically, its existence was never disclosed to the person turning the feature off, so a fully successful browser-policy removal that still left a site blocked looked, to them, like the fix hadn't worked at all.

The fix does not silently fold the two systems together — that would remove a real, independent choice some households want to keep (the DNS filter and the per-browser filter genuinely serve different purposes, and a parent might reasonably want to keep the network-wide one while turning off browser-specific detail). Instead, the deactivation flow now explicitly names whichever DNS filter is currently detected on the machine, offers turning it off too as its own separate, clearly-labeled checkbox (pre-checked by default, since most people asking to deactivate parental control want the machine genuinely unrestricted, but still an explicit choice either way), and — after the operation completes — reads the DNS configuration back from the machine itself, not from what was merely requested, so that if a DNS reset silently failed to take effect the summary can say so honestly ("deactivated — but the DNS filter is still active") instead of declaring a blanket success that isn't true. Two smaller details close the same loop: the DNS resolver's own cache is cleared on every removal, since a cached blocked-response can outlive the policy that produced it and make a correct fix look broken for a few more minutes; and the screen now tells whoever just made the change to close and reopen their browser windows, because Chrome and Edge only re-read their own policy configuration at launch — an already-open window, even after a fully correct removal, keeps enforcing whatever it read when it started.

What is actually built today

Every application of parental-control configuration — not only a full deactivation — clears whatever the PREVIOUS configuration had written before writing the new one, inside the same single elevated administrator request.

A browser policy key is deleted outright the moment it is confirmed to hold zero values and zero sub-items, so the dashboard's "is a filter active" check can no longer read a hollowed-out, functionally-inert key as "filtering."

A second, independent, machine-wide DNS family filter is explicitly named and offered as its own clearly-labeled, pre-checked-by-default (but optional) step during deactivation — rather than remaining an undisclosed, separate system a parent has no way to discover from inside the same screen.

The DNS resolver's own cache is cleared on every removal, and the deactivation summary reads the DNS configuration back from the machine AFTER the attempt, reporting an honest, specific result (still active vs. genuinely restored) rather than assuming success from what was merely requested.

The screen tells the person completing a change to close and reopen browser windows, naming the actual reason (Chrome and Edge only re-read policy at launch) rather than leaving an already-open, still-enforcing window unexplained.

Three reasons "off" didn't mean off, discovered one test at a time (illustrative framing of the actual measured findings)

Before the fix, a parent unchecking a single site from an existing blocklist and saving found the browser continuing to block it, because the save path only ever added or overwrote registry values — the value from the PREVIOUS save was never removed, so it simply kept winning. A parent completing a FULL deactivation, and getting a dashboard that reported every filter as removed, could still find their own dashboard showing "filtered" for a browser whose actual policy key held nothing at all — an empty shell the status check misread as active. And a parent who confirmed every visible setting was off, then tested an adult site directly, could still find it blocked, because a second, entirely separate machine-wide DNS filter had never been part of the conversation the deactivation screen was having with them at all. After the fix, each of these now behaves as the underlying action implies: unchecking removes, an empty key stops counting as active, and the DNS layer is named, offered, and honestly reported on rather than silently left running.

What changes operationally

Centriu Guardian's parental-control removal now clears prior configuration before every write (not only on full deactivation), deletes registry keys the moment they are confirmed genuinely empty instead of leaving inert shells that misreport as active, explicitly discloses and offers to disable a second, independent, machine-wide DNS filter during deactivation, and verifies its own success against the machine's actual post-operation state rather than assuming success from what was requested.

When this is not the right fit

This automation governs the internal mechanics of how Centriu Guardian's parental-control feature applies and, specifically, REMOVES its own configuration across two independent underlying systems (browser registry policy and machine-wide DNS filtering) — it does not change what settings a parent can configure, does not add a customer-facing option beyond the DNS-layer disclosure itself, and is specific to Windows's own registry-and-DNS architecture; a system with only one enforcement layer, or one that already treated apply-and-remove as symmetric from the start, would not have been exposed to this exact class of gap.

An apply-only policy engine vs. one that tears down before it writes

Building a configuration-application engine that only ever writes forward is the simpler design, and works without any visible defect for as long as every test only ever turns settings ON — the gap is specific to, and easy to miss until, the first time a setting needs to come back OFF. Clearing whatever a previous application wrote before every new write, as a standing rule rather than a special case reserved for full deactivation, closes the gap for every future setting the same way, without needing a dedicated removal code path to be remembered and called correctly at each new place a change can happen.

Related systems

Main system: Centriu Guardian.

What it does NOT do

  • Does not change what a parent can configure inside Centriu Guardian's parental-control feature — the same domains, categories, and browser coverage remain available; this fix corrects only whether removing or unchecking something actually removes it on the machine.
  • Does not merge the browser-level policy filter and the machine-wide DNS filter into one control — they remain two genuinely independent protections a household can choose separately; the fix only ensures the DNS layer is disclosed and offered, never silently combined.
  • Does not retroactively identify which past deactivation or setting change silently failed to take effect due to any of these three gaps — a team with that concern would need its own historical support-log review, which this fix does not provide.
  • Does not affect any protection unrelated to parental-control policy application — Guardian's device inventory, real-time scanning, and other features are outside the scope of this specific fix.
  • Does not overlap with the content-category opt-out fix — that fix (covered on a companion page) closes a separate gap in what could even be CONFIGURED in the first place, unrelated to whether a saved configuration actually reaches the machine.

Security and governance

Centriu Guardian's parental-control removal now clears prior configuration before every write, deletes registry keys only once confirmed genuinely empty (never touching a policy that belongs to something else sharing the same location), and verifies its own DNS-layer claims against the machine's real, post-operation state rather than what was merely requested. Any personal data referenced in device or household configuration remains subject to Brazil's LGPD (Law No. 13,709/2018). Full detail on access control lives at /governanca and /iso.

Pricing and contracting

Available by monthly subscription, with tiered plans. Values and terms come from the official pricing table at /precos (Centriu's central source — never restated here).

Frequently asked questions

Why did unchecking just one setting, not a full shutoff, also fail before this fix?

Because the everyday configuration-update path — used for any change, not only full deactivation — only ever wrote new registry values forward and never removed one. Whatever the previous save had written into that exact slot simply kept its value, regardless of what the new configuration specified.

What is the "empty key shell" problem, in plain terms?

Guardian's own status check considered a browser policy key "active" just because it existed, without checking whether it actually held any values. A key that removal had correctly emptied, but not gone on to delete, still counted as active — showing "filtered" for a protection that was, in reality, already fully removed.

Is the DNS filter the same thing as the browser-level parental control?

No — they are two genuinely independent systems. Browser policy governs one installed browser's own behavior; the DNS filter blocks by category at the network level, for every browser and every window (including incognito), because it intercepts domain lookups before a browser is involved at all. The fix discloses this second layer explicitly during deactivation rather than leaving it unmentioned.

Does turning off parental control now also turn off the DNS filter automatically?

Only if chosen — it is offered as its own clearly-labeled, pre-checked-by-default checkbox during deactivation, since the two protections serve genuinely different purposes and some households want to keep the DNS-level one regardless of the browser-level setting.

How does the fix know the DNS reset actually worked, rather than just assuming it did?

The deactivation summary reads the DNS configuration back from the machine itself after the operation completes, and reports honestly if a filter is still detected — rather than declaring success based only on what was requested.

What does Centriu Guardian cost?

It is sold by subscription with a published starting price — exact current values are on the central pricing page.

See how Centriu Guardian applies and removes parental-control policy reliably

Reach our commercial team directly, or leave your details below — we'll follow up with guidance for your case.

Sources

  1. Centriu Guardian — public product page — Centriu, 2026-07-20 · link(primária)
  2. Centriu Guardian — public factsheet (API, JSON) — Centriu, 2026-07-21 · link
  3. Law No. 13,709/2018 — Brazil’s General Data Protection Law (LGPD) — Presidência da República (Brazil), 2018-08-14 · link

Last material update on .

By · AI-assisted production, with human review