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

# What is ngrok?

> ngrok is a globally distributed reverse proxy that secures, protects, and accelerates your applications and network services.

You can think of ngrok as the front door to your applications.

ngrok is *environment independent* because it can deliver traffic to services
running anywhere with no changes to your environment's networking. Run your app
on AWS, Azure, Heroku, an on-premise Kubernetes cluster, a Raspberry Pi, and
even your laptop. With ngrok, it all works the same.

ngrok is a *unified ingress platform* because it combines all the components to
deliver traffic from your services to the internet into one. ngrok
consolidates together your reverse proxy, load balancer, API gateway, firewall,
delivery network, DDoS protection and more.

## What can you do with ngrok?

### Production Ingress

* **API Gateway**: Use ngrok's [Traffic Policy](/traffic-policy/actions/) to secure, protect,
  accelerate and transform traffic to your production APIs.
* **Kubernetes Ingress**: Run the [ngrok Kubernetes Operator](/k8s/) to create ingress
  to Kubernetes services running in any cluster.
* **Identity-Aware Proxy**: Use ngrok's [OAuth](/traffic-policy/actions/oauth/),
  [JWT Validation](/traffic-policy/actions/jwt-validation/), or [OpenID
  Connect](/traffic-policy/actions/oidc/) actions to federate your
  app's authentication to an identity provider.
* **Load Balancer**: Use [Endpoint
  Pools](/gateway/endpoint-pooling/) to load-balance traffic for
  scalability, failover, or to do blue/green and canary deployments.

### Ingress to external networks

* **APIs in customer networks**: Run the lightweight [ngrok agent](/agent/) or
  [Kubernetes Operator](/k8s/) in your customers' environments to securely
  connect to APIs in their networks without complex network configuration.
* **APIs on devices**: Run [ngrok as a service](/agent/#running-ngrok-in-the-background) on
  your devices to create secure URLs for their local APIs enabling your cloud
  service to control and administrate them.
* **APIs in local dev environments**: Import [ngrok as a library](/agent-sdks)
  into your own CLI so you can create better local dev experiences for your
  developer customers.

### Development and testing

* **Webhook Testing**: Run ngrok on your local machine to get a URL to receive
  webhooks directly in the app you're developing. [Inspect and replay
  requests](/agent/web-inspection-interface/) for fast development.
* **Local Previews**: Demo a website running on your local machine to a client
  or stakeholder without deploying to a staging site.
* **Mobile Backend Testing**: Test your mobile apps against a backend that
  you're developing on your local machine.

### Remote access

* **SSH**: Create [TCP endpoints](/gateway/tcp/) to enable SSH access to remote machines.
* **RDP**: Create [TCP endpoints](/gateway/tcp/) to enable RDP access to remote machines.
