← The blogOwnership

"One File You Own: Why Your Timesheet Should Be a File on Your Disk"

Contents

#The moment I proved it to myself

There is a moment early in building owntime when I did something that felt small but locked in the whole product. I opened a SQLite browser, pointed it at the timesheet.db file in my own ~/Documents/owntime/ folder, and looked at my own billing history as a spreadsheet of rows.

Clients. Projects. Tasks. Hours. Rates. Notes. Every entry I had tracked that week, sitting there in a format I could read without the app. No export. No "request your data." No waiting for an email with a CSV attached. I just opened the file.

I remember the feeling. It was the same feeling I get when I open a text file I wrote years ago and it still opens. The data is mine in a way that data in a web app has never felt like mine. The web app lets me view my data. The file lets me hold it.

That is the difference this post is about. Not a feature. A relationship with your own work.

#The two ways a timesheet can live

Every time tracker makes a choice about where your history lives, and the choice has consequences you do not see until you need them.

Option A: your data lives in their database. The app is a window into a table you do not control. You can view your entries, edit them, and usually export them. But the file is not yours. It is theirs, and they let you look at it through their interface. When you want to leave, you export, and the export is a translation, not the thing itself. Some detail always gets lost in translation. The export format is theirs. The timing is theirs. And if the company folds or the server goes down, the data is gone in a way that has nothing to do with you.

Option B: your data is a file you hold. The app reads and writes a file on your disk. You can open that file with other tools. You can back it up, copy it, sync it through whatever service you already trust. When you want to leave, you take the file with you. There is no export because there is nothing to export from. The file was yours the moment it was created.

owntime is Option B. Your timesheet is one SQLite file at ~/Documents/owntime/timesheet.db. The app is one way to read and write that file, but it is not the only way. That distinction is the entire point.

#What "one file" actually lets you do

Renting
Data on their servers. Price can change overnight. History is a hostage. Works only online.
Owning
Data on your disk. Price is done at purchase. History is a file you hold. Works offline, forever.

The practical consequences of a file you hold are the part that matters day to day, so let me walk through them.

**Open it with anything

✓License does not expire
✓Vendor cannot reprice you
✓Data is a file you hold
✓Works offline, forever
✓Works without the vendor
.** SQLite is one of the most widely supported database formats in the world. You can open `timesheet.db` in a SQLite browser, in a script, in a spreadsheet that reads SQLite, or in a quick Python snippet when your accountant asks "how many hours did we bill Acme in March?" You do not need owntime's permission to query your own history.

Back it up on your terms. The file sits in your Documents folder. It is backed up by whatever backs up your Mac. It can be mirrored to your own Cloudflare R2 or S3 bucket, on your schedule, to your account, not mine. You are not waiting for a vendor's backup policy to cover your billing history.

Sync it yourself. Two Macs, one timesheet. Put the file in iCloud Drive, Dropbox, or a Syncthing folder, and both machines read the same file. There is no owntime cloud because there is no owntime to cloud from. The file moves through the sync tools you already trust, and you control the credentials.

Leave without losing anything. If owntime disappears, the file does not. You can open it, you can migrate it, you can keep billing from it. The worst case of owning the file is the file keeps working. The worst case of their database is the file becomes unreachable.

#The file path is not a metaphor

I want to point at something concrete, because "your data is a file" can sound like a slogan until you see the path.

~/Documents/owntime/timesheet.db

That is the path. It is on your Mac, in your Documents folder, under an owntime subfolder, in a file called timesheet.db. You can open Finder, navigate there, and see the file. It has a size. It has a modified date. It is a real thing on a real disk, not a reference to a row in a data center you will never visit.

When I built owntime, I chose that path deliberately. Not a hidden folder. Not a system directory. A place a normal user can find, because the whole point is that you should be able to find your own data without asking anyone.

#The hard part about owning the file

I owe you the honest version, because owning the file is not purely upside.

