Aqui estão algumas sugestões da IA:
Token de sessão anônimo bloqueado por restrições de cookie/armazenamento. Muitos desses widgets de chat criam silenciosamente um ID de sessão (cookie ou localStorage) no primeiro carregamento e o anexam a cada chamada de API. Se o navegador de um colega bloqueia cookies ou armazenamento de terceiros (proteção contra rastreamento do Safari/Firefox, modo privado/anônimo, política de navegador gerenciado corporativamente, ou uma extensão como uBlock/Privacy Badger/Brave Shields), esse token nunca é criado ou enviado — a chamada de API então parece uma request não autenticada e é rejeitada como "unauthorised".Falha na verificação de Origem/Referrer. Se o backend valida que as requests vêm do próprio paratext.org (uma medida leve comum contra abuso, em vez de autenticação real), qualquer coisa que altere como a página é carregada — um filtro/proxy web corporativo que reescreve ou remove cabeçalhos, um proxy de tradução, "Modo Leitor", ou abrir o link dentro do navegador integrado de outro aplicativo — pode quebrar essa verificação, mesmo que a página renderize normalmente.Proxy corporativo/inspeção SSL removendo cabeçalhos. Colegas afiliados à SIL frequentemente estão em redes gerenciadas com inspeção profunda de pacotes ou filtragem de conteúdo que remove cabeçalhos Authorization, Cookie ou personalizados em calls de API de saída, enquanto a interface do chat em si ainda carrega normalmente de um CDN.Chave de API de backend compartilhada atingindo limite de taxa/cota. Se o widget faz proxy para algo como a API da Claude usando uma chave de servidor compartilhada, um pico de tráfego de demonstração simultâneo (você + 3 colegas disparando prompts em um minuto) pode acionar um limite de taxa que o backend relata como "unauthorised" em vez de "too many requests".Forma mais rápida de confirmar: peça a um colega para abrir as DevTools do navegador → aba Network, repetir um prompt, clicar na request falha e verificar o código de status HTTP real (401 vs 403 vs 429) e o corpo da resposta — isso nos dirá definitivamente qual desses é o caso. Se você puder obter isso, posso identificar a causa com precisão.
Here are some suggestions from AI:
Anonymous session token blocked by cookie/storage restrictions. Many of these chat widgets silently mint a session ID (cookie or localStorage) on first load and attach it to every API call. If a colleague's browser blocks third-party cookies or storage (Safari/Firefox tracking protection, private/incognito mode, corporate-managed browser policy, or an extension like uBlock/Privacy Badger/Brave Shields), that token never gets created or sent — the API call then looks like an unauthenticated request and gets rejected as "unauthorised."Origin/Referrer check failing. If the backend validates that requests come from paratext.org itself (a common lightweight anti-abuse measure instead of real auth), anything that changes how the page is loaded — a corporate web filter/proxy that rewrites or strips headers, a translation proxy, "Reader mode," or opening the link inside another app's in-app browser — can break that check even though the page renders fine.Corporate proxy/SSL inspection stripping headers. SIL-affiliated colleagues are often on managed networks with deep packet inspection or content filtering that strips Authorization, Cookie, or custom headers on outbound API calls, while the chat UI itself still loads normally from a CDN.Shared backend API key hitting a rate/quota limit. If the widget proxies to something like Claude's API using one shared server-side key, a burst of simultaneous demo traffic (you + 3 colleagues all firing prompts within a minute) could trip a rate limit that the backend reports as "unauthorised" rather than "too many requests."Fastest way to confirm: have one colleague open browser DevTools → Network tab, retry a prompt, click the failed request, and check the actual HTTP status code (401 vs 403 vs 429) and response body — that will tell us definitively which of these it is. If you can grab that, I can pin down the cause precisely.
Tradução automática de English Mostrar original