# permission

Published articles for permission.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## From Atlas experiment to Airlock: extracting agent governance into a product

DevFeed: [From Atlas experiment to Airlock: extracting agent governance into a product](<https://devfeed.tech/articles/from-atlas-experiment-to-airlock-extracting-agent-governance-into-a-product-27009.md>)

Original publisher: [Read original article](<https://workos.com/blog/atlas-to-airlock-agent-governance>)

Author: WorkOS

Published: 2026-09-15T15:35:36Z

Content type: article

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [Authorization](<https://devfeed.tech/topics/authorization.md>), [Security](<https://devfeed.tech/topics/security.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [App](<https://devfeed.tech/topics/app.md>), [Linear](<https://devfeed.tech/topics/linear.md>), [Slack](<https://devfeed.tech/topics/slack.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [email](<https://devfeed.tech/tags/email.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [linear](<https://devfeed.tech/tags/linear.md>), [permission](<https://devfeed.tech/tags/permission.md>), [policy](<https://devfeed.tech/tags/policy.md>), [product](<https://devfeed.tech/tags/product.md>), [security](<https://devfeed.tech/tags/security.md>), [slack](<https://devfeed.tech/tags/slack.md>)

### AI overview

The article explains how WorkOS's Airlock grew from the Atlas experiment into a standalone authorization product for governing AI-agent actions in company tools. A demonstration shows policies blocking emails containing financial information and requiring approval for unfamiliar distribution lists.

### Source excerpt

Airlock grew out of Atlas to give IT and security teams a shared way to govern agent actions. Aaron Tainter's Agent Night demo shows how it works.

## Agent session chains that can't escalate

DevFeed: [Agent session chains that can't escalate](<https://devfeed.tech/articles/agent-session-chains-that-can-t-escalate-26792.md>)

Original publisher: [Read original article](<https://workos.com/blog/agent-session-chaining>)

Author: WorkOS

Published: 2026-09-15T00:00:00Z

Content type: article

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [Authorization](<https://devfeed.tech/topics/authorization.md>), [API](<https://devfeed.tech/topics/api.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [api](<https://devfeed.tech/tags/api.md>), [auth](<https://devfeed.tech/tags/auth.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [backend](<https://devfeed.tech/tags/backend.md>), [multi-agent](<https://devfeed.tech/tags/multi-agent.md>), [multi-agent-systems](<https://devfeed.tech/tags/multi-agent-systems.md>), [permission](<https://devfeed.tech/tags/permission.md>), [server](<https://devfeed.tech/tags/server.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The article explains how Agent Auth session chaining lets an agent create separately scoped child sessions for subtasks. Each child records its parent, uses its own access and single-use refresh tokens, can be revoked independently, and cannot outlive the root session. The supplied text also states that the backend creates the chain server-side using an API key.

### Source excerpt

An agent can open a child session of itself for a sub-task. The chain re-derives authority at every hop and can never outlive its root.

## Run contained pen testing as chaos experiments securely

DevFeed: [Run contained pen testing as chaos experiments securely](<https://devfeed.tech/articles/run-contained-pen-testing-as-chaos-experiments-securely-13490.md>)

Original publisher: [Read original article](<https://www.harness.io/blog/the-contained-pen-test-proving-resilience-without-widening-the-blast-radius>)

Author: Uma Mukkara

Published: 2026-09-09T22:42:00Z

Content type: article

Language: en

Sources: [Harness Blog](<https://devfeed.tech/sources/harness-blog.md>)

Topics: [Resilience](<https://devfeed.tech/topics/resilience.md>), [Security](<https://devfeed.tech/topics/security.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [chaos](<https://devfeed.tech/tags/chaos.md>), [permission](<https://devfeed.tech/tags/permission.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [production](<https://devfeed.tech/tags/production.md>), [resilience](<https://devfeed.tech/tags/resilience.md>), [security](<https://devfeed.tech/tags/security.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tool](<https://devfeed.tech/tags/tool.md>)

### AI overview

The article describes contained pen-testing experiments that run inside a release pipeline. Each experiment targets one service, one failure or intrusion condition, and one pipeline stage, producing an immutable audit record while avoiding broad production access.

### Source excerpt

| Blog

## From Permissions to Sessions: Rethinking Location Access in Android 17

DevFeed: [From Permissions to Sessions: Rethinking Location Access in Android 17](<https://devfeed.tech/articles/from-permissions-to-sessions-rethinking-location-access-in-android-17-22946.md>)

Original publisher: [Read original article](<https://proandroiddev.com/from-permissions-to-sessions-rethinking-location-access-in-android-17-5a13124b777d?source=rss----c72404660798---4>)

Author: Nav Singh

Published: 2026-09-09T01:15:51Z

Content type: tutorial

Language: en

Sources: [ProAndroidDev - Medium](<https://devfeed.tech/sources/proandroiddev-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [android-permissions](<https://devfeed.tech/tags/android-permissions.md>), [android17](<https://devfeed.tech/tags/android17.md>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [compose](<https://devfeed.tech/tags/compose.md>), [development](<https://devfeed.tech/tags/development.md>), [feature](<https://devfeed.tech/tags/feature.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [permission](<https://devfeed.tech/tags/permission.md>)

### AI overview

A tutorial on implementing Android 17's system-rendered Location Button in Jetpack Compose. The button uses the USE_LOCATION_BUTTON permission and grants precise location for the current session, with local rendering fallback on older Android versions or when remote rendering fails.

### Source excerpt

Image generated using Gemini In this article, we will learn how to implement the new 📍Location button introduced in Android 17 in Jetpack Compose-based Android applications. Android 17 adds a system-rendered 📍Location Button that we can drop into the layout via a Jetpack library, and tapping it gives the app precise location for that session only, gated by a new USE_LOCATION_BUTTON permission. What the feature is Android now exposes a system-owned, standard location button that we can embed in our UI instead of designing a custom control. When the user taps it, the system handles the permission flow, then grants the app precise location for the current session only, rather than long-lived access. How it changes permissions Instead of immediately requesting ACCESS_FINE_LOCATION (and maybe ACCESS_COARSE_LOCATION) at runtime, we declare the new USE_LOCATION_BUTTON permission to host the button. <!-- Standard Coarse and Fine Location Permissions + onlyForLocationButton --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:usesPermissionFlags="onlyForLocationButton"/> <!-- Required system permission for rendering the LocationButton --> <uses-permission android:name="android.permission.USE_LOCATION_BUTTON" />Developer benefits Less custom permission boilerplate: We lean on system UX and the Jetpack library for the hardest parts of location consent. [versions] locationbuttonCompose = "1.0.0-alpha01" [libraries] androidx-locationbutton-compose = { group = "androidx.core.locationbutton", name = "locationbutton-compose", version.ref = "locationbuttonCompose" } Higher trust and clarity for users: the control looks and behaves consistently across apps, and session-only precise access is easier to understand than broader access. Implementation As we all know, Android development is now Compose-first, so we will implement it using the LocationButton composable provided by th

## Pick One Contact Without Asking for the Address Book

DevFeed: [Pick One Contact Without Asking for the Address Book](<https://devfeed.tech/articles/pick-one-contact-without-asking-for-the-address-book-19449.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/private-contact-picker/>)

Author: Shai Almog

Published: 2026-09-09T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Code](<https://devfeed.tech/topics/code.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [code](<https://devfeed.tech/tags/code.md>), [contactpicker](<https://devfeed.tech/tags/contactpicker.md>), [ios](<https://devfeed.tech/tags/ios.md>), [native](<https://devfeed.tech/tags/native.md>), [permission](<https://devfeed.tech/tags/permission.md>), [privacy](<https://devfeed.tech/tags/privacy.md>)

### AI overview

ContactPicker lets Codename One applications request selected contact fields through a system-owned picker without broad address-book permission. The article describes platform differences, limited fallback behavior, manual-entry handling, and more precise permission detection.

### Source excerpt

ContactPicker lets a Codename One application request selected contact fields through the system picker without broad address-book permission.

## Fill an SMS Verification Code Without Reading the Inbox

DevFeed: [Fill an SMS Verification Code Without Reading the Inbox](<https://devfeed.tech/articles/fill-an-sms-verification-code-without-reading-the-inbox-19522.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/sms-otp-autofill/>)

Author: Shai Almog

Published: 2026-09-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Web](<https://devfeed.tech/topics/web.md>), [Security](<https://devfeed.tech/topics/security.md>), [API](<https://devfeed.tech/topics/api.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [ios](<https://devfeed.tech/tags/ios.md>), [otp](<https://devfeed.tech/tags/otp.md>), [permission](<https://devfeed.tech/tags/permission.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

Codename One adds one-time-code autofill, a country-aware phone-number field, and a verification component for iOS, Android, and the browser without requesting access to the rest of the SMS inbox. The article explains the asynchronous verification flow, server-side security responsibilities, and a single-editor design that improves typing, pasting, accessibility, and autofill.

### Source excerpt

Codename One adds phone-number and OTP components plus one-time-code autofill on iOS, Android, and the web without requesting permission to read SMS messages.

## Dealing with sensitive permissions on Android

DevFeed: [Dealing with sensitive permissions on Android](<https://devfeed.tech/articles/dealing-with-sensitive-permissions-on-android-26161.md>)

Original publisher: [Read original article](<https://dev.to/tkuenneth/dealing-with-sensitive-permissions-on-android-3icg>)

Author: Thomas Künneth

Published: 2026-09-05T09:22:30Z

Content type: opinion

Language: en

Sources: [Thomas Künneth](<https://devfeed.tech/sources/thomas-kunneth.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Google Play](<https://devfeed.tech/topics/google-play.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [app](<https://devfeed.tech/tags/app.md>), [coding](<https://devfeed.tech/tags/coding.md>), [community](<https://devfeed.tech/tags/community.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [google-play](<https://devfeed.tech/tags/google-play.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [permission](<https://devfeed.tech/tags/permission.md>), [policy](<https://devfeed.tech/tags/policy.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

This article explains how Android and Google Play treat READ_CALL_LOG as a sensitive permission. It describes how Google Play restrictions affected TKWeek's distribution and led the author to remove call-log access from Play builds while restoring the feature in builds distributed through F-Droid and Obtainium.

### Source excerpt

Right now the developer community seems fascinated (if not outright obsessed) with agentic coding. That wave is real, and it will heavily impact how we build software. But let's not forget there are other topics worth attention. Here, the focus is something less fashionable: sensitive permissions on Android. After shipping TKWeek updates outside Google Play and answering the inevitable Why isn't this on the Play Store? with a blunt Sensitive permissions, it is fair to ask whether that topic still matters in 2026. I can answer that from shipping one app for a long time. I started working on TKWeek back in 2010. Some time later I added a module called My day that shows important information for a particular day, including missed phone calls. READ_CALL_LOG is a dangerous permission since API level 23, so users who do not want to allow the app to read those details have a secure, reliable safety hatch. Still, after a late-2018 announcement, by 2019 Google Play was enforcing READ_CALL_LOG under its high-risk / sensitive rules. Now, what does that store layer mean anyway? Dangerous on the device, sensitive in the store On the platform side, Android already classifies quite a few permissions as dangerous: they guard private user data, and starting with API 23 the user must grant them at runtime. READ_CALL_LOG is in that bucket (Manifest.permission.READ_CALL_LOG). Google Play's extra layer sits on top of that. In Play docs the umbrella is high-risk or sensitive permissions; Call Log and SMS are restricted permission groups. Either way, it is store policy, not just OS protection. For Call Log and SMS, only narrow use cases are allowed (typically default Phone, SMS, or Assistant handlers, plus a short list of exceptions), and you must declare them in Play Console or remove them from the manifest. See Google's Permissions and APIs that Access Sensitive Information and Use of SMS or Call Log permission groups. Back in 2021 that policy stopped being theoretical. Showing missed c

## Your AI agent shouldn't inherit your admin's permissions

DevFeed: [Your AI agent shouldn't inherit your admin's permissions](<https://devfeed.tech/articles/your-ai-agent-shouldn-t-inherit-your-admin-s-permissions-16058.md>)

Original publisher: [Read original article](<https://workos.com/blog/scoping-ai-agent-permissions>)

Author: WorkOS

Published: 2026-09-03T00:00:00Z

Content type: release

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [Authorization](<https://devfeed.tech/topics/authorization.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [audit](<https://devfeed.tech/tags/audit.md>), [auth](<https://devfeed.tech/tags/auth.md>), [permission](<https://devfeed.tech/tags/permission.md>)

### AI overview

The article explains how WorkOS Agent Auth limits delegated AI agent sessions using both the invoking user's permissions and an agent definition's permission ceiling. It describes delegated and autonomous agents, along with reusable definitions, allowed invokers, and session lifetimes.

### Source excerpt

Delegated agent sessions are now capped by the user and the agent definition at once, which closes a gap we couldn't close a few months ago.

## Your agent's permission model stops at your home folder

DevFeed: [Your agent's permission model stops at your home folder](<https://devfeed.tech/articles/your-agent-s-permission-model-stops-at-your-home-folder-15991.md>)

Original publisher: [Read original article](<https://workos.com/blog/agent-permissions-blast-radius>)

Author: WorkOS

Published: 2026-09-02T00:00:00Z

Content type: opinion

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [coding](<https://devfeed.tech/topics/coding.md>), [API](<https://devfeed.tech/topics/api.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agents](<https://devfeed.tech/tags/agents.md>), [api](<https://devfeed.tech/tags/api.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [developer](<https://devfeed.tech/tags/developer.md>), [permission](<https://devfeed.tech/tags/permission.md>), [yolo](<https://devfeed.tech/tags/yolo.md>)

### AI overview

This opinion article argues that coding-agent permission systems primarily protect local files and shell actions, while providing little business-aware control over API operations such as CRM changes. It examines approval fatigue, automatic approval modes, and the need for permission models that understand business impact.

### Source excerpt

Coding agents were built to guard a filesystem. The blast radius that matters now is in your CRM.

## MCP: Scope step-up is not authentication step-up

DevFeed: [MCP: Scope step-up is not authentication step-up](<https://devfeed.tech/articles/mcp-scope-step-up-is-not-authentication-step-up-16030.md>)

Original publisher: [Read original article](<https://workos.com/blog/mcp-scope-step-up-vs-authentication-step-up>)

Author: WorkOS

Published: 2026-09-01T00:00:00Z

Content type: article

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [browser](<https://devfeed.tech/tags/browser.md>), [compliance](<https://devfeed.tech/tags/compliance.md>), [delivery](<https://devfeed.tech/tags/delivery.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [model-context-protocol](<https://devfeed.tech/tags/model-context-protocol.md>), [permission](<https://devfeed.tech/tags/permission.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [scope](<https://devfeed.tech/tags/scope.md>), [token](<https://devfeed.tech/tags/token.md>)

### AI overview

The article distinguishes MCP scope step-up from authentication step-up. MCP's current authorization flow addresses insufficient permission by obtaining broader scopes, but it does not standardize verifying whether a human recently authenticated or is still present. It recommends binding out-of-band approval to the user and exact operation until this changes.

### Source excerpt

MCP standardized how an agent asks for more permission. It has no vocabulary yet for asking whether the human behind the token is still there.

## Curating queues beats approving actions

DevFeed: [Curating queues beats approving actions](<https://devfeed.tech/articles/curating-queues-beats-approving-actions-16012.md>)

Original publisher: [Read original article](<https://workos.com/blog/curating-queues-beats-approving-actions>)

Author: WorkOS

Published: 2026-08-27T14:28:13Z

Content type: opinion

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [Authorization](<https://devfeed.tech/topics/authorization.md>), [Access Control](<https://devfeed.tech/topics/access-control.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [access-control](<https://devfeed.tech/tags/access-control.md>), [agent](<https://devfeed.tech/tags/agent.md>), [permission](<https://devfeed.tech/tags/permission.md>), [queue](<https://devfeed.tech/tags/queue.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This opinion article argues that continuous agents make one-action-at-a-time permission prompts impractical. For reversible work, it proposes generating a surplus of candidates, placing them in a queue, and having a human select which work to pursue.

### Source excerpt

The permission prompt breaks down once an agent works continuously. What replaces it is curation: a surplus of candidates, a queue, and a human who picks.

## Designing the connect flow your users actually see

DevFeed: [Designing the connect flow your users actually see](<https://devfeed.tech/articles/designing-the-connect-flow-your-users-actually-see-16038.md>)

Original publisher: [Read original article](<https://workos.com/blog/oauth-connect-flow-ux>)

Author: WorkOS

Published: 2026-08-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [ui](<https://devfeed.tech/topics/ui.md>), [Google](<https://devfeed.tech/topics/google.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>)

Tags: [google](<https://devfeed.tech/tags/google.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [permission](<https://devfeed.tech/tags/permission.md>), [trust](<https://devfeed.tech/tags/trust.md>), [ui](<https://devfeed.tech/tags/ui.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

This article explains how to design the user-facing OAuth connection flow, including provider consent screens, branding verification, partial permission grants, administrative approval, and connection health after authorization.

### Source excerpt

What the consent screen shows, why partial grants are normal, and how to model connection health.

## Security Baked Into the JVM: two Subjects, one call

DevFeed: [Security Baked Into the JVM: two Subjects, one call](<https://devfeed.tech/articles/security-baked-into-the-jvm-two-subjects-one-call-18930.md>)

Original publisher: [Read original article](<https://blog.frankel.ch/security-baked-into-jvm/3/>)

Author: Peter Firmstone

Published: 2026-08-09T00:00:00Z

Content type: article

Language: en

Sources: [Nicolas Fränkel](<https://devfeed.tech/sources/nicolas-frankel.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [SPIFFE](<https://devfeed.tech/topics/spiffe.md>), [SPIRE](<https://devfeed.tech/topics/spire.md>)

Tags: [certificates](<https://devfeed.tech/tags/certificates.md>), [dirtychai](<https://devfeed.tech/tags/dirtychai.md>), [java](<https://devfeed.tech/tags/java.md>), [jgdms](<https://devfeed.tech/tags/jgdms.md>), [jini](<https://devfeed.tech/tags/jini.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [permission](<https://devfeed.tech/tags/permission.md>), [process](<https://devfeed.tech/tags/process.md>), [security](<https://devfeed.tech/tags/security.md>), [spiffe](<https://devfeed.tech/tags/spiffe.md>), [spire](<https://devfeed.tech/tags/spire.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

This article examines identity and security in the JVM through DirtyChai. It describes separate process and user identities, including SPIFFE workload credentials delivered through SPIRE and JWT/OIDC-based user identity, and explains how these identities coexist across request dispatch and privilege boundaries.

### Source excerpt

The constraint system stops a bad call before it leaves the JVM. The Safe Codebase Audit Pipeline stops bad code before a client ever loads it. What remains is identity: who is calling, and can you verify it? Most frameworks answer with a token check at the door. A filter validates a bearer token, sets a thread-local variable, and hopes that nothing downstream forgets to look at it. DirtyChai answers differently.

## Running YOLO-Mode Coding Agents in a Sandbox for Infrastructure Work

DevFeed: [Running YOLO-Mode Coding Agents in a Sandbox for Infrastructure Work](<https://devfeed.tech/articles/yolo-mode-is-the-right-default-your-laptop-is-the-wrong-place-for-it-19025.md>)

Original publisher: [Read original article](<https://www.pulumi.com/blog/sandboxing-coding-agents-yolo-mode/>)

Author: Engin Diri

Published: 2026-08-04T00:00:00Z

Content type: opinion

Language: en

Sources: [Pulumi](<https://devfeed.tech/sources/pulumi.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Security](<https://devfeed.tech/topics/security.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [codex](<https://devfeed.tech/topics/codex.md>), [cursor](<https://devfeed.tech/topics/cursor.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [autonomous](<https://devfeed.tech/tags/autonomous.md>), [aws](<https://devfeed.tech/tags/aws.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [claude](<https://devfeed.tech/tags/claude.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [codex](<https://devfeed.tech/tags/codex.md>), [coding](<https://devfeed.tech/tags/coding.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [docker](<https://devfeed.tech/tags/docker.md>), [files](<https://devfeed.tech/tags/files.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [permission](<https://devfeed.tech/tags/permission.md>), [sandbox](<https://devfeed.tech/tags/sandbox.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This opinion article argues that coding agents should retain autonomous YOLO-mode operation inside a sandbox rather than rely on repeated command approvals. It discusses risks to local files, AWS credentials, Kubernetes configurations, and Pulumi access tokens, and presents sandboxing as a way to limit the blast radius during infrastructure work.

### Source excerpt

Claude Code calls the flag --dangerously-skip-permissions, and the community long ago renamed it YOLO mode. It lets your coding agent run any command it wants without ever asking for permission. Every agent has some version of it, Codex and Cursor included, and if you use these tools seriously, you are probably running one of them every day. I am. YOLO mode is also what makes a coding agent worth having. An agent that stops for approval before every command is not autonomous; it's a slow pair programmer. But you cannot let it run wild on your machine without real guardrails either. You have heard the horror stories: wiped databases, deleted home directories, vanished git history. The odds on any given day are low, and it's tempting to conclude it will never happen to you. It only has to happen once. My version of this problem is worse than most, because the code in my working directory is infrastructure code. My laptop holds more than source files. It holds AWS credentials, kubeconfigs that point at real clusters, and Pulumi access tokens. This post walks through what an unsandboxed agent can actually do, why prompt guardrails fail exactly when you need them, and how a sandbox lets you keep full YOLO-mode autonomy anyway. Then I will show you the kit I built for doing infrastructure work this way. Approving every command is not a security model Let me get one thing out of the way first: the answer is not to turn YOLO mode off. A real working session involves hundreds of commands, and nobody reviews the hundredth npm install any better than the first. You are not evaluating at that point; you are pressing enter. Approval fatigue turns the permission prompt into a formality while destroying the one thing you wanted from the agent, which is that it works while you do something else. The goal instead is to run YOLO mode somewhere it cannot hurt you. That somewhere is a sandbox: an isolated environment where the agent has full autonomy and your machine is no longer part

## Testing an Agent Harness Without Ever Calling the Model

DevFeed: [Testing an Agent Harness Without Ever Calling the Model](<https://devfeed.tech/articles/testing-an-agent-harness-without-ever-calling-the-model-34114.md>)

Original publisher: [Read original article](<https://philipptheserver.com/posts/testing-an-agent-harness/>)

Author: Philipp Lehmann (philipp.lehmann@gruppe.ai)

Published: 2026-07-31T07:00:00Z

Content type: tutorial

Language: en

Sources: [Philipp Lehmann](<https://devfeed.tech/sources/philipp-lehmann.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Agent Harness](<https://devfeed.tech/topics/agent-harness.md>), [Pytest](<https://devfeed.tech/topics/pytest.md>), [Unit testing](<https://devfeed.tech/topics/unit-testing.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agent-harness](<https://devfeed.tech/tags/agent-harness.md>), [agents](<https://devfeed.tech/tags/agents.md>), [api](<https://devfeed.tech/tags/api.md>), [network](<https://devfeed.tech/tags/network.md>), [permission](<https://devfeed.tech/tags/permission.md>), [pytest](<https://devfeed.tech/tags/pytest.md>), [python](<https://devfeed.tech/tags/python.md>), [recording](<https://devfeed.tech/tags/recording.md>), [testing](<https://devfeed.tech/tags/testing.md>), [unit-testing](<https://devfeed.tech/tags/unit-testing.md>)

### AI overview

This tutorial explains how to unit test a coding agent's tool-call permission layer without calling a model. It recommends separating the decision function from model responses, using recorded real-request fixtures, and keeping the policy module independent of any LLM SDK.

### Source excerpt

Unit testing a coding agent's tool-call permission layer with pytest and recorded fixtures: allow, deny or ask decisions with no model or API key.

## Self-service peering with a PeeringDB login

DevFeed: [Self-service peering with a PeeringDB login](<https://devfeed.tech/articles/self-service-peering-with-a-peeringdb-login-36154.md>)

Original publisher: [Read original article](<https://as215248.net/notes/self-service-peering/>)

Author: Bastiaan Brink

Published: 2026-07-27T00:00:00Z

Content type: opinion

Language: en

Sources: [AS215248 - Notes](<https://devfeed.tech/sources/as215248-notes.md>)

Topics: [Networks](<https://devfeed.tech/topics/networks.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [bgp](<https://devfeed.tech/tags/bgp.md>), [dashboard](<https://devfeed.tech/tags/dashboard.md>), [ipv4](<https://devfeed.tech/tags/ipv4.md>), [ipv6](<https://devfeed.tech/tags/ipv6.md>), [ixp](<https://devfeed.tech/tags/ixp.md>), [login](<https://devfeed.tech/tags/login.md>), [mail](<https://devfeed.tech/tags/mail.md>), [networks](<https://devfeed.tech/tags/networks.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [peering](<https://devfeed.tech/tags/peering.md>), [permission](<https://devfeed.tech/tags/permission.md>), [request](<https://devfeed.tech/tags/request.md>), [self-service](<https://devfeed.tech/tags/self-service.md>)

### AI overview

The article describes a self-service peering portal that uses PeeringDB OAuth to authenticate users, verify ASN update rights, and offer exchanges where both networks are present. Requests create disabled sessions for manual approval, with inherited filtering and validation policies, notifications, and approval-based removal.

### Source excerpt

Peering requests used to be mail ping-pong. Now you log in with PeeringDB on the peering page, pick an exchange, and the session is waiting for my approval.

## Bluetooth Support Across Every Codename One Target

DevFeed: [Bluetooth Support Across Every Codename One Target](<https://devfeed.tech/articles/bluetooth-support-across-every-codename-one-target-19220.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/bluetooth-beyond-ble/>)

Author: Shai Almog

Published: 2026-07-26T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [API](<https://devfeed.tech/topics/api.md>), [simulator](<https://devfeed.tech/topics/simulator.md>), [Web](<https://devfeed.tech/topics/web.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [ble](<https://devfeed.tech/tags/ble.md>), [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [browser](<https://devfeed.tech/tags/browser.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [core](<https://devfeed.tech/tags/core.md>), [desktop](<https://devfeed.tech/tags/desktop.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [permission](<https://devfeed.tech/tags/permission.md>), [platform](<https://devfeed.tech/tags/platform.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [tests](<https://devfeed.tech/tags/tests.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

Codename One's core Bluetooth API adds cross-target support for BLE, GATT, L2CAP, classic RFCOMM, Web Bluetooth, and a scriptable simulator. The API exposes platform capabilities and limits, while the implementation handles queued GATT operations and callback timeouts.

### Source excerpt

The core Bluetooth API covers BLE, GATT, L2CAP, classic RFCOMM, Web Bluetooth, and a scriptable simulator while exposing each platform's limits.

## AI Coding Tip 028 - Build a Company Brain

DevFeed: [AI Coding Tip 028 - Build a Company Brain](<https://devfeed.tech/articles/ai-coding-tip-028-build-a-company-brain-18218.md>)

Original publisher: [Read original article](<https://maximilianocontieri.com/ai-coding-tip-028-build-a-company-brain>)

Author: Maxi Contieri

Published: 2026-07-19T03:03:15Z

Content type: tutorial

Language: en

Sources: [Maximiliano Contieri - Software Design](<https://devfeed.tech/sources/maximiliano-contieri-software-design.md>)

Topics: [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>), [Access Control](<https://devfeed.tech/topics/access-control.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [documentation](<https://devfeed.tech/tags/documentation.md>), [integration](<https://devfeed.tech/tags/integration.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [permission](<https://devfeed.tech/tags/permission.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

This tutorial proposes connecting a company's fragmented knowledge systems to AI through MCP servers and a defined skill. It emphasizes source citations, freshness checks, explicit tool boundaries, and preserving requester-specific access control.

### Source excerpt

TL;DR: Wire a skill into your company's live systems so every answer carries a source and a freshness check. Common Mistake ❌ As a single contributor, you can build a personal Second Brain, and it wo

## Why AI Agents Need Dedicated Identity and Access Controls

DevFeed: [Why AI Agents Need Dedicated Identity and Access Controls](<https://devfeed.tech/articles/why-your-ai-agent-has-an-identity-problem-23743.md>)

Original publisher: [Read original article](<https://cockroachlabs.com/blog/ai-agent-identity-security>)

Author: Quentin Packard

Published: 2026-07-17T00:00:00Z

Content type: opinion

Language: en

Sources: [Cockroach Labs](<https://devfeed.tech/sources/cockroach-labs.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [identity and access management](<https://devfeed.tech/topics/identity-and-access-management.md>), [Security](<https://devfeed.tech/topics/security.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [audit trail](<https://devfeed.tech/topics/audit-trail.md>)

Tags: [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [apis](<https://devfeed.tech/tags/apis.md>), [audit-trail](<https://devfeed.tech/tags/audit-trail.md>), [identity-and-access-management](<https://devfeed.tech/tags/identity-and-access-management.md>), [permission](<https://devfeed.tech/tags/permission.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

The article argues that production AI agents need dedicated identities and access controls because shared service accounts, broad permissions, and incomplete audit trails make it difficult to determine what agents accessed and why. Traditional IAM was designed around human actors and does not fully address autonomous software processes that act rapidly, access many records, call external APIs, or delegate work to other agents.

### Source excerpt

The agent your team just shipped to external users has the ability to read customer records, execute transactions, and call external APIs.

## How Discord Fans Out One Message to a Million Users

DevFeed: [How Discord Fans Out One Message to a Million Users](<https://devfeed.tech/articles/how-discord-fans-out-one-message-to-a-million-users-18023.md>)

Original publisher: [Read original article](<https://blog.levelupcoding.com/p/discord-case-study-one-message-million-users>)

Author: Nikki Siapno

Published: 2026-07-07T13:22:26Z

Content type: article

Language: en

Sources: [Level Up Coding System Design Newsletter](<https://devfeed.tech/sources/level-up-coding-system-design-newsletter.md>)

Topics: [Discord](<https://devfeed.tech/topics/discord.md>), [Publish-subscribe pattern](<https://devfeed.tech/topics/pubsub.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [case-study](<https://devfeed.tech/tags/case-study.md>), [channel](<https://devfeed.tech/tags/channel.md>), [discord](<https://devfeed.tech/tags/discord.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [permission](<https://devfeed.tech/tags/permission.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [scale](<https://devfeed.tech/tags/scale.md>), [server](<https://devfeed.tech/tags/server.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

This case study explains how Discord fans out a single message to many online users. It describes a real-time backend built around pub/sub, guild routing processes, permission checks, session processes, and WebSocket delivery.

### Source excerpt

A case study in fanout, bottlenecks, and the engineering decisions behind Discord's scale.

## Permissionless Ownership

DevFeed: [Permissionless Ownership](<https://devfeed.tech/articles/permissionless-ownership-9232.md>)

Original publisher: [Read original article](<https://webflowmarketingmain.com/blog/permissionless-ownership>)

Author: Nicolás Vázquez

Published: 2026-06-16T00:00:00Z

Content type: opinion

Language: en

Sources: [Webflow Blog](<https://devfeed.tech/sources/webflow-blog.md>)

Topics: [Learning](<https://devfeed.tech/topics/learning.md>), [Process](<https://devfeed.tech/topics/process.md>)

Tags: [context](<https://devfeed.tech/tags/context.md>), [deferred](<https://devfeed.tech/tags/deferred.md>), [development](<https://devfeed.tech/tags/development.md>), [permission](<https://devfeed.tech/tags/permission.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

A reflection on permissionless ownership: noticing problems, raising them with context and judgment, and helping move work forward before receiving a formal assignment or permission.

### Source excerpt

A reflection on raising your hand, making invisible work visible, and taking responsibility before permission arrives.

## Build, Configure, or Use As-Is: The Agentic Harness

DevFeed: [Build, Configure, or Use As-Is: The Agentic Harness](<https://devfeed.tech/articles/build-configure-or-use-as-is-the-agentic-harness-18292.md>)

Original publisher: [Read original article](<https://www.decodingai.com/p/agentic-harness-system-design>)

Author: Paul Iusztin

Published: 2026-06-09T05:00:28Z

Content type: tutorial

Language: en

Sources: [Decoding ML](<https://devfeed.tech/sources/decoding-ml.md>)

Topics: [Tool](<https://devfeed.tech/topics/tool.md>), [AI Engineering](<https://devfeed.tech/topics/ai-engineering.md>), [codex](<https://devfeed.tech/topics/codex.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-engineering](<https://devfeed.tech/tags/ai-engineering.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [article](<https://devfeed.tech/tags/article.md>), [building](<https://devfeed.tech/tags/building.md>), [memory](<https://devfeed.tech/tags/memory.md>), [permission](<https://devfeed.tech/tags/permission.md>), [sandbox](<https://devfeed.tech/tags/sandbox.md>), [sandboxes](<https://devfeed.tech/tags/sandboxes.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

This article explains the shared system design of agentic harnesses, covering tools, agent catalogs, subagents, skills, memory, sandboxes, and permissions. It argues that these harness components are increasingly standardized, while the main differentiation lies in the context and business layers built on top.

### Source excerpt

A component-by-component teardown of an agentic harness, from tools and skills to memory, sandbox, and permissions.

## Background Work, Push Topics, And Richer Notifications

DevFeed: [Background Work, Push Topics, And Richer Notifications](<https://devfeed.tech/articles/background-work-push-topics-and-richer-notifications-19210.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/background-execution-and-push/>)

Author: Shai Almog

Published: 2026-06-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [background-work](<https://devfeed.tech/tags/background-work.md>), [development](<https://devfeed.tech/tags/development.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile-development](<https://devfeed.tech/tags/mobile-development.md>), [network](<https://devfeed.tech/tags/network.md>), [notifications](<https://devfeed.tech/tags/notifications.md>), [permission](<https://devfeed.tech/tags/permission.md>)

### AI overview

This article describes Codename One updates for constraint-based background work, foreground services, push topic subscriptions, shared-content handling, richer local notifications, and simulator support across Android and iOS.

### Source excerpt

Constraint-based background work, foreground services, push topic subscriptions, shared-content handling, and a much richer local notification API, all with full simulator support.

## Implement Android 17's Contact Picker

DevFeed: [Implement Android 17's Contact Picker](<https://devfeed.tech/articles/ditch-read-contacts-forever-android-17-s-secure-contact-picker-25981.md>)

Original publisher: [Read original article](<https://proandroiddev.com/ditch-read-contacts-forever-android-17s-secure-contact-picker-24c5c69b3b51?source=rss-711ab22c5c77------2>)

Author: Nav Singh

Published: 2026-06-07T19:28:49Z

Content type: tutorial

Language: en

Sources: [Stories by Nav Singh 🇨🇦 on Medium](<https://devfeed.tech/sources/stories-by-nav-singh-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android17](<https://devfeed.tech/tags/android17.md>), [androidappdevelopment-usa](<https://devfeed.tech/tags/androidappdevelopment-usa.md>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [contactpicker](<https://devfeed.tech/tags/contactpicker.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [permission](<https://devfeed.tech/tags/permission.md>), [privacy](<https://devfeed.tech/tags/privacy.md>)

### AI overview

A tutorial on implementing Android 17's Contact Picker as a privacy-preserving alternative to READ_CONTACTS. It covers requesting contact data fields, launching the picker, handling result URIs, multi-selection, and compatibility behavior.

### Source excerpt

Image generated using Perplexity In this article, we will learn how to implement the new Contact Picker introduced in Android17. Contact picker | Android Developers Contact picker -- Android17 It is a standardized, browsable interface for sharing contacts. A privacy-preserving alternative to the READ_CONTACTS permission, the picker runs on Android 17 and higher. 🪦 READ_CONTACTS Permission 🪦 It grants apps full, persistent access to all contact data -- names, phone numbers, emails, etc -- after a one-time user approval (runtime permission). Protection level: dangerous ⛔ Apps specify which data fields they need, such as phone numbers or email addresses, and users select specific contacts to share. With built-in search, profile switching, and multi-selection capabilities, the app reads only the selected data, ensuring granular control. Implementation Intent Action: ACTION_PICK_CONTACTS We will be able to specify multiple data fields our app will need at once. We do this using Intent.EXTRA_REQUESTED_DATA_FIELDS, passing an ArrayList<String> of MIME types defined in ContactsContract.CommonDataKinds. MIME Types: //... ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE //...Define the ActivityResultLauncherval contactPickerLauncher = rememberLauncherForActivityResult( contract = ActivityResultContracts.StartActivityForResult() ) { result -> if (result.resultCode == Activity.RESULT_OK) { val uri = result.data?.data ?: return@rememberLauncherForActivityResult // Process the result URI.... processCPResultUri(uri, context) } }Launch the ContactPicker 📲 Define the intent val requestedFields = arrayListOf( ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE ) // Set up the intent val pickContactIntent = Intent(ContactsPickerSessionContract.ACTION_PICK_CONTACTS).apply { // Enable multi-select - true/false putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true) // Set limit of selectable contacts putExtra(EXTRA_PICK_CONTACTS_SE

[Next page](<https://devfeed.tech/tags/permission.md?cursor=WyIyMDI2LTA2LTA3VDE5OjI4OjQ5KzAwOjAwIiwgImE0YTE2MzEyLWU0ODQtNDAyYy05ODk5LWNlZjRhZDJiNzdlOCJd>)