You are responsible for the backup. If the file is on your disk and your disk fails, the backup is your job. This is the trade. The vendor does not lose your data because the vendor never had it. But you have to back it up, and if you do not, the failure is yours. owntime helps here with automatic local backups, about twenty of them, rotating. And the mirror to your own R2 or S3 is built in. But the responsibility sits with you, and that is the correct place for it, because the data is yours.

Sync is your setup. If you want the file on two machines, you configure the sync. There is no account, no conflict-resolution server, no "we are syncing your data" spinner. You point two machines at the same file store and they share the file. If that sounds like more work than a hosted sync, it is, for about five minutes. If it sounds like more control than a hosted sync, it also is, for the rest of your life.

The app is not the only reader, but it is the best one. You can open the file in a SQLite browser, but you will not get the weekly grid or the invoice view. The file is the source of truth. The app is the best tool for reading it. I am comfortable with that trade, because it means you are never locked into the app. The app serves the file, not the other way around.

#Why I will never put your timesheet on a server

This is the commitment part, and I want to state it plainly, because it is the one that costs me money.

There will never be an owntime cloud. There will never be a server that holds your timesheet. There will never be a subscription that unlocks "cloud sync" as a feature, because the file is already syncable through your own tools, and charging you for a worse version of what you can do with iCloud Drive would be dishonest.

I know this limits the market. Some buyers will not buy software that does not have an account and a cloud, and I am at peace with losing those buyers. The buyers who stay are the ones who want to hold their own file, and they are the ones I built this for. You are reading this, so you are probably one of them.

The no-server rule is also the only thing that makes the other promises true. I cannot reprice you if there is nothing to reprice. I cannot lose your data if I never held it. I cannot be acquired and flipped if the product has no server to flip. The rule is not a marketing position. It is the architectural constraint that keeps the rest of the product honest.

#The test that tells you which kind of app you are using

Here is a test you can run on any time tracker you use today.

  1. Open your file browser.
  2. Navigate to where the app stores its data.
  3. Find the file that holds your timesheet.
  4. Open it in something that is not the app.

If you can do all four steps and see your own entries, you own the file. If you cannot find the file, or the file is in a format nothing else can read, or the app stores everything on a server and there is no local file to find, you are looking at a window into someone else's database. Both kinds of apps work. But they are not the same thing, and the difference only matters on the day you need it.

#FAQ

Where is my owntime data stored?

In one local SQLite file at ~/Documents/owntime/timesheet.db. It is on your Mac, in your Documents folder, and you can open it with any SQLite tool.

Can I open my owntime data without the app?

Yes. The timesheet is a standard SQLite file. You can open it in a SQLite browser, query it with a script, or read it from a spreadsheet that supports SQLite. The app is one reader, not the only one.

What happens to my data if owntime disappears?

Your data is a file on your disk, so it does not disappear with the app. You can keep opening it, migrating it, and billing from it. The app is a reader for the file, and the file outlives the app.

How do I back up my owntime data?

The file is in your Documents folder, so it is backed up by whatever backs up your Mac. owntime also keeps about twenty automatic local backups and can mirror the file to your own Cloudflare R2 or S3 bucket on every save.

Can I sync owntime between two Macs?

Yes, by putting the file in a shared location like iCloud Drive, Dropbox, or a Syncthing folder. There is no owntime cloud account, because the file is already syncable through the tools you already trust.

#The bottom line

Renting
Data on their servers. Price can change overnight. History is a hostage. Works only online.
Owning
Data on your disk. Price is done at purchase. History is a file you hold. Works offline, forever.

Your timesheet is the record of your billed work, your tax trail, and your evidence in a dispute. It is too important to be a row in someone else's database, viewable only through their interface, exportable only on their schedule.

It should be a file you hold. One file, on your disk, openable with anything, backable on your terms, syncable through your tools, and yours in a way no acquisition can change.

That is what timesheet.db is. Not a feature. A file you own.

Try owntime free for 14 days · See where your data lives · Read the privacy commitment


Sources & further reading

  • owntime data and privacy docs (https://owntime.click/privacy), accessed 2026-09-02

Your time tracker can't raise your price if you own it.

Try owntime free for 14 days. No email wall. Or buy once for $99 early bird.

Download free trialSee pricing