I created a script for Google Spreadsheets, this script just adds a new menu item as described here Custom Menu Items in a Spreadsheet. Then I deploy this script as a Web Ap
When you deploy the script as a web app, users of the web app will only see content you "return" from the doGet function. You can create content using UiApp or HtmlService and return this content to be rendered in a browser. Your new menu items are attached to a spreadsheet, so they can only be displayed when the user goes to the spreadsheet itself (activating the onOpen trigger, etc).