<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sangam Das</title>
    <description>The latest articles on DEV Community by Sangam Das (@sangmdas).</description>
    <link>https://dev.to/sangmdas</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4105596%2F8008db40-ed54-4cb2-80da-e3baa56890a8.jpg</url>
      <title>DEV Community: Sangam Das</title>
      <link>https://dev.to/sangmdas</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sangmdas"/>
    <language>en</language>
    <item>
      <title>iPhones Need a Child-Safety Handover Switch: A Proposed Temporary Under-18 Mode</title>
      <dc:creator>Sangam Das</dc:creator>
      <pubDate>Wed, 02 Sep 2026 07:05:46 +0000</pubDate>
      <link>https://dev.to/sangmdas/iphones-need-a-child-safety-handover-switch-a-proposed-temporary-under-18-mode-3e1n</link>
      <guid>https://dev.to/sangmdas/iphones-need-a-child-safety-handover-switch-a-proposed-temporary-under-18-mode-3e1n</guid>
      <description>&lt;p&gt;I am a father of three, and this idea came from a very ordinary family situation.&lt;/p&gt;

&lt;p&gt;A child asks for the phone.&lt;/p&gt;

&lt;p&gt;Maybe to check a map, do schoolwork, play a game, watch a video, take a photo, or call somebody.&lt;/p&gt;

&lt;p&gt;The phone belongs to the parent. The parent has already unlocked it with Face ID, Touch ID, or a PIN. The account belongs to an adult, and any age verification that was required may already have been completed.&lt;/p&gt;

&lt;p&gt;Then the phone changes hands.&lt;/p&gt;

&lt;p&gt;But technically, the security state may not change at all.&lt;/p&gt;

&lt;p&gt;The phone can remain inside the same adult-authorized session even though the person physically using it is now a child.&lt;/p&gt;

&lt;p&gt;I think this is a small but important gap in current smartphone child-safety architecture.&lt;/p&gt;

&lt;p&gt;I call it the device handoff gap.&lt;/p&gt;

&lt;p&gt;Age verification does not completely solve the problem&lt;/p&gt;

&lt;p&gt;Age verification answers an important question:&lt;/p&gt;

&lt;p&gt;Is this person an adult?&lt;/p&gt;

&lt;p&gt;But there is another question that becomes important later:&lt;/p&gt;

&lt;p&gt;Is that same adult still the person using the device?&lt;/p&gt;

&lt;p&gt;Consider a very normal sequence:&lt;/p&gt;

&lt;p&gt;Adult authenticates&lt;br&gt;
       ↓&lt;br&gt;
Adult session becomes active&lt;br&gt;
       ↓&lt;br&gt;
Adult uses the phone&lt;br&gt;
       ↓&lt;br&gt;
Parent hands the unlocked phone to a child&lt;br&gt;
       ↓&lt;br&gt;
Adult authorization may still remain active&lt;/p&gt;

&lt;p&gt;Nothing has been hacked.&lt;/p&gt;

&lt;p&gt;The child did not steal a password.&lt;/p&gt;

&lt;p&gt;The age-verification system may have worked exactly as intended.&lt;/p&gt;

&lt;p&gt;The problem is simply that the physical user changed while the authorization state remained the same.&lt;/p&gt;

&lt;p&gt;My proposal is to make that handoff an explicit operating-system security transition.&lt;/p&gt;

&lt;p&gt;A Temporary Under-18 Mode&lt;/p&gt;

&lt;p&gt;Imagine a simple safety control on an iPhone:&lt;/p&gt;

&lt;p&gt;Temporary Under-18 Mode&lt;/p&gt;

&lt;p&gt;Immediately before handing the phone to a child, the parent activates this mode.&lt;/p&gt;

&lt;p&gt;It could eventually appear in Control Center, the lock screen, family settings, a side-button shortcut, or another trusted OS interface.&lt;/p&gt;

&lt;p&gt;From the parent's side, it should feel simple.&lt;/p&gt;

&lt;p&gt;Underneath, however, it should cause a meaningful security-state change.&lt;/p&gt;

&lt;p&gt;Conceptually:&lt;/p&gt;

&lt;p&gt;ADULT DEVICE STATE&lt;br&gt;
        ↓&lt;br&gt;
