ProjectBinB
Overview
ProjectBinB is the Portal Network Browser-in-Browser project. Its goal is to provide a controlled web experience inside the application's own interface rather than simply opening an external page in a normal browser tab.
Concept
The project separates the outer application shell from the content being displayed inside it. Navigation, controls and status belong to the shell; the embedded experience belongs to the inner browsing surface.
Keep the boundary between the shell and embedded content explicit. It makes debugging and future changes much easier.
Development Server
The development server exists to provide the local environment needed by the project. Keep local-only tooling separate from production browser code.
# example local workflow
npm install
npm run devSecurity
Embedded browsing features should treat remote content as untrusted. Avoid exposing privileged application APIs to arbitrary pages and validate any messages crossing the shell/content boundary.
Architecture
Document the actual proxying, iframe, messaging and navigation layers here as they stabilize. A useful breakdown is shell UI, navigation layer, content transport and embedded document.
Testing
- Verify normal navigation and back/forward behavior.
- Test pages that fail to load or return unexpected content.
- Test iframe messaging and cleanup when switching pages.
- Test the development server separately from the browser UI.
Deployment
Deployment documentation should record the production host, required rewrites or proxy configuration and any restrictions on remote content.