@@ -1237,7 +1294,7 @@ export default function SettingsPage() {
{/* Info */}
- The agent uploads diagnostics directly to the configured Blob Storage container. Data never passes through the backend.
+ The agent requests a short-lived upload URL from the backend just before uploading. Your SAS URL is stored securely in the backend and never sent to devices in the agent configuration.
@@ -1263,6 +1320,36 @@ export default function SettingsPage() {
)}
+
+ {/* SAS URL expiry indicator */}
+ {diagnosticsBlobSasUrl && diagnosticsSasExpiry && (() => {
+ const now = new Date();
+ const daysRemaining = Math.ceil((diagnosticsSasExpiry.getTime() - now.getTime()) / (1000 * 60 * 60 * 24));
+ const isExpired = daysRemaining <= 0;
+ const isWarning = daysRemaining > 0 && daysRemaining <= 7;
+ return (
+