Parent activates&lt;br&gt;
Temporary Under-18 Mode&lt;br&gt;
        ↓&lt;br&gt;
Protected state transition&lt;br&gt;
        ↓&lt;br&gt;
Existing incompatible adult&lt;br&gt;
rendering authority is suspended&lt;br&gt;
or invalidated&lt;br&gt;
        ↓&lt;br&gt;
New adult-only rendering authority&lt;br&gt;
cannot be issued&lt;br&gt;
        ↓&lt;br&gt;
TEMPORARY CHILD-SAFE STATE&lt;/p&gt;

&lt;p&gt;The important rule is simple:&lt;/p&gt;

&lt;p&gt;Entering the safer state should be easy. Leaving it should require the adult.&lt;/p&gt;

&lt;p&gt;When the parent gets the phone back, Face ID, Touch ID, a protected PIN, or another adult authentication method can restore a new adult viewing context.&lt;/p&gt;

&lt;p&gt;The child should not be able to receive an already-unlocked phone and simply disable the protection.&lt;/p&gt;

&lt;p&gt;Content delivery is not rendering authority&lt;/p&gt;

&lt;p&gt;This is the main technical idea behind the proposal.&lt;/p&gt;

&lt;p&gt;Most safety systems try to stop restricted content earlier in the chain.&lt;/p&gt;

&lt;p&gt;They may block a website, restrict an application, filter a network request, or prevent a particular account from receiving something.&lt;/p&gt;

&lt;p&gt;But modern phones have many content paths.&lt;/p&gt;

&lt;p&gt;Restricted content might arrive through:&lt;/p&gt;

&lt;p&gt;a browser&lt;br&gt;
social media&lt;br&gt;
messaging&lt;br&gt;
downloaded files&lt;br&gt;
cached content&lt;br&gt;
advertising SDKs&lt;br&gt;
streaming applications&lt;br&gt;
embedded web views&lt;br&gt;
local applications&lt;br&gt;
generative AI&lt;br&gt;
casting or screen sharing&lt;/p&gt;

&lt;p&gt;And with generative AI, some material may be created locally without crossing the network at all.&lt;/p&gt;

&lt;p&gt;So I think there needs to be another security principle:&lt;/p&gt;

&lt;p&gt;Receiving data should not automatically mean having authority to render it.&lt;/p&gt;

&lt;p&gt;A simplified flow would be:&lt;/p&gt;

&lt;p&gt;Restricted content&lt;br&gt;
        ↓&lt;br&gt;
Candidate rendering&lt;br&gt;
        ↓&lt;br&gt;
Protected validation&lt;br&gt;
        ↓&lt;br&gt;
Check current device state&lt;br&gt;
        ↓&lt;br&gt;
Adult rendering currently allowed?&lt;br&gt;
        ↓&lt;br&gt;
YES → permit governed rendering&lt;/p&gt;

&lt;p&gt;NO  → restricted rendering does not complete&lt;/p&gt;

&lt;p&gt;The enforcement point should be close to the final output path.&lt;/p&gt;

&lt;p&gt;Why the rendering boundary matters&lt;/p&gt;

&lt;p&gt;Eventually, content must pass through system-controlled components before it becomes visible or audible.&lt;/p&gt;

&lt;p&gt;Depending on the device, this can involve media decoders, protected buffers, graphics services, the compositor, display hardware, audio services, and similar trusted components.&lt;/p&gt;

&lt;p&gt;I am not proposing that every app should independently contain logic such as:&lt;/p&gt;

