Introduction to the Navigability Toolkit©

AW’s Mission

American Whitewater’s mission is to conserve and restore America's whitewater resources and to enhance opportunities to enjoy them safely.

AW’s Access Policy

American Whitewater seeks to ensure rights of public access to rivers and streams for recreational use by human-powered watercraft including kayaks, canoes, and rafts.

Introduction

River access has been a controversial issue since Roman times. Modern laws on navigability are still influenced by the Institutes of Justinian, ancient English judicial opinions, the Northwest Ordinance, the obscure “equal footing” doctrine, and theories enunciated by the Supreme Court in 1870 in the case of The Daniel Ball.

River use and the controversies surrounding river use have been changing steadily over the past 25 years. Fishing, digging for clams in the streambed, building docks, piloting barges, and floating logs downstream, are no longer the sole focus of navigability law, precedent, or conflict. We have observed a sea change in public and legal opinion establishing recreational use and the public’s enjoyment of rivers for floating, sport fishing, kayaking, and canoeing as the basis for modern navigability law.

In the context of whitewater sports, advances in equipment, technique, and skills have been arriving at an exponential rate. Boaters are now organizing regular competitions on river segments such as the Gore Canyon on the Colorado, Great Falls on the Potomac, and the North Fork of the Payette in Idaho which, as recently as 15 years ago, were viewed as cascades of almost impossible difficulty.

Meanwhile, rivers are seeing more use and riverside lands are becoming more developed. America has more dams and diversions, more timber and mining operations, and more homes being built along riverbanks as ranches and farms are carved up in the nation's seemingly inexorable slide towards urbanization and suburbanization than ever before.

With more recreationists on the river, more projects for power generation, irrigation, flood control, and drinking water supply, and more people using streamside lands for everything and anything, the possibilities of conflict continue to grow. To make matters worse, the litigious inclinations of the American public show no signs of abating and people are seeking dramatic legislative and legal solutions.

Confusion over the rights and obligations of boaters versus the rights and obligations of landowners and other river users is matched by the uncertainly about the proper role of government river managing agencies. How responsible should public agencies be for the safety of those who undertake risk-taking recreational activities on public lands? What rules are needed to protect rivers and riverine areas from environmental damage? What agency policies are best to ensure fairness between competing use groups? Who should pay for facilities and services to make river access possible? What if sightseers and hikers as well as river runners use these facilities? What obligations do water project developers have to make amends for the loss of recreational opportunities when dams are built or licensed by the government? These difficult public policy issues affect the opportunities of whitewater boaters to pursue their sport.

American Whitewater has prepared this Toolkit to help clarify some of the rights of the public to access and use the rivers and streams in the fifty states and Puerto Rico. We hope that the information in this handbook will serve as a starting point for educating the reader on navigability law in general and will contribute to a reduction of conflicts, leading to a better and more enjoyable relationship among river users, managers, landowners, and others with an interest in these resources.

