Urgent.News

What's breaking now, across thousands of outlets.

Tech

Umami separates browser login, API keys and public share tokens

Umami separates browser login, API keys and public share tokens Umami exposes analytics through a web application, an API and optional public share pages. The official authentication documentation distinguishes two self-hosted API methods: API keys, which are recommended, and username-password exchange for a token. It also describes API keys as long-lived credentials that do not expire and can be…

Umami is a web application that offers analytics through a web interface, an API, and optional public share pages. The authentication process in Umami comes in two methods: API keys, which are long-lived and can be revoked individually, and username-password exchange for a token. In November 2026, a ZoomEye query revealed 11,535 instances of Umami applications, highlighting the importance of distinguishing between different credential paths.

API keys are meant for scripts and integrations, and each consumer should have its own key, properly named and deleted after the integration ends. Login tokens and passwords are linked to human sessions, and MFA should be encouraged, while departed users should be promptly removed. Public share links are bearer capabilities that require a narrow set of views and should be reviewed and disabled after a project ends.

The Umami dashboard and administrative API should be isolated behind network or SSO boundaries, with access controls in place for the entire service. A ZoomEye measurement can serve as a starting point for verifying owned instances, but it does not confirm the presence of unauthenticated dashboards or exposed share tokens.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Salesforce data migration testing: how to reconcile record counts and field values before go-live

AI-Assisted By Richard C, AIL Studio The data load finished with no errors, so the migration worked, right? Not necessarily. "No errors" means Salesforce accepted what it was sent.

  • Reconcile record counts per object by comparing source and Salesforce counts
  • Compare field values on an external key using INDEX, MATCH, and EXACT functions
  • Document nulls, truncation, and sign-off status for each object before go-live

Building a Clinic Booking App in Flutter: Slots, Reminders and Privacy

Clinic booking apps look like a calendar with a "Book" button. In practice, the hard parts are elsewhere: how you model free time, how you stop two patients from taking the same slot, how reminders…

  • Slot collisions occur when two patients book the same time slot.
  • Transaction or unique constraint prevents slot overlaps on server.
  • App shows alternative slots if transaction fails for occupied slot.

Why I Built Hearfromyou: From Voice Notes to a Digital Cassette Archive

Why Was Hearfromyou Built? The Story Behind a Digital Cassette Archive Hearfromyou began as a voice note idea and became a digital cassette archive.

  • Hearfromyou started as a platform for voice notes
  • Creator faced high audio storage costs as a student
  • Cassettes chosen as alternative to expensive audio storage

More from Thursday 5 November →