American Whitewater's Liability Toolbox

American Whitewater prepared this handbook in 1999 as a starting point for understanding the public's rights (your rights) related to recreational use of private lands near the nation’s rivers and streams. We hope this information will help you deter and resolve conflicts.

All 50 states have enacted laws that greatly limit both private and public landowner liability. On the private side, these laws are called Recreational Use Statutes. For public land, the governing law is usually the state's Governmental Immunity Act or State Tort Claims Act. These laws are important for the future of whitewater boating as they can shift the burden of responsibility to boaters and away from private landowners and public land managers in the event of an accident. The effect of this shifting of burden is that Private landowners and public land mangers are more likely to welcome whitewater boating and other recreational activities if they are protected from liability. Hence American Whitewater stresses personal responsibility for whitewater boating and this notion is supported by these laws.

American Whitewater prepared this table with substantial help from the International Mountain Biking Association (IMBA) and the American Association for Horsemanship Safety (AAHS). In 2002, the National Park Service announced that they would be using our research on their Rivers and Trails Website.


What are Recreational Use Statutes and how do they work?

A Sample Whitewater Liability Waiver


State Liability Reports

Alabama

Alaska

Arizona

Arkansas

California

Colorado

Connecticut

Deleware

District of Columbia

Florida

Georgia

Hawaii

Idaho

Illinois

Indiana

Iowa

Kansas

Kentucky

Louisiana

Maine

Maryland

Massachusetts

Michigan

Minnesota

Mississippi

Missouri

Montana

Nebraska

Nevada

New Hampshire

New Jersey

New Mexico

New York

North Carolina

North Dakota

Ohio

Oklahoma

Oregon

Pennsylvania

Puerto Rico

Rhode Island

South Carolina

South Dakota

Tennessee

Texas

Utah

Vermont

Virginia

Washington

West Virginia

Wisconsin

Wyoming


DISCLAIMER: This handbook is not meant to be the definitive source of information on liability. Laws are not static and the law in your state may have changed since we conducted our research. Always contact your state Attorney General, your city or county Attorney, or private counsel regarding the status of liability laws in your state. If you learn of some new information that is not included on our website, please forward it to American Whitewater.

