mxdcodes

joined 1 week ago
[–] mxdcodes@lemmy.world 1 points 3 days ago* (last edited 3 days ago)

Thank you, really appreciate it! Glad to hear Colota is working well with Dawarich for you so far. Feedback and criticism are always welcome. Most of it has led to real improvements in the app. I think a casual forum thread is probably just not the best setting for deep technical discussions, where context shifts quickly, everyone has a different background and nuance gets lost.

[–] mxdcodes@lemmy.world 2 points 4 days ago

Thanks for the kind words! Vehicle/trip categories (car, bike, train, walk) + per-vehicle tracking is a great idea and fits well with the profile concept. Personally, I also want to skip other (activity) tracking apps which is the reason I also would love to have these features. Added the feature requests to the backlog. Thanks for taking your time trying out the app and giving feedback!

[–] mxdcodes@lemmy.world 1 points 5 days ago (2 children)

I never shifted anything. I was talking about encrypted backups on a server. These can be encrypted locally before being synced to a server.

You entered a thread explicitly about E2E encryption started by ShortN0te and introduced "single-party encryption" or which later turned out to mean encrypted backups.

Nope, you literally just made that up. I didn’t say that and I don’t even know what that means.
"I would prefer single-party encryption vs. integration, personally. Could make it optional."

You wrote 'I would prefer single-party encryption vs. integration, personally' in this exact thread. That's not something I made up.

…but it is.

I'd genuinely like to understand how.

My suggestion was that it could be…

This app has a specific purpose. It could have a encrypted backup feature but it won't change it's fundamental purpose which is viewing the location history.

You already have local backups that could be encrypted and then synced to a general storage server.

The exported files are not designed as backups (even though they are being used as ones by existing users). They're meant to be workable in other tools like QGIS, Strava or Komoot. Encrypting them would break that entirely.

I said literally nothing about your implementation. You’re imagining things. Please read more attentively

Fair point. I misinterpreted that. No need to get personal.

[–] mxdcodes@lemmy.world 1 points 5 days ago* (last edited 5 days ago) (4 children)

New day, new answer!

You started this conversation in a thread about E2E encryption and I responded in that context. Halfway through you shifted to encrypted local backups which you first called 'single-party encryption' and that's a completely different thing. If that had been your original point we could have skipped this entire exchange. It's a good idea which I already mentioned in the answer you replied to but you seem to have missed.

To clarify two things: I never said it was impossible. I said it wasn't realistic in the context of the selfhosted backends we were discussing. Those are different statements. And yes, lots of apps do encrypted backups because they are backup apps. Colota isn't. The existing export is for tools like QGIS or selfhosted backends and encrypting that data would break that use case entirely.

Encrypted import/export for backup is a separate feature that doesn't exist yet, so there's nothing here that's badly implemented. It simply isn't implemented at all.

[–] mxdcodes@lemmy.world 2 points 6 days ago

By default this applications allows when adding a server, that the communication is not encrypted between the app and the server. This should be configured by default to enforce TLS encryption.

That's not true. For public endpoints, HTTPS is enforced. You can't use HTTP. For private IPs, yes HTTP is allowed. So "by default... not encrypted" is not correct and misleading.

[–] mxdcodes@lemmy.world 1 points 6 days ago (2 children)

That's an interesting reading of what I said, but not what I said. I didn't write that security doesn't matter because the server is off. I wrote that when nothing leaves the device by default, there is no attack surface to secure. That is the definition of secure by default.

Secure by default means the default configuration is safe. By default, Colota stores location data locally and exposes none of it. If you believe that somehow fails the secure-by-default standard, I'd genuinely like to understand how.

If your actual concern is what happens once a user configures a server, that's a fair discussion but it's a different one. I already addressed that above and I'd be curious to hear a specific objection to that setup rather than a general claim that it's insecure. Server compromise risk is inherent to every self-hosted service. That's not a Colota flaw, that's the model. And "users shouldn't have to manage their own infrastructure" is a philosophical position, not a vulnerability. One that doesn't really fit a tool explicitly built for people who want exactly that control.

[–] mxdcodes@lemmy.world 1 points 6 days ago

So, where’s your VPS? In EU?

It's a VPS hosted by netcup in germany (https://maps.mxd.codes/)

Which refers to a Home Assistant template that doesn’t exist on the app?

Yes, you are right. I have to update the docs there. I removed the HA template because it basically just added the tid which I think is quite easy to add manually.

[–] mxdcodes@lemmy.world 2 points 6 days ago* (last edited 6 days ago) (6 children)

You don’t have to. You just have the app encrypt the data before it’s backed up and exported.

I already explained several times why that's not realistic for the selfhosted backends.

You could have just written at the beginning that you think it would be a good idea to implement (optional) encrypted backups Independent of the selfhosted backends. Then I would have answered, great idea!

