# Advanced Configuration

Configure advanced settings like URL allowlists and other options for the Airship Capacitor plugin.

## URL Allowlist

The URL allowlist controls which URLs the Airship SDK is able to act on. Configure the URL allowlist in your `takeOff` config options using the following properties:

- `urlAllowListScopeOpenUrl`: Only URLs allowed for this scope can be opened from an action, displayed in landing page, displayed in an HTML in-app message, or displayed as media in an In-App Automation. Defaults to any Airship-originated URLs and YouTube URLs.
- `urlAllowListScopeJavaScriptInterface`: These URLs are checked before the Airship JavaScript interface is injected into the webview. Defaults to any Airship-originated URLs.
- `urlAllowList`: Both scopes are applied to these URLs.

```typescript
await Airship.takeOff({
  production: {
    appKey: "<APP_KEY>",
    appSecret: "<APP_SECRET>"
  },
  inProduction: true,
  site: "us",
  urlAllowList: ["*"],  // Accept all URLs
  // Or configure specific scopes:
  urlAllowListScopeOpenUrl: ["https://example.com/*", "https://*.youtube.com/*"],
  urlAllowListScopeJavaScriptInterface: ["https://example.com/*"]
})
```


**Valid URL pattern syntax**


```text
<pattern> := '*' | <scheme>'://'<host>/<path> | <scheme>'://'<host> | <scheme>':/'<path> | <scheme>':///'<path>
<scheme> := <any char combination, '*' are treated as wild cards>
<host> := '*' | '*.'<any char combination except '/' and '*'> | <any char combination except '/' and '*'>
<path> := <any char combination, '*' are treated as wild cards>
```


To accept any URL within the SDK, set the `urlAllowList` to `["*"]`.

For a complete list of configuration options, see the [AirshipConfig reference](https://www.airship.com/docs/reference/libraries/capacitor-airship/latest/interfaces/AirshipConfig.html).