Join AW and support river stewardship nationwide!
7.4.3PHP Version535msRequest Duration6MBMemory UsageGET content/{url}Route
    • Booting (69.01ms)
    • Application (466ms)
    • 1 x Application (87.11%)
      466ms
      1 x Booting (12.89%)
      69.01ms
      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
      11 statements were executed, 4 of which were duplicated, 7 unique12.48ms
      • select * from security where domain in ('WikiGadget') and area is null;
        364μ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 ('ScriptLibraryGadget') and area is null;
        298μ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 ('UserGadget') and area is null;
        1.81ms/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_defaults where domain in ('UserGadget');
        249μ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
        2.29ms/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.89ms/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 ('EmptyGadget') and area is null;
        142μ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 ('MessageGadget') and area is null;
        167μ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_defaults where domain in ('SecurityGadget');
        249μ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
        590μs/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
        4.43ms/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
          _token
          mv9WWprJwtKYOwVDuLe3hgadLfeIrokmRYzCh0O6
          page
          array:1 [ "count" => -1 ]
          PHPDEBUGBAR_STACK_DATA
          []
          path_info
          /content/Wiki/liability:start
          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" => "11338" "REMOTE_ADDR" => "52.14.200.7" "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/liability:start" "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" => 1744486917.3474 "REQUEST_TIME" => 1744486917 ]
          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 => "Sat, 12 Apr 2025 19:41:57 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6InZRclZLUWpxMjNHY0hJTWQvVWIwYVE9PSIsInZhbHVlIjoiNkJGdW1XTVEyTzUyeGdNZnU0NW5DUGpid0hRenJIR00wT0ptRVBQY0tNUUhyWXZ1eVFpY0wzdndFR3RLaSt3Vmp0Q3pIR2l5VkhTcDY1aTcvbkNVYkV6L3EwMGgxalVEa2NLOTZqNkU5ZnRnekRnZUJBR2NQQ0k0R0NsOVhhQVgiLCJtYWMiOiI1NDBmMmJlMDkxOWNhODk2MzI3MDA4N2U5YjFjNTFhZTE5MTAwMGI0ODY4YzEwODY1MzFhNThkMTM1YTFiNTUyIn0%3D; expires=Sat, 12-Apr-2025 21:41:57 GMT; Max-Age=7200; path=/XSRF-TOKEN=eyJpdiI6InZRclZLUWpxMjNHY0hJTWQvVWIwYVE9PSIsInZhbHVlIjoiNkJGdW1XTVEyTzUyeGdNZnU0NW5DUGpid0hRenJIR00wT0ptRVBQY0tNUUhyWXZ1eVFpY0wzdndFR3RLaSt3Vmp0Q3pIR" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6Ik9sMU9LNEhIemI1OWpwTFdySDBoWEE9PSIsInZhbHVlIjoidlcycTBEQklhV0pyc09uUDZ5ZXNtWnhYbWNxOStFUXR1Sk5qeVZaSFMzRXYwWDhySEpPZDdweUR2NWhVb01qOCIsIm1hYyI6ImVmMzQyOWY4YjM0MGE5NmM1MjIyZjVjOGE3MDBhYjA0MjI5NzhkYTZiOGRkMzg4YjlkMjE3YjczYzM2YjlhNzQifQ%3D%3D; expires=Sat, 12-Apr-2025 19:40:57 GMT; Max-Age=0; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6Ik9sMU9LNEhIemI1OWpwTFdySDBoWEE9PSIsInZhbHVlIjoidlcycTBEQklhV0pyc09uUDZ5ZXNtWnhYbWNxOStFUXR1Sk5qeVZaSFMzRXYwWDhySEpPZ" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6InZRclZLUWpxMjNHY0hJTWQvVWIwYVE9PSIsInZhbHVlIjoiNkJGdW1XTVEyTzUyeGdNZnU0NW5DUGpid0hRenJIR00wT0ptRVBQY0tNUUhyWXZ1eVFpY0wzdndFR3RLaSt3Vmp0Q3pIR2l5VkhTcDY1aTcvbkNVYkV6L3EwMGgxalVEa2NLOTZqNkU5ZnRnekRnZUJBR2NQQ0k0R0NsOVhhQVgiLCJtYWMiOiI1NDBmMmJlMDkxOWNhODk2MzI3MDA4N2U5YjFjNTFhZTE5MTAwMGI0ODY4YzEwODY1MzFhNThkMTM1YTFiNTUyIn0%3D; expires=Sat, 12-Apr-2025 21:41:57 GMT; path=/XSRF-TOKEN=eyJpdiI6InZRclZLUWpxMjNHY0hJTWQvVWIwYVE9PSIsInZhbHVlIjoiNkJGdW1XTVEyTzUyeGdNZnU0NW5DUGpid0hRenJIR00wT0ptRVBQY0tNUUhyWXZ1eVFpY0wzdndFR3RLaSt3Vmp0Q3pIR" 1 => "DWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6Ik9sMU9LNEhIemI1OWpwTFdySDBoWEE9PSIsInZhbHVlIjoidlcycTBEQklhV0pyc09uUDZ5ZXNtWnhYbWNxOStFUXR1Sk5qeVZaSFMzRXYwWDhySEpPZDdweUR2NWhVb01qOCIsIm1hYyI6ImVmMzQyOWY4YjM0MGE5NmM1MjIyZjVjOGE3MDBhYjA0MjI5NzhkYTZiOGRkMzg4YjlkMjE3YjczYzM2YjlhNzQifQ%3D%3D; expires=Sat, 12-Apr-2025 19:40:57 GMT; path=/; httponlyDWa976077ab53ea1a0f12b663e732b73c0=eyJpdiI6Ik9sMU9LNEhIemI1OWpwTFdySDBoWEE9PSIsInZhbHVlIjoidlcycTBEQklhV0pyc09uUDZ5ZXNtWnhYbWNxOStFUXR1Sk5qeVZaSFMzRXYwWDhySEpPZ" ] ]
          session_attributes
          0 of 0
          array:3 [ "_token" => "mv9WWprJwtKYOwVDuLe3hgadLfeIrokmRYzCh0O6" "page" => array:1 [ "count" => -1 ] "PHPDEBUGBAR_STACK_DATA" => [] ]