Privacy policy
What GrainPosition collects, where it goes, how long it is kept, and how to see, fix or delete it. In plain words, because you should not need a lawyer to read it.
Last updated 27 September 2026 (spreadsheet import added).
- Who is responsible
- Visiting the website
- Forms you fill in
- Using the app
- Reading photos, PDFs and spreadsheets
- Who processes it
- How long it is kept
- Seeing, fixing and deleting it
- Changes and contact
Who is responsible
GrainPosition is run by Ruslan Glick in Winnipeg, Manitoba, Canada. I am the person accountable for how personal information is handled here, and you can reach me at hello@grainposition.com.
GrainPosition follows Canada's federal privacy law for businesses, the Personal Information Protection and Electronic Documents Act (PIPEDA).
Visiting the website
- No tracking cookies, no ads
- The public pages set no cookies. There is no advertising, no Facebook or Google tracking pixel, and no profile of you is built.
- Visit counts
- Cloudflare, which hosts the site, counts page views and where visits came from (for example "from facebook.com") with its cookieless Web Analytics. The pages also send small anonymous signals such as "the shrink calculator was used", which appear only as counts. None of this identifies you to me.
- Your IP address
- Like any website, the servers see your IP address when your browser asks for a page. Cloudflare handles that to serve the page and protect the site from attacks; I do not keep a log of it.
- Fonts
- The pages load their fonts from Google Fonts, so your browser also contacts Google, which sees your IP address.
- The demo and the calculators
- Everything you type into the demo and the calculators stays in your browser. It is not sent anywhere or stored, and reloading the page clears it. The only thing a page may save on your device is a setting that stops your own visits being counted, if you have turned that on.
Forms you fill in
The waitlist, the free spreadsheet and "Set up my book" forms send your email address, the page you were on and which form it was, through a service called Web3Forms, to my inbox. I use it only for what the form says: to reply to you, to send the workbook, or to tell you when there is something real to show. You can unsubscribe or ask me to forget the address at any time.
If you email me, including contracts or spreadsheets you send so I can set up your book, the email and attachments are kept in my email inbox, which is run by Google (Gmail).
Using the app
- Your account
- Your email address, to send sign-in links. There are no passwords. The sign-in emails are sent through Resend.
- Staying signed in
- One cookie,
gp_session, keeps you signed in for up to a year. It is only used to know it is you, and it is the only cookie GrainPosition sets. - Your farm records
- Contracts, bins, loads, settlements, your crop plan, costs and target prices: whatever you put in. They are stored in a database run by Cloudflare.
- What happens to them
- They are used to show you your own position, and for nothing else. They are not sold, not pooled with other farms, not used as market data, and not shown to anyone else. You can export all of it as CSV at any time.
- Who can see them
- You, and anyone you give your email login to. As the person running GrainPosition I can technically reach the database. I only look at a farm's records when you ask me to, for example to set up your book or to fix a problem you reported.
Reading photos, PDFs and spreadsheets
When you use "Read a contract", "Read a ticket" or "Read a settlement", the file is sent to Anthropic's Claude to be read, and the fields it finds come back to fill in the form. GrainPosition does not keep the file. Anthropic does not use it to train its AI models; it may keep it for a limited time under its own terms, for example to detect abuse.
When you import a spreadsheet, it is read in your browser. If its columns can't be matched from their names, only the column headings and the first 20 or so rows of each sheet are sent to Anthropic's Claude, to say which column is which. Every value is then converted in your browser, and nothing is saved until you press Import. The file itself is not uploaded or kept.
I keep a record of each read without its content: when it happened, the file type, the model and how much it cost to process. That is used to cap how many reads a farm can make in a day and to keep an eye on cost.
Who processes it
GrainPosition is run with a few outside services. Each only gets what it needs to do its job:
| Service | What it does | What it sees |
|---|---|---|
| Cloudflare | Hosts the site, runs the app and its database, counts visits | Everything stored in the app; IP addresses of visitors |
| Resend | Sends sign-in emails | Your email address and the sign-in link |
| Web3Forms | Passes form submissions to my inbox | What you typed into the form, usually just an email address |
| Anthropic | Reads photos and PDFs you choose to upload, and matches spreadsheet columns when their names aren't enough | That photo or PDF; for a spreadsheet, only its headings and first rows |
| Website fonts; my email inbox | Visitors' IP addresses (fonts); emails you send me |
These services are based in the United States or run servers in other countries, so your information may be stored or processed outside Canada, where the law may let governments or courts there ask for it.
How long it is kept
- Farm records and your account
- Until you delete them or ask me to. The database keeps a rolling history for restoring from mistakes, so deleted records can remain in that history for up to 30 days before they are gone for good.
- Sign-in links and sessions
- A sign-in link works once and expires after 20 minutes. A session lasts up to a year, or until you sign out.
- Form and email contacts
- Until you unsubscribe or ask me to delete them.
Seeing, fixing and deleting it
Email hello@grainposition.com from the address on your account and I will:
- tell you what I hold about you and send you a copy;
- correct anything that is wrong;
- delete your account and all of your farm's records.
I will answer within 30 days, and usually much sooner. You can also export your records yourself from the app, at any time, with Export CSV.
If you are not happy with how I have handled it, you can complain to the Office of the Privacy Commissioner of Canada.
Changes and contact
If this policy changes in a way that matters, for example a new service that sees your data, I will update the date at the top. If you have an account, I will email you before the change applies to you.
Questions: hello@grainposition.com.