google環境でのWebアプリとライブラリの違い

ソースコードの秘匿性と共有設定について大事な部分と思います。

項目Webアプリライブラリ
ユーザーへのスクリプトの共有設定不要(共有しないままでOK)必要(「閲覧者」以上の権限を付与する必要あり)
ソースコードの可視性不可(URL経由の利用ではソース非公開)(共有されていればGASエディタ上で見える)
関数の使い方doGet(e) / doPost(e) 経由で HTTP 経由で呼び出すLibrary.functionName() のように直接呼び出す
実行者の選択「アクセスしているユーザー」または「自分として実行」から選べる呼び出したユーザーの権限で動作
セキュリティ制御Session.getActiveUser() などでユーザー判定可能(認証必須にすれば)呼び出し元スクリプトに依存。制御しにくい