But you continued to reply on a thread about end to end encryption where I specifically mentioned the selfhosted backends.

I understand the usecase but you’re acting like you don’t understand the purpose of encryption,

Have a good day!

[–] mxdcodes@lemmy.world 2 points 6 days ago (2 children)

Not an absurd question at all. The app uses vector data for the map. Public OpenStreetMap server's only offer raster data which is not compatible and would need way more storage to cover the same area downloaded. Also downloading tiles from openstreetmap servers would violate their tile usage policy.

However there are alternatives e.g. https://openfreemap.org/. I actually had OpenFreemap used before for the app but it uses Cloudflare as CDN which doesn't align with the privacy policy I want to offer for the app which is the reason I setup a own server (vps) which just directly serves the tiles (https://colota.app/docs/guides/tile-server). Also if I would use a external tile server which may go offline for whatever reason there would be nothing I could do about it.

Basically you could use any tile sever which provides mbtiles but I don't know any other free options.

if I install your app on multiple devices, can Home Assistant distinguish between them? Ie does the data nclude a DeviceID of some kind?

Yes it either works with the Colota integration which needs a custom payload attribute to distinguish different devices (e.g. "tid": "colota") or you could use also the Owntracks integration (see https://colota.app/docs/integrations/home-assistant). The API format sent from colota is completly editable.

[–] mxdcodes@lemmy.world 2 points 6 days ago (8 children)

It's not that I don't want. I can't implement it because I don't offer a server. You would have to address this to the backend developers (Dawarich, GeoPulse or even yourself) who actually store the data.

but there’s no reason to come here pretending not to understand its purpose.

I am understanding your point, but apparently you are not understanding mine which is the actual use case of the app and it's workflows and therefore make it look like it would miss basic security patterns. The whole "location history" ecosystem stores plaintext coordinates.

[–] mxdcodes@lemmy.world 2 points 6 days ago (10 children)

Encryption does not exist for third parties.

E2E encryption is specifically designed for the third-party problem. Encrypting so a middleman can't read your data.

It exists to protect sensitive data from malicious or state actors who might hack your server and steal the information for various purposes

If a server gets hacked where a user sent data from Colota there is nothing the app can do about it or to prevent it. Also you can create a backend which encrypts the data. Again: Colota does not offer a backend.

Here in the US law enforcement is free to hack and steal and demand whatever they want

I don't think it's the job of an Android app to protect a server from government hacking attacks.

I would prefer single-party encryption vs. integration, personally. Could make it optional.

I understand the concern. The tradeoff is that backends like Dawarich or GeoPulse need to read the coordinates to build timelines, detect trips, display maps, etc. Encrypted blobs would make the server a simple backup at which point the local auto-export to Syncthing/Nextcloud achieves the same thing without the complexity. For pure backup, the offline + file export workflow already covers that use case. Also the app is offline-first. There is no server needed unless the user specifically configures that.

I appreciate your contributions but for me personally this is a dealbreaker.

Fair enough, thanks for the feedback.

 

Hi there,

recently there has been a post here about Colota and thought you might be interested in a short summary about Colota.

I am tracking my position since several years now mainly with Owntracks (and now Colota) and a simple postgres DB/table.

I am a fan of the indieweb and eat what you cook and with already some million location points collected I recognized some pattern in existing GPS trackers I wasn't happy about:

  1. Battery consumption
  2. Duplicate points while staying in the same location for a long time

So I decided to build my own GPS tracker and called it Custom Location Tracker.

Improved battery consumption should come from disabling GPS entirely in so called "geofences" which are basically circles you draw on a map in the app. With GPS disabled in these you also won't get duplicate points while staying at e.g. home or work.

The app is still quite new (actively developed since early 2026) but has already quite a lot of features which basically all came from user feedback. E.g.:

  • Automatic Tracking profiles which apply different tracking settings while e.g. being connected to Android Auto, moving slower than 6km/h or while the phone is currently charging.
  • The app works fully offline (map will not be visible then) but you can predownload map tiles from a tile server I selfhost or use your own tile server.
  • You can define how locations are synced to your backend. E.g. only for a specific Wi-Fi SSID every 15min, once a day or with every location update.

Overall the app's focus should move to be a mobile location history app. So basically Google Timeline in a mobile app which also supports selfhosted backends (as backup).

The app is fully open-source AGPL-3.0, has no ads, analytics or telemetry and only sends data to your own server (if you want to).

You can download two versions.

  1. Google Play store which uses Fused Location Provider and therefore uses Google APIs. Also works with the sandboxed version by GrapheneOS and microG.
  2. FOSS version which uses Android's native GPS provider with a network location fallback. Available on IzzyOnDroid and hopefully someday on F-droid.

Both can be also downloaded directly from the repo.

view more: next ›