Source ReviewPASS
A full-source scan plus a route-by-route review of the API: grep for child_process / eval / new Function returns zero hits in src/. Server side: /api/url-info fetches the title and icon of a user-supplied URL as the server (an SSRF surface, now behind a login guard), one of its icon fallbacks is logo.clearbit.com, and init-settings fetches a default image from its own baseUrl; browser side: the demo seed points bookmark icons at favicon.im, so the home page connects to it on load, and there are two blocks of code for Google Analytics and Microsoft Clarity that only load when the matching IDs are filled in the admin settings (the default seed leaves them blank, so by default they do not load). Reviewing auth coverage route by route found six routes with no authentication (data could be injected, settings written and non-public bookmarks read without logging in); getServerSession guards have been added to those six in the product repository, and the health check verified for real that the import route returns 401 when not logged in.