Join AW and support river stewardship nationwide!
7.4.3PHP Version446msRequest Duration6MBMemory UsageGET content/{url}Route
    • Booting (55.43ms)
    • Application (391ms)
    • 1 x Application (87.57%)
      391ms
      1 x Booting (12.42%)
      55.43ms
      14 templates were rendered
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • legacy.views.container-view (resources/views/legacy/views/container-view.blade.php)6blade
        Params
        0
        components
        1
        controls
        2
        id
        3
        class
        4
        title
        5
        formRenderService
      • app::layout.gadget (resources/views/layout/gadget.blade.php)2blade
        Params
        0
        contents
        1
        formRenderService
      • layout.columnstyle.one (resources/views/layout/columnstyle/one.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.columnstyle.componentstack (resources/views/layout/columnstyle/componentstack.blade.php)9blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        stack
        8
        component
      • layout.main (resources/views/layout/main.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._headers (resources/views/layout/_headers.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.header (resources/views/layout/header.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout._scripts (resources/views/layout/_scripts.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      • layout.navigation (resources/views/layout/navigation.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • includes.alert.membership (resources/views/includes/alert/membership.blade.php)17blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
        15
        shouldNotifyUser
        16
        user
      • navigation.menu.static (resources/views/navigation/menu/static.blade.php)15blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
        8
        searchurl
        9
        loginurl
        10
        logouturl
        11
        __currentLoopData
        12
        child
        13
        loop
        14
        otherchild
      • includes.footer (resources/views/includes/footer.blade.php)8blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
        7
        menu
      • layout.pagemap (resources/views/layout/pagemap.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        contents
        5
        formRenderService
        6
        layout
      uri
      GET content/{url}
      middleware
      web
      controller
      App\Http\Controllers\Wh2oController@content
      namespace
      App\Http\Controllers
      where
      as
      generated::Os9R4mqMKRF5ktoI
      file
      app/Http/Controllers/Wh2oController.php:34-68
      7 statements were executed, 4 of which were duplicated, 3 unique12.43ms
      • select * from security_defaults where domain in ('UserGadget');
        556μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:134
        • 9. /app/Legacy/Security/BaseSecurity.php:200
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        1.53ms/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        1.52ms/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where ("id" = '-SecurityGadget-explain' or "short_name" = '-SecurityGadget-explain') and "articles"."deleted_at" is null and "articles"."is_final" = 'true' limit 1
        3.57ms/app/Legacy/Repositories/NewsInfo.php:61wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        • 1. -SecurityGadget-explain
        • 2. true
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:61
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from "articles" where "short_name" = '-SecurityGadget-explain' limit 1
        2.21ms/app/Legacy/Repositories/NewsInfo.php:64wh2o
        Metadata
        Bindings
        • 0. -SecurityGadget-explain
        Backtrace
        • 15. /app/Legacy/Repositories/NewsInfo.php:64
        • 16. /code/wh2o/ArticleGadget.inc:128
        • 17. /code/wh2o/Page1.inc:930
        • 18. /code/wh2o/Page1.inc:1019
        • 19. /code/wh2o/SecurityGadget.inc:150
      • select * from security where domain in ('WelcomeGadget') and area is null;
        244μs/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
      • select * from security where domain in ('NewsGadget') and area is null;
        2.8ms/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476legacy db
        Metadata
        Backtrace
        • 4. /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:476
        • 6. /app/Legacy/Repositories/InfoADO.php:368
        • 7. /app/Legacy/Repositories/InfoADO.php:391
        • 8. /app/Legacy/Repositories/SecurityInfo.php:188
        • 9. /app/Legacy/Security/BaseSecurity.php:143
          _token
          ru6h8OREyMy6SDTinVvh4l5pA4aoD7B6KvYCd3iz
          page
          array:1 [ "count" => -1 ]
          PHPDEBUGBAR_STACK_DATA
          []
          path_info
          /content/Wiki/access:intro
          status_code
          200
          
          status_text
          OK
          format
          html
          content_type
          text/html; charset=UTF-8
          request_query
          []
          
          request_request
          []
          
          request_headers
          0 of 0
          array:15 [ "priority" => array:1 [ 0 => "u=0, i" ] "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "host" => array:1 [ 0 => "beta.americanwhitewater.org" ] ]
          request_server
          0 of 0
          array:42 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_PRIORITY" => "u=0, i" "HTTP_ACCEPT_ENCODING" => "gzip, deflate, br, zstd" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_HOST" => "beta.americanwhitewater.org" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "beta.americanwhitewater.org" "SERVER_PORT" => "443" "SERVER_ADDR" => "172.31.18.125" "REMOTE_PORT" => "55598" "REMOTE_ADDR" => "52.15.91.151" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => true "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/opt/americanwhitewater.org/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/content/Wiki/access:intro" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "PHP_VALUE" => "post_max_size=20M" "SCRIPT_FILENAME" => "/opt/americanwhitewater.org/public/index.php" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1743716216.0521 "REQUEST_TIME" => 1743716216 ]
          request_cookies
          []
          
          response_headers
          0 of 0
          array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 03 Apr 2025 21:36:56 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkxMb0luYjBWZ0pITU16eXU0cEs2Zmc9PSIsInZhbHVlIjoiRlkvdWJVbm1UdVBiZWpERTVUZFR2VGlzTjIrT2F3cTE3L3dKS2dsQzFuc05jalBMVzFWN0o2YzF0NmlMY1daYmJTOWtGYXJoRzdNdEhRTG9xbndmZWlwMnpSa0E4Ry9KQjhHUkJwUHFNVXp4Qnk0eWhXbGFUWmEzTllUMVFJMlMiLCJtYWMiOiIxZWZlNWRmNzQ3NGViYjdhMTc1MzZlYzBkOTYyZTU0NjZiNzYzODVjMDhiZDdhNTczYzJlZmVmYjYwNzkwYWRiIn0%3D; expires=Thu, 03-Apr-2025 23:36:56 GMT; Max-Age=7200; path=/XSRF-TOKEN=eyJpdiI6IkxMb0luYjBWZ0pITU16eXU0cEs2Zmc9PSIsInZhbHVlIjoiRlkvdWJVbm1UdVBiZWpERTVUZFR2VGlzTjIrT2F3cTE3L3dKS2dsQzFuc05jalBMVzFWN0o2YzF0NmlMY1daYmJTOWtGY" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6InJYeDg0QnRScUdocjJiUjBTaUorYnc9PSIsInZhbHVlIjoiUjJ3MHEvaWpQZzBia3J4b1o0T25BUE03NU9oTGFkdEhGWW1pV2lsS3Z1UTlibVhrcTFmWjE3VXN5Q0hGaUZRSiIsIm1hYyI6IjU5NzI0ZWUwY2QwODQyMDg2MzAwYzViNzcyOTczM2E2NWY2NGI2M2Y1YmM4MmIyZDRiOTA5MDIyZjhiMGIyMzkifQ%3D%3D; expires=Thu, 03-Apr-2025 21:35:56 GMT; Max-Age=0; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6InJYeDg0QnRScUdocjJiUjBTaUorYnc9PSIsInZhbHVlIjoiUjJ3MHEvaWpQZzBia3J4b1o0T25BUE03NU9oTGFkdEhGWW1pV2lsS3Z1UTlibVhrcTFmW" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkxMb0luYjBWZ0pITU16eXU0cEs2Zmc9PSIsInZhbHVlIjoiRlkvdWJVbm1UdVBiZWpERTVUZFR2VGlzTjIrT2F3cTE3L3dKS2dsQzFuc05jalBMVzFWN0o2YzF0NmlMY1daYmJTOWtGYXJoRzdNdEhRTG9xbndmZWlwMnpSa0E4Ry9KQjhHUkJwUHFNVXp4Qnk0eWhXbGFUWmEzTllUMVFJMlMiLCJtYWMiOiIxZWZlNWRmNzQ3NGViYjdhMTc1MzZlYzBkOTYyZTU0NjZiNzYzODVjMDhiZDdhNTczYzJlZmVmYjYwNzkwYWRiIn0%3D; expires=Thu, 03-Apr-2025 23:36:56 GMT; path=/XSRF-TOKEN=eyJpdiI6IkxMb0luYjBWZ0pITU16eXU0cEs2Zmc9PSIsInZhbHVlIjoiRlkvdWJVbm1UdVBiZWpERTVUZFR2VGlzTjIrT2F3cTE3L3dKS2dsQzFuc05jalBMVzFWN0o2YzF0NmlMY1daYmJTOWtGY" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6InJYeDg0QnRScUdocjJiUjBTaUorYnc9PSIsInZhbHVlIjoiUjJ3MHEvaWpQZzBia3J4b1o0T25BUE03NU9oTGFkdEhGWW1pV2lsS3Z1UTlibVhrcTFmWjE3VXN5Q0hGaUZRSiIsIm1hYyI6IjU5NzI0ZWUwY2QwODQyMDg2MzAwYzViNzcyOTczM2E2NWY2NGI2M2Y1YmM4MmIyZDRiOTA5MDIyZjhiMGIyMzkifQ%3D%3D; expires=Thu, 03-Apr-2025 21:35:56 GMT; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6InJYeDg0QnRScUdocjJiUjBTaUorYnc9PSIsInZhbHVlIjoiUjJ3MHEvaWpQZzBia3J4b1o0T25BUE03NU9oTGFkdEhGWW1pV2lsS3Z1UTlibVhrcTFmW" ] ]
          session_attributes
          0 of 0
          array:3 [ "_token" => "ru6h8OREyMy6SDTinVvh4l5pA4aoD7B6KvYCd3iz" "page" => array:1 [ "count" => -1 ] "PHPDEBUGBAR_STACK_DATA" => [] ]