<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/create-a-self-service-app-and-api-delivery-platform-with-composable-traffic-policy-71ps8jytk" -->

---
title: Create a self-service app and API delivery platform with...
description: ngrok explains how its API gateway primitives—internal endpoints, cloud endpoints, and composable Traffic Policy—let infrastructure teams retain control over...
canonical: https://daily.dev/posts/create-a-self-service-app-and-api-delivery-platform-with-composable-traffic-policy-71ps8jytk
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Create a self-service app and API delivery platform with composable Traffic Policy | daily.dev
og:description: ngrok explains how its API gateway primitives—internal endpoints, cloud endpoints, and composable Traffic Policy—let infrastructure teams retain control over...
og:url: https://daily.dev/posts/create-a-self-service-app-and-api-delivery-platform-with-composable-traffic-policy-71ps8jytk
og:image: https://api.daily.dev/og/posts/71PS8jYtk.png
og:image:alt: Create a self-service app and API delivery platform with composable Traffic Policy
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a self-service app and API delivery platform with composable Traffic Policy

**[ngrok Blog](https://daily.dev/sources/ngrok)** · 7 min read · 0 upvotes · 0 comments

## Summary

ngrok explains how its API gateway primitives—internal endpoints, cloud endpoints, and composable Traffic Policy—let infrastructure teams retain control over security and resiliency at the 'front door' while giving development teams self-service ability to configure routing, logging, and redirects behind it. A walkthrough shows an infra engineer setting up JWT validation and rate limiting on a public cloud endpoint, then a developer independently adding logging and a redirect rule on an internal endpoint without filing tickets, since public endpoint policies always run first and remain authoritative.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://ngrok.com/blog/developer-self-service-composability>

## Questions this post answers

### How can infrastructure teams let developers self-service API routing changes without giving up control over security policies?

Split configuration across a public cloud endpoint and an internal endpoint in ngrok's API gateway. Infrastructure teams set global security rules like JWT validation, rate limiting, and IP restrictions on the public cloud endpoint, which always runs first. Developers then compose additional Traffic Policy rules, such as logging or redirects, on the internal endpoint behind it, without filing tickets or bypassing the infra-controlled rules.

_See how daily.dev surfaces API gateway patterns like this for teams weighing self-service tradeoffs._

### What is the difference between an ngrok cloud endpoint and an internal endpoint?

A cloud endpoint is publicly bound and handles requests first, typically holding global security and resiliency rules like JWT validation or rate limiting. An internal endpoint sits behind it, reachable only via a forward-internal rule from the cloud endpoint, and is where development teams add their own Traffic Policy rules such as logging or redirects without affecting the public-facing security layer.

_Developers architecting API gateways can track ngrok updates like this on daily.dev._

---

Tags: [#devtools](https://daily.dev/tags/devtools), [#architecture](https://daily.dev/tags/architecture), [#api-gateway](https://daily.dev/tags/api-gateway)

[View this post on daily.dev](https://daily.dev/posts/create-a-self-service-app-and-api-delivery-platform-with-composable-traffic-policy-71ps8jytk)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Create a self-service app and API delivery platform with composable Traffic Policy","url":"https://daily.dev/posts/create-a-self-service-app-and-api-delivery-platform-with-composable-traffic-policy-71ps8jytk","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/create-a-self-service-app-and-api-delivery-platform-with-composable-traffic-policy-71ps8jytk"},"datePublished":"2026-08-23T07:21:14.424Z","dateModified":"2026-08-23T07:29:30.641Z","description":"ngrok explains how its API gateway primitives—internal endpoints, cloud endpoints, and composable Traffic Policy—let infrastructure teams retain control over...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a8100b35cb0e5707faf4aacc4d2c7c2f?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a8100b35cb0e5707faf4aacc4d2c7c2f?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ngrok Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ngrok Blog","logo":"https://media.daily.dev/image/upload/s--718XXxvE--/f_auto,q_auto/v1787469610/logos/ngrok?_a=BAMAMicg0","url":"https://daily.dev/sources/ngrok"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/create-a-self-service-app-and-api-delivery-platform-with-composable-traffic-policy-71ps8jytk","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devtools,architecture,api-gateway","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ngrok Blog","item":"https://daily.dev/sources/ngrok"},{"@type":"ListItem","position":3,"name":"Create a self-service app and API delivery platform with composable Traffic Policy"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/create-a-self-service-app-and-api-delivery-platform-with-composable-traffic-policy-71ps8jytk#faq","mainEntity":[{"@type":"Question","name":"How can infrastructure teams let developers self-service API routing changes without giving up control over security policies?","acceptedAnswer":{"@type":"Answer","text":"Split configuration across a public cloud endpoint and an internal endpoint in ngrok's API gateway. Infrastructure teams set global security rules like JWT validation, rate limiting, and IP restrictions on the public cloud endpoint, which always runs first. Developers then compose additional Traffic Policy rules, such as logging or redirects, on the internal endpoint behind it, without filing tickets or bypassing the infra-controlled rules. See how daily.dev surfaces API gateway patterns like this for teams weighing self-service tradeoffs."}},{"@type":"Question","name":"What is the difference between an ngrok cloud endpoint and an internal endpoint?","acceptedAnswer":{"@type":"Answer","text":"A cloud endpoint is publicly bound and handles requests first, typically holding global security and resiliency rules like JWT validation or rate limiting. An internal endpoint sits behind it, reachable only via a forward-internal rule from the cloud endpoint, and is where development teams add their own Traffic Policy rules such as logging or redirects without affecting the public-facing security layer. Developers architecting API gateways can track ngrok updates like this on daily.dev."}}]}
```

