Acknowledgements
PocketDPE is built on the work of many people. This page lists the third-party content, data and software it uses, and their licenses.
Aviation content and data
- FAA publications — the Airman Certification Standards, FAA handbooks (for example the Pilot's Handbook of Aeronautical Knowledge and the Airplane Flying Handbook), Airman Knowledge Testing Supplement figures, the Aeronautical Information Manual, sectional and terminal chart excerpts, airport diagrams, instrument approach procedures (d-TPP), coded instrument flight procedures (CIFP) and airport data (NASR). Works of the U.S. government, in the public domain. Source: Federal Aviation Administration, faa.gov. PocketDPE is not affiliated with or endorsed by the FAA.
- Federal Aviation Regulations (14 CFR) — regulation text shown by "Show FAR", from the Electronic Code of Federal Regulations (ecfr.gov). Public domain.
- Aviation weather — METARs, TAFs and weather products from the National Weather Service's Aviation Weather Center (aviationweather.gov). Public domain.
Fonts
All fonts are bundled in the app and licensed under the SIL Open Font License, Version 1.1.
- DM Sans — Copyright 2014 The DM Sans Project Authors (github.com/googlefonts/dm-fonts).
- Source Serif 4 — Copyright 2014 The Source Serif 4 Project Authors (github.com/adobe-fonts/source-serif).
- Plus Jakarta Sans — Copyright 2020 The Plus Jakarta Sans Project Authors (github.com/tokotype/PlusJakartaSans).
- Newsreader — Copyright 2020 The Newsreader Project Authors (github.com/productiontype/Newsreader).
- Roboto Mono — Copyright 2015 The Roboto Mono Project Authors (github.com/googlefonts/robotomono).
Icons
- Lucide icons — Copyright (c) Lucide Contributors 2026, licensed under the ISC License (lucide.dev/license). Portions derived from Feather, Copyright (c) 2013-2026 Cole Bemis, licensed under the MIT License.
Services
The examiner's speech recognition, grading and voices are provided by OpenAI. Sign-in is provided by Clerk, subscriptions by Apple and RevenueCat. See the Privacy Policy for what each one receives.
Open-source software
PocketDPE is built with open-source software. Each package below is used under the license shown; the full license text and copyright notices ship with each package's source code. This list covers the app's production dependencies and everything they depend on (generated from the installed packages on October 13, 2026).
847 packages, grouped by license:
- MIT (708): @0no-co/graphql.web, @adraffy/ens-normalize, @babel/code-frame, @babel/compat-data, @babel/core, @babel/generator, @babel/helper-annotate-as-pure, @babel/helper-compilation-targets, @babel/helper-create-class-features-plugin, @babel/helper-create-regexp-features-plugin, @babel/helper-define-polyfill-provider, @babel/helper-globals, @babel/helper-member-expression-to-functions, @babel/helper-module-imports, @babel/helper-module-transforms, @babel/helper-optimise-call-expression, @babel/helper-plugin-utils, @babel/helper-remap-async-to-generator, @babel/helper-replace-supers, @babel/helper-skip-transparent-expression-wrappers, @babel/helper-string-parser, @babel/helper-validator-identifier, @babel/helper-validator-option, @babel/helper-wrap-function, @babel/helpers, @babel/highlight, @babel/parser, @babel/plugin-proposal-decorators, @babel/plugin-proposal-export-default-from, @babel/plugin-syntax-async-generators, @babel/plugin-syntax-bigint, @babel/plugin-syntax-class-properties, @babel/plugin-syntax-class-static-block, @babel/plugin-syntax-decorators, @babel/plugin-syntax-dynamic-import, @babel/plugin-syntax-export-default-from, @babel/plugin-syntax-flow, @babel/plugin-syntax-import-attributes, @babel/plugin-syntax-import-meta, @babel/plugin-syntax-json-strings, @babel/plugin-syntax-jsx, @babel/plugin-syntax-logical-assignment-operators, @babel/plugin-syntax-nullish-coalescing-operator, @babel/plugin-syntax-numeric-separator, @babel/plugin-syntax-object-rest-spread, @babel/plugin-syntax-optional-catch-binding, @babel/plugin-syntax-optional-chaining, @babel/plugin-syntax-private-property-in-object, @babel/plugin-syntax-top-level-await, @babel/plugin-syntax-typescript, @babel/plugin-transform-arrow-functions, @babel/plugin-transform-async-generator-functions, @babel/plugin-transform-async-to-generator, @babel/plugin-transform-block-scoping, @babel/plugin-transform-class-properties, @babel/plugin-transform-class-static-block, @babel/plugin-transform-classes, @babel/plugin-transform-computed-properties, @babel/plugin-transform-destructuring, @babel/plugin-transform-export-namespace-from, @babel/plugin-transform-flow-strip-types, @babel/plugin-transform-for-of, @babel/plugin-transform-function-name, @babel/plugin-transform-literals, @babel/plugin-transform-logical-assignment-operators, @babel/plugin-transform-modules-commonjs, @babel/plugin-transform-named-capturing-groups-regex, @babel/plugin-transform-nullish-coalescing-operator, @babel/plugin-transform-numeric-separator, @babel/plugin-transform-object-rest-spread, @babel/plugin-transform-optional-catch-binding, @babel/plugin-transform-optional-chaining, @babel/plugin-transform-parameters, @babel/plugin-transform-private-methods, @babel/plugin-transform-private-property-in-object, @babel/plugin-transform-react-display-name, @babel/plugin-transform-react-jsx, @babel/plugin-transform-react-jsx-development, @babel/plugin-transform-react-jsx-self, @babel/plugin-transform-react-jsx-source, @babel/plugin-transform-react-pure-annotations, @babel/plugin-transform-regenerator, @babel/plugin-transform-runtime, @babel/plugin-transform-shorthand-properties, @babel/plugin-transform-spread, @babel/plugin-transform-sticky-regex, @babel/plugin-transform-template-literals, @babel/plugin-transform-typescript, @babel/plugin-transform-unicode-regex, @babel/preset-react, @babel/preset-typescript, @babel/runtime, @babel/template, @babel/traverse, @babel/types, @clerk/clerk-expo, @clerk/clerk-js, @clerk/clerk-react, @clerk/localizations, @clerk/shared, @clerk/types, @egjs/hammerjs, @emotion/babel-plugin, @emotion/cache, @emotion/hash, @emotion/memoize, @emotion/react, @emotion/serialize, @emotion/sheet, @emotion/unitless, @emotion/use-insertion-effect-with-fallbacks, @emotion/utils, @emotion/weak-memoize, @expo/cli, @expo/code-signing-certificates, @expo/config, @expo/config-plugins, @expo/config-types, @expo/devcert, @expo/devtools, @expo/env, @expo/fingerprint, @expo/image-utils, @expo/json-file, @expo/metro, @expo/metro-config, @expo/metro-runtime, @expo/osascript, @expo/package-manager, @expo/plist, @expo/prebuild-config, @expo/schema-utils, @expo/sdk-runtime-versions, @expo/spawn-async, @expo/sudo-prompt, @expo/vector-icons, @expo/ws-tunnel, @floating-ui/core, @floating-ui/dom, @floating-ui/react, @floating-ui/react-dom, @floating-ui/utils, @formkit/auto-animate, @ide/backoff, @istanbuljs/schema, @jest/create-cache-key-function, @jest/environment, @jest/fake-timers, @jest/schemas, @jest/transform, @jest/types, @jridgewell/gen-mapping, @jridgewell/remapping, @jridgewell/resolve-uri, @jridgewell/source-map, @jridgewell/sourcemap-codec, @jridgewell/trace-mapping, @noble/ciphers, @noble/curves, @noble/hashes, @radix-ui/primitive, @radix-ui/react-collection, @radix-ui/react-compose-refs, @radix-ui/react-context, @radix-ui/react-dialog, @radix-ui/react-direction, @radix-ui/react-dismissable-layer, @radix-ui/react-focus-guards, @radix-ui/react-focus-scope, @radix-ui/react-id, @radix-ui/react-portal, @radix-ui/react-presence, @radix-ui/react-primitive, @radix-ui/react-roving-focus, @radix-ui/react-slot, @radix-ui/react-tabs, @radix-ui/react-use-callback-ref, @radix-ui/react-use-controllable-state, @radix-ui/react-use-effect-event, @radix-ui/react-use-escape-keydown, @radix-ui/react-use-layout-effect, @react-native-async-storage/async-storage, @react-native/assets-registry, @react-native/babel-plugin-codegen, @react-native/babel-preset, @react-native/codegen, @react-native/community-cli-plugin, @react-native/dev-middleware, @react-native/gradle-plugin, @react-native/js-polyfills, @react-native/normalize-colors, @react-native/virtualized-lists, @react-navigation/bottom-tabs, @react-navigation/core, @react-navigation/elements, @react-navigation/native, @react-navigation/native-stack, @react-navigation/routers, @revenuecat/purchases-js, @revenuecat/purchases-js-hybrid-mappings, @revenuecat/purchases-typescript-internal, @scure/base, @scure/bip32, @scure/bip39, @sentry-internal/browser-utils, @sentry-internal/feedback, @sentry-internal/replay, @sentry-internal/replay-canvas, @sentry/babel-plugin-component-annotate, @sentry/browser, @sentry/core, @sentry/react, @sentry/react-native, @sentry/types, @shopify/react-native-skia, @sinclair/typebox, @solana/accounts, @solana/addresses, @solana/assertions, @solana/codecs, @solana/codecs-core, @solana/codecs-data-structures, @solana/codecs-numbers, @solana/codecs-strings, @solana/errors, @solana/fast-stable-stringify, @solana/fixed-points, @solana/functional, @solana/instruction-plans, @solana/instructions, @solana/keys, @solana/kit, @solana/nominal-types, @solana/offchain-messages, @solana/options, @solana/plugin-core, @solana/plugin-interfaces, @solana/program-client-core, @solana/programs, @solana/promises, @solana/rpc, @solana/rpc-api, @solana/rpc-parsed-types, @solana/rpc-spec, @solana/rpc-spec-types, @solana/rpc-subscriptions, @solana/rpc-subscriptions-api, @solana/rpc-subscriptions-channel-websocket, @solana/rpc-subscriptions-spec, @solana/rpc-transformers, @solana/rpc-transport-http, @solana/rpc-types, @solana/signers, @solana/subscribable, @solana/sysvars, @solana/transaction-confirmation, @solana/transaction-introspection, @solana/transaction-messages, @solana/transactions, @stripe/stripe-js, @tanstack/query-core, @types/babel__core, @types/babel__generator, @types/babel__template, @types/babel__traverse, @types/graceful-fs, @types/hammerjs, @types/istanbul-lib-coverage, @types/istanbul-lib-report, @types/istanbul-reports, @types/node, @types/parse-json, @types/stack-utils, @types/yargs, @types/yargs-parser, @urql/core, @urql/exchange-retry, @xmldom/xmldom, @zxcvbn-ts/core, @zxcvbn-ts/language-common, abitype, abort-controller, accepts, acorn, agent-base, agent-cli-detector, ajv, alien-signals, anser, ansi-escapes, ansi-regex, ansi-styles, any-promise, arg, argparse, aria-hidden, asap, assert, async-limiter, available-typed-arrays, babel-jest, babel-plugin-jest-hoist, babel-plugin-macros, babel-plugin-polyfill-corejs2, babel-plugin-polyfill-corejs3, babel-plugin-polyfill-regenerator, babel-plugin-react-compiler, babel-plugin-react-native-web, babel-plugin-syntax-hermes-parser, babel-plugin-transform-flow-enums, babel-preset-current-node-syntax, babel-preset-expo, babel-preset-jest, badgin, balanced-match, base-64, base64-arraybuffer, base64-js, better-opn, bplist-creator, bplist-parser, brace-expansion, braces, browser-tabs-lock, browserslist, buffer, buffer-from, bytes, call-bind, call-bind-apply-helpers, call-bound, callsites, camelcase, chalk, ci-info, cli-cursor, cli-spinners, client-only, clone, clsx, color, color-convert, color-name, color-string, commander, compressible, compression, concat-map, connect, convert-source-map, copy-to-clipboard, core-js, core-js-compat, cosmiconfig, cross-fetch, cross-spawn, crypto-js, css-in-js-utils, css-line-break, css-tree, csstype, debug, decamelize, decode-uri-component, deep-extend, deepmerge, defaults, define-data-property, define-lazy-prop, define-properties, depd, dequal, destroy, detect-node-es, dijkstrajs, dom-serializer, dunder-proto, ee-first, emoji-regex, encodeurl, env-editor, error-ex, error-stack-parser, es-define-property, es-errors, es-object-atoms, escalade, escape-html, escape-string-regexp, etag, event-target-shim, eventemitter3, expo, expo-application, expo-asset, expo-audio, expo-auth-session, expo-blur, expo-constants, expo-crypto, expo-dev-client, expo-dev-launcher, expo-dev-menu, expo-dev-menu-interface, expo-file-system, expo-font, expo-haptics, expo-image, expo-image-loader, expo-image-picker, expo-json-utils, expo-keep-awake, expo-linear-gradient, expo-linking, expo-manifests, expo-modules-autolinking, expo-modules-core, expo-notifications, expo-router, expo-secure-store, expo-server, expo-splash-screen, expo-status-bar, expo-store-review, expo-system-ui, expo-updates-interface, expo-web-browser, fast-deep-equal, fast-json-stable-stringify, fastest-levenshtein, fbjs, fbjs-css-vars, fdir, fill-range, filter-obj, finalhandler, find-root, find-up, flow-enums-runtime, for-each, freeport-async, fresh, function-bind, generator-function, gensync, get-intrinsic, get-nonce, get-package-type, get-proto, getenv, gopd, has-flag, has-property-descriptors, has-symbols, has-tostringtag, hasown, hermes-estree, hermes-parser, html2canvas, http-errors, https-proxy-agent, ignore, image-size, import-fresh, imurmurhash, inline-style-prefixer, input-otp, invariant, is-arguments, is-arrayish, is-callable, is-core-module, is-docker, is-fullwidth-code-point, is-generator-function, is-nan, is-number, is-plain-obj, is-regex, is-typed-array, is-wsl, isows, jest-environment-node, jest-get-type, jest-haste-map, jest-message-util, jest-mock, jest-regex-util, jest-util, jest-validate, jest-worker, jimp-compact, js-cookie, js-tokens, js-yaml, jsesc, json-parse-even-better-errors, json-schema-traverse, json5, kleur, lan-network, leven, lines-and-columns, locate-path, lodash, lodash.debounce, lodash.throttle, log-symbols, loose-envify, math-intrinsics, memoize-one, merge-options, merge-stream, metro, metro-babel-transformer, metro-cache, metro-cache-key, metro-config, metro-core, metro-file-map, metro-minify-terser, metro-resolver, metro-runtime, metro-source-map, metro-symbolicate, metro-transform-plugins, metro-transform-worker, micromatch, mime, mime-db, mime-types, mimic-fn, minimist, minizlib, mkdirp, ms, mz, nanoid, negotiator, nested-error-stacks, node-fetch, node-int64, node-releases, normalize-path, nullthrows, ob1, object-assign, object-is, object-keys, object.assign, on-finished, on-headers, onetime, open, ora, ox, p-limit, p-locate, p-try, parent-module, parse-json, parse-png, parseurl, path-exists, path-is-absolute, path-key, path-parse, path-type, picomatch, pirates, plist, pngjs, possible-typed-array-names, postcss, postcss-value-parser, preact, pretty-bytes, pretty-format, progress, promise, prompts, proxy-from-env, punycode, qrcode, query-string, queue, range-parser, react, react-devtools-core, react-dom, react-fast-compare, react-freeze, react-is, react-native, react-native-gesture-handler, react-native-is-edge-to-edge, react-native-purchases, react-native-reanimated, react-native-safe-area-context, react-native-screens, react-native-svg, react-native-url-polyfill, react-native-view-shot, react-native-web, react-native-worklets, react-reconciler, react-refresh, react-remove-scroll, react-remove-scroll-bar, react-style-singleton, regenerate, regenerate-unicode-properties, regenerator-runtime, regexpu-core, regjsgen, require-directory, require-from-string, requireg, resolve, resolve-from, resolve-workspace-root, resolve.exports, restore-cursor, safe-buffer, safe-regex-test, scheduler, send, serialize-error, serve-static, server-only, set-function-length, setimmediate, sf-symbols-typescript, shallowequal, shebang-command, shebang-regex, shell-quote, simple-plist, simple-swizzle, sisteransi, slash, slugify, source-map-support, split-on-first, stack-utils, stackframe, stacktrace-parser, statuses, std-env, strict-uri-encode, string-width, strip-ansi, strip-json-comments, structured-headers, styleq, stylis, sucrase, supports-color, supports-hyperlinks, supports-preserve-symlinks-flag, swr, tabbable, terminal-link, text-segmentation, thenify, thenify-all, throat, tinyglobby, to-regex-range, toggle-selection, toidentifier, tr46, type-detect, ua-parser-js, undici, undici-types, unicode-canonical-property-names-ecmascript, unicode-match-property-ecmascript, unicode-match-property-value-ecmascript, unicode-property-aliases-ecmascript, unpipe, update-browserslist-db, use-callback-ref, use-latest-callback, use-sidecar, use-sync-external-store, util, utils-merge, utrie, uuid, vary, vaul, viem, vlq, warn-once, wcwidth, whatwg-fetch, whatwg-url, whatwg-url-without-unicode, which-typed-array, wonka, wrap-ansi, ws, xml2js, xmlbuilder, yargs, yocto-queue, zustand
- ISC (41): @isaacs/fs-minipass, @isaacs/ttlcache, @istanbuljs/load-nyc-config, @ungap/structured-clone, anymatch, boolbase, cliui, electron-to-chromium, fs.realpath, get-caller-file, glob, graceful-fs, hosted-git-info, inflight, inherits, ini, isexe, lru-cache, lucide-react-native, minimatch, npm-package-arg, once, picocolors, proc-log, qrcode.react, require-main-filename, rimraf, semver, set-blocking, setprototypeof, signal-exit, test-exclude, validate-npm-package-name, which, which-module, wrappy, write-file-atomic, y18n, yallist, yaml, yargs-parser
- Apache-2.0 (36): @base-org/account, @coinbase/wallet-sdk, @solana-mobile/mobile-wallet-adapter-protocol, @solana-mobile/mobile-wallet-adapter-protocol-web3js, @solana-mobile/wallet-adapter-mobile, @solana-mobile/wallet-standard-mobile, @solana/wallet-adapter-base, @solana/wallet-adapter-react, @solana/wallet-standard, @solana/wallet-standard-chains, @solana/wallet-standard-core, @solana/wallet-standard-features, @solana/wallet-standard-util, @solana/wallet-standard-wallet-adapter, @solana/wallet-standard-wallet-adapter-base, @solana/wallet-standard-wallet-adapter-react, @swc/helpers, @wallet-standard/app, @wallet-standard/base, @wallet-standard/core, @wallet-standard/errors, @wallet-standard/features, @wallet-standard/wallet, baseline-browser-mapping, bser, chrome-launcher, chromium-edge-launcher, detect-libc, exponential-backoff, fb-watchman, idb-keyval, lighthouse-logger, marky, ts-interface-checker, walker, xcode
- BSD-3-Clause (20): @expo/xcpretty, @react-native/debugger-frontend, @sentry/cli, @sentry/cli-win32-x64, @sinonjs/commons, @sinonjs/fake-timers, @webgpu/types, babel-plugin-istanbul, canvaskit-wasm, fast-uri, hoist-non-react-statics, hyphenate-style-name, ieee754, istanbul-lib-coverage, istanbul-lib-instrument, makeerror, source-map, source-map-js, sprintf-js, tmpl
- BSD-2-Clause (15): css-select, css-what, domelementtype, domhandler, domutils, dotenv, dotenv-expand, entities, esprima, fontfaceobserver, glob-to-regexp, nth-check, regjsparser, terser, webidl-conversions
- BlueOak-1.0.0 (9): chownr, glob, lru-cache, minimatch, minipass, path-scurry, sax, tar, yallist
- MIT AND OFL-1.1 (5): @expo-google-fonts/dm-sans, @expo-google-fonts/newsreader, @expo-google-fonts/plus-jakarta-sans, @expo-google-fonts/roboto-mono, @expo-google-fonts/source-serif-4
- 0BSD (2): jsc-safe-url, tslib
- MPL-2.0 (2): lightningcss, lightningcss-win32-x64-msvc
- Unlicense (2): big-integer, stream-buffers
- (BSD-2-Clause OR MIT OR Apache-2.0) (1): rc
- (BSD-3-Clause OR GPL-2.0) (1): node-forge
- (MIT OR CC0-1.0) (1): type-fest
- Apache 2.0 (1): qrcode-terminal
- CC-BY-4.0 (1): caniuse-lite
- CC0-1.0 (1): mdn-data
- Python-2.0 (1): argparse
Everything else
Everything else in the app, including the examiner characters and their artwork, the question banks, the design and the code, is made for PocketDPE. Questions about licensing: support@pocketdpe.org.