&lt;p&gt;if (under18Mode) {&lt;br&gt;
  blockAdultContent();&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;That would depend too heavily on every application doing the right thing.&lt;/p&gt;

&lt;p&gt;Instead, the temporary child-safety state should become a load-bearing input to the protected rendering decision.&lt;/p&gt;

&lt;p&gt;Conceptually:&lt;/p&gt;

&lt;p&gt;+--------------------------------------+&lt;br&gt;
| Browser / App / File / AI / Stream   |&lt;br&gt;
+------------------+-------------------+&lt;br&gt;
                   |&lt;br&gt;
                   v&lt;br&gt;
+--------------------------------------+&lt;br&gt;
| Protected validation                 |&lt;br&gt;
|                                      |&lt;br&gt;
| Under-18 Mode active?                |&lt;br&gt;
| Security state current?              |&lt;br&gt;
| Content class permitted?             |&lt;br&gt;
| Output destination permitted?        |&lt;br&gt;
+------------------+-------------------+&lt;br&gt;
                   |&lt;br&gt;
             ALLOW / DENY&lt;br&gt;
                   |&lt;br&gt;
                   v&lt;br&gt;
+--------------------------------------+&lt;br&gt;
| Protected rendering/output boundary  |&lt;br&gt;
+------------------+-------------------+&lt;br&gt;
                   |&lt;br&gt;
                   v&lt;br&gt;
              Screen / Audio&lt;/p&gt;

&lt;p&gt;For restricted content, if the required authority is missing, the controlled path should fail closed.&lt;/p&gt;

&lt;p&gt;Why not require Face ID before every video?&lt;/p&gt;

&lt;p&gt;That would create another problem: usability.&lt;/p&gt;

&lt;p&gt;Imagine requiring Face ID before every restricted page, image, video, or media transition during normal adult use.&lt;/p&gt;

&lt;p&gt;People would quickly become frustrated.&lt;/p&gt;

&lt;p&gt;A better approach is to protect the important state transition.&lt;/p&gt;

&lt;p&gt;During adult use:&lt;/p&gt;

&lt;p&gt;Adult authenticates&lt;br&gt;
       ↓&lt;br&gt;
Bounded adult viewing context&lt;br&gt;
       ↓&lt;br&gt;
Normal permitted use&lt;/p&gt;

&lt;p&gt;Before handing the phone to a child:&lt;/p&gt;

&lt;p&gt;Parent activates&lt;br&gt;
Temporary Under-18 Mode&lt;br&gt;
       ↓&lt;br&gt;
Adult rendering context becomes unavailable&lt;br&gt;
       ↓&lt;br&gt;
Child uses the phone&lt;/p&gt;

&lt;p&gt;When the adult gets the device back:&lt;/p&gt;

&lt;p&gt;Adult re-authenticates&lt;br&gt;
       ↓&lt;br&gt;
New adult viewing context&lt;/p&gt;

&lt;p&gt;This avoids repeatedly identifying or authenticating the person viewing every frame.&lt;/p&gt;

&lt;p&gt;No continuous facial surveillance&lt;/p&gt;

&lt;p&gt;I specifically do not propose keeping the front camera active to continuously determine whether an adult or child is looking at the screen.&lt;/p&gt;

&lt;p&gt;That could create serious privacy, biometric-processing, battery, and false-identification concerns.&lt;/p&gt;

&lt;p&gt;The parent already knows when the phone is about to be handed to a child.&lt;/p&gt;

&lt;p&gt;So the parent changes the state.&lt;/p&gt;

&lt;p&gt;The phone then enforces that state until an authorized adult restores normal adult operation.&lt;/p&gt;

&lt;p&gt;The device does not need to constantly guess who is looking at it.&lt;/p&gt;

&lt;p&gt;Is this technically realistic?&lt;/p&gt;

&lt;p&gt;This is one of the questions developers will naturally ask.&lt;/p&gt;

&lt;p&gt;I think an important comparison is digital rights management, or DRM.&lt;/p&gt;

&lt;p&gt;Modern smartphones already contain protected mechanisms for things such as:&lt;/p&gt;

&lt;p&gt;secure video decoding&lt;br&gt;
protected buffers&lt;br&gt;
key release&lt;br&gt;
restricted screenshots&lt;br&gt;
screen recording controls&lt;br&gt;
external display restrictions&lt;br&gt;
protected playback paths&lt;/p&gt;

&lt;p&gt;I am not saying that existing DRM can simply be renamed and used unchanged for child safety.&lt;/p&gt;

&lt;p&gt;Different platforms have different trust boundaries and implementation details.&lt;/p&gt;

&lt;p&gt;But the comparison shows something important:&lt;/p&gt;

&lt;p&gt;Protected rendering is already a real engineering problem that smartphones solve today.&lt;/p&gt;

&lt;p&gt;The architectural logic therefore is not based only on theoretical hardware.&lt;/p&gt;

&lt;p&gt;If a device is capable of preventing certain copyrighted media from being captured or rendered through an unauthorized path, it already contains at least some of the primitives needed to enforce decisions near the final rendering boundary.&lt;/p&gt;

&lt;p&gt;The question is whether similar protected-path concepts could also be applied to child safety.&lt;/p&gt;

&lt;p&gt;What about performance?&lt;/p&gt;

&lt;p&gt;Another objection is obvious:&lt;/p&gt;

&lt;p&gt;Would the phone have to perform expensive cryptographic checks for every frame?&lt;/p&gt;

&lt;p&gt;It should not.&lt;/p&gt;

&lt;p&gt;The architecture can instead validate important state transitions and issue short-lived, scoped rendering authority for normal operation.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;Protected validation&lt;br&gt;
        ↓&lt;br&gt;
Short-lived rendering authority&lt;br&gt;
        ↓&lt;br&gt;
Normal hardware playback&lt;br&gt;
        ↓&lt;br&gt;
Handover / timeout / app switch /&lt;br&gt;
output change / revocation&lt;br&gt;
        ↓&lt;br&gt;
Authority expires or becomes invalid&lt;br&gt;
        ↓&lt;br&gt;
Revalidation&lt;/p&gt;

&lt;p&gt;The expensive security operation does not need to run separately for every pixel or every 120 Hz frame.&lt;/p&gt;

&lt;p&gt;Existing adult sessions must become stale&lt;/p&gt;

&lt;p&gt;Suppose an adult has already authenticated and the device has issued some form of valid adult rendering authority.&lt;/p&gt;

&lt;p&gt;Then Temporary Under-18 Mode is activated.&lt;/p&gt;

&lt;p&gt;The earlier authorization must not silently survive the transition.&lt;/p&gt;

&lt;p&gt;One possible mechanism is a protected security epoch:&lt;/p&gt;

&lt;p&gt;Adult mode&lt;br&gt;
security_epoch = 51&lt;/p&gt;

&lt;p&gt;Adult authority&lt;br&gt;
epoch = 51&lt;/p&gt;

&lt;p&gt;Temporary Under-18 Mode activated&lt;/p&gt;

&lt;p&gt;security_epoch = 52&lt;/p&gt;

&lt;p&gt;Old authority&lt;br&gt;
epoch = 51&lt;/p&gt;

&lt;p&gt;Result:&lt;br&gt;
STALE → REJECT&lt;/p&gt;

&lt;p&gt;Different operating systems may implement this differently.&lt;/p&gt;

&lt;p&gt;The important security property is:&lt;/p&gt;

&lt;p&gt;authority established before the handoff should not automatically remain usable after the child-safe state begins.&lt;/p&gt;

&lt;p&gt;Generative AI makes this more relevant&lt;/p&gt;

&lt;p&gt;There is another reason I think the final rendering boundary deserves attention.&lt;/p&gt;

&lt;p&gt;Traditional filtering often assumes that harmful content comes from a server.&lt;/p&gt;

&lt;p&gt;Generative AI changes that assumption.&lt;/p&gt;

&lt;p&gt;An image, voice, video, or other media could potentially be generated locally.&lt;/p&gt;

&lt;p&gt;There may be no website to block and no suspicious network request to intercept.&lt;/p&gt;

&lt;p&gt;The same protected rendering rule could potentially apply to both:&lt;/p&gt;

&lt;p&gt;Downloaded restricted content&lt;br&gt;
             +&lt;br&gt;
Locally generated restricted content&lt;br&gt;
             ↓&lt;br&gt;
      Candidate rendering&lt;br&gt;
             ↓&lt;br&gt;
   Same protected output rule&lt;/p&gt;

&lt;p&gt;This makes the final output boundary increasingly important.&lt;/p&gt;

&lt;p&gt;What this proposal does not claim&lt;/p&gt;

&lt;p&gt;I do not think one switch can solve every child-safety problem.&lt;/p&gt;

&lt;p&gt;This architecture does not automatically solve:&lt;/p&gt;

&lt;p&gt;incorrect content classification&lt;br&gt;
compromised operating systems&lt;br&gt;
compromised trusted hardware&lt;br&gt;
every external peripheral&lt;br&gt;
someone photographing a screen with another camera&lt;br&gt;
social engineering&lt;br&gt;
every parental-control problem&lt;/p&gt;

&lt;p&gt;The proposed security property is narrower:&lt;/p&gt;

&lt;p&gt;An adult-authorized rendering state should not automatically remain transferable when the adult intentionally places the device into a temporary child-protection state.&lt;/p&gt;

&lt;p&gt;That is the problem I am trying to address.&lt;/p&gt;

&lt;p&gt;Why I mention iPhone&lt;/p&gt;

&lt;p&gt;I use iPhone in the title because the scenario is immediately understandable.&lt;/p&gt;

&lt;p&gt;But the underlying architecture is not intended to be Apple-specific.&lt;/p&gt;

&lt;p&gt;The same handoff problem can exist on Android phones, tablets, headsets, and other personal devices shared temporarily between adults and children.&lt;/p&gt;

&lt;p&gt;Apple, iPhone, Face ID, and related product names are used only as examples for technical discussion. This is independent work and does not imply affiliation with or endorsement by Apple.&lt;/p&gt;

&lt;p&gt;Public technical work&lt;/p&gt;

&lt;p&gt;I have published the related technical work publicly.&lt;/p&gt;

&lt;p&gt;IETF Internet-Draft&lt;/p&gt;

&lt;p&gt;draft-das-child-safe-rendering-finality-03&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.ietf.org/archive/id/draft-das-child-safe-rendering-finality-03.html" rel="noopener noreferrer"&gt;https://www.ietf.org/archive/id/draft-das-child-safe-rendering-finality-03.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is an individual Internet-Draft. It is a working proposal, not an IETF standard and not evidence of IETF adoption.&lt;/p&gt;

&lt;p&gt;European Commission Apply AI Alliance Futurium&lt;/p&gt;

&lt;p&gt;A Rendering-Finality Architecture for Protecting Children from 18+ Content under the EU Digital Services Act (DSA)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://futurium.ec.europa.eu/en/apply-ai-alliance/community-content/rendering-finality-architecture-protecting-children-18-content-under-eu-digital-services-act-dsa" rel="noopener noreferrer"&gt;https://futurium.ec.europa.eu/en/apply-ai-alliance/community-content/rendering-finality-architecture-protecting-children-18-content-under-eu-digital-services-act-dsa&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a public contribution on the European Commission's Futurium platform and should not be interpreted as European Commission endorsement.&lt;/p&gt;

&lt;p&gt;Zenodo&lt;/p&gt;

&lt;p&gt;Temporary Under-18 Mode for iPhone: The Missing Switch Before You Hand the Phone to a Child&lt;/p&gt;

&lt;p&gt;&lt;a href="https://zenodo.org/records/22209003" rel="noopener noreferrer"&gt;https://zenodo.org/records/22209003&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The question I want to ask developers&lt;/p&gt;

&lt;p&gt;Should a mobile operating system have a protected security transition specifically for the moment an adult hands an unlocked device to a child?&lt;/p&gt;

&lt;p&gt;The adult may be legitimate.&lt;/p&gt;

&lt;p&gt;The authentication may be legitimate.&lt;/p&gt;

&lt;p&gt;The account may be legitimate.&lt;/p&gt;

&lt;p&gt;The device may be legitimate.&lt;/p&gt;

&lt;p&gt;But one important fact has changed:&lt;/p&gt;

&lt;p&gt;the person physically using the phone.&lt;/p&gt;

&lt;p&gt;To me, that looks like a state transition worth representing in the security architecture.&lt;/p&gt;

&lt;p&gt;I would especially appreciate criticism from mobile OS developers, graphics engineers, security researchers, trusted-execution engineers, and people familiar with protected media pipelines.&lt;/p&gt;

&lt;p&gt;I am interested in knowing where this would fail in a real implementation, not only where it works conceptually.&lt;/p&gt;

&lt;p&gt;About the author&lt;/p&gt;

&lt;p&gt;I am Sangam Das, an independent inventor and researcher based in Balasore, Odisha, India. My work focuses on hardware-rooted execution-finality and protocol-level security architectures.&lt;/p&gt;

</description>
      <category>security</category>
      <category>ios</category>
      <category>architecture</category>
      <category>privacy</category>
    </item>
  </channel>
</rss>
