1. Scope and effective date
This policy applies to Joshu — API Assistant version 0.2.0, a Chromium browser extension for developers and QA engineers. It applies to version 0.2.0 and later unless a newer policy replaces it.
Joshu inspects supported API activity only after the user starts a capture for a selected tab. This policy covers information processed by the extension. Websites being inspected and browser vendors have their own privacy practices.
2. Plain-language summary
3. Information Joshu handles
Depending on browser capabilities, user settings, and activity in the selected tab, Joshu may locally process and store:
- HTTP methods and sanitized request URLs and paths.
- Page and API origins.
- HTTP statuses, request timing and duration, network failure information, and observed request type.
- Optional sanitized request and response headers when the user enables header capture.
- Session timestamps, record counts, capture state, and settings.
- During Automatic API discovery, bounded JSON request and response previews when Chrome exposes them.
- API origins discovered from Fetch/XHR activity in the selected tab.
Raw JSON body data can be handled transiently in memory while Joshu sanitizes it. Raw body data is not intentionally persisted before sanitization.
Captured traffic may contain personal, confidential, authentication-related, or proprietary information before or despite best-effort redaction. Use synthetic data whenever practical.
4. Purpose and use
Joshu uses captured information only for its user-facing API inspection functions:
- Recording supported API activity from a user-selected tab.
- Identifying failed and slow calls.
- Showing captured calls in the inspector.
- Applying best-effort sanitization.
- Displaying discovered API origins.
- Preparing user-reviewed JSON, Markdown, response text, or sanitized cURL output.
Captured information is not used for advertising, user profiling, tracking users across websites, data brokerage or sale, creditworthiness or lending, or unrelated analytics or services.
5. Standard capture and Automatic API discovery
Standard capture
Standard capture records supported Fetch/XHR metadata and does not retain request or response bodies. Cross-origin API traffic may require the user to grant the API origin manually. Granted optional origins remain controlled through Chrome's extension settings.
Automatic API discovery
To use Automatic API discovery, the user must expand its disclosure, check the per-session consent box, and deliberately start automatic discovery for the selected tab. Joshu then temporarily attaches Chrome's debugger to that tab. Chrome displays a debugging notification or banner while attached.
Joshu uses Chrome DevTools Protocol Network events to discover supported cross-origin API calls. It does not attach automatically in the background, during ordinary Standard capture, or to unrelated tabs. Stopping capture detaches the debugger.
Closing the tab, navigating to another origin, browser or worker interruption, another debugger taking control, storage limits, or extension updates can interrupt the session and detach Joshu. Automatic discovery does not guarantee that every request or body will be available.
6. Browser permissions
Joshu version 0.2.0 uses these permissions for its API inspection and interface functions:
activeTab: Used to start a user-requested capture for the currently selected tab and scope the session to that tab.webRequest: Used during Standard capture to observe supported request lifecycle metadata. Joshu does not block, redirect, or modify network traffic.storage: Used to store bounded capture sessions and settings locally on the user's device.sidePanel: Used to display the API inspector beside the selected page.debugger: Required by the installed version because Chrome does not make this permission optional. Joshu uses it only after the user provides separate per-session consent and starts Automatic API discovery. It is used to discover cross-origin Fetch/XHR activity and retrieve eligible bounded JSON previews for the selected tab. Chrome displays a debugging banner while Joshu is attached.- Optional HTTP/HTTPS origin access: Used only when the user grants a specific API origin for Standard capture. The extension declares broad optional HTTP/HTTPS patterns so users can grant API hosts discovered at runtime. These optional patterns do not grant access to every website automatically at installation.
Joshu does not request webRequestBlocking, modify network requests, or require permanent host access for all websites. Browser permission messages can use broad wording because the debugger API is powerful, even though Joshu limits its behavior to explicit selected-tab capture sessions.
7. Local storage and retention
Captures and settings are stored in extension-local browser storage on the user's device. Joshu allows a maximum of 2,000 records per session, 10 stored sessions, and 50 MiB of aggregate local capture storage. Old stopped sessions can be removed first when the storage budget is exceeded. An active session stops with a visible reason when it cannot store additional records.
Data remains until the user deletes sessions, selects Delete all captures, uninstalls the extension, or the browser removes extension data. Delete all captures keeps user settings. Exported files and clipboard contents are outside Joshu's control after export or copy.
8. JSON body policy
Only JSON request and response previews are eligible for body retention during Automatic API discovery. The default maximum is 256 KiB per body, and users can configure a limit from 16 KiB to 1,024 KiB.
Unsupported MIME types, malformed JSON, encoded or browser-inaccessible responses, and oversized bodies are omitted. Retrieval failures are represented with a reason. Known sensitive JSON keys are masked before sanitized previews are persisted. Best-effort redaction cannot recognize every personal, sensitive, authentication-related, or proprietary value.
9. Exports and clipboard operations
Exports are created locally. JSON and Markdown exports, response-text copying, and sanitized cURL copying require user action. Joshu shows a review preview before download or copy and does not automatically upload exports.
Users control downloaded files and clipboard content after those actions. Clipboard managers and synchronized clipboards may have separate privacy behavior.
11. Security and redaction
Safeguards include explicit capture initiation, selected-tab scope, separate per-session automatic-discovery consent, Chrome's visible debugger banner, automatic debugger detachment, local-only storage, bounded records, sessions, bodies, and total storage, known-secret redaction, strict URL mode, review-before-export and review-before-copy flows, and no automatic upload path.
12. User controls and deletion
Users can stop an active capture, stop Automatic API discovery to detach the debugger, delete an individual session, select Delete all captures, revoke optional API-origin permissions through Chrome, and uninstall Joshu. See the public support instructions for deletion and troubleshooting guidance.
Deleting data from Joshu does not delete copies previously downloaded, copied, pasted, synchronized, backed up, or shared.
13. Children's privacy
Joshu is a developer and QA tool and is not directed to children under 13 or the minimum age required by local law. The developer does not knowingly collect children's personal information through Joshu; the extension does not automatically upload captures.
14. Policy changes
This policy may change when Joshu's features, permissions, legal obligations, or privacy practices change. Material updates will be reflected on this page with a revised effective date. This policy applies to version 0.2.0 and later unless it is replaced by a newer policy.
15. Contact and support
Privacy and support requests should follow the instructions on the public support page. Never include captures, credentials, tokens, cookies, personal information, private URLs, or proprietary information in support requests.
16. Chrome Web Store Limited Use disclosure
Joshu’s use of information received from Google APIs adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements.
Information is used only to provide or improve Joshu's single-purpose API inspection functionality. It is not used or transferred for personalized advertising, creditworthiness or lending, or unrelated purposes, and it is not sold to data brokers. Captures are not automatically made available to the developer or other humans because there is no automatic upload path.