Sharing with TRC

When you visit the homepage at, you must first log in, and then you’ll see a list of all sheets that you currently have access to.

You can gain access to a sheet by:

  1. Creating a new sheet yourself.
  2. When somebody shares a sheet with you (see below!)
  3. Entering a secret “canvass code” to grant you access to a sheet. This is a form of sharing.


Logging in to TRC 

You can log into TRC with an email address or via Facebook.  Anybody can log into TRC, but you may have an empty account until you gain access to some sheets!

Both the mobile applications and website use the same login mechanism.

Email login

If you log in with your email address,  TRC will email a temporary ‘pin’ to that address to confirm that it’s actually your address. You can enter that pin and complete the login.

Facebook login

Alternatively, you can log in with Facebook.

  1. It’s convenient. Nobody wants to remember yet another password.
  2. Facebook is a secure system and has advanced security features like two-factor-authentication.


Secret Links and Canvass Codes 


An existing user, such as a campaign manager, may share a secret link with you that has an embedded password (a “canvass code”) that will grant you access to a sheet:

They look like this:

Be careful! These secret links grant full permission!

The link will first force you to log in, and then grant the current user permission to the sheet. It will then redirect to the sheet’s url and you are ready to use the sheet.  After this, you’ll see the sheet on the homepage, so you should only need to use the secret link once to gain initial access.


Sharing sections of your sheet with new volunteers

Suppose you’re granted a code for an entire city with 10,000 voters.

You can share out individual precincts with volunteers. On the main screen, you’ll see a list of the precincts and a “share this” button:



When you hit the “Share this…” button, you can enter an email address and short personal message.



And then the volunteer will get an email with their own canvas code (just for their precinct) and their own url link. They can receive the email on their smartphone and open the app directly from there and be ready to go.

This code will be different than your original code. Unique codes let the system identify different users.

Best Practices

  1. Have canvassing volunteers use their personal email (and not a campaign-supplied email).  This is a security benefit: it provides a degree of accountability by not allowing them to be anonymous; and it provides better reporting to track per-user activity.  And if you do find out a canvasser was doing a bad job, you can see exactly the scope of what data they submitted – and even purge it if it was bad.  And you can revoke on a per-user basis.
  2. Don’t share the whole sheet; only share the minimal area that canvassers need –  This is the principal of “Least Privilege“.  So don’t share every precinct with every volunteer. Just share the precincts with the volunteers in those areas, and wait until they’re about to be active too.


How to share the entire parent list? 

Go to the plugins menu and use the Share plugin.  This will let you share the entire list.

How do I “transfer” ownership from one account to another?

Suppose somebody shared a sheet with you using one email address (ie, but you want to access it from another email address (ie, In this case, you can just share the sheet with yourself to pass it from one email address to the other.  Log in with the account you have permission to, and then share it with your other email address.


I can’t find the a “share with” button

Sometimes this happens when trying to share top-level sheets or very large sheets that aren’t yet partitioned into children. In any case, you can also find the sharing from the Plugin gallery.

Who can I share with?

You could share a single precinct with multiple people and each would get their own unique code. This lets you identify each individual.

TRC does not charge per-user, so you are encouraged to share with as many people as you need.

Revoking codes

You can also revoke codes that you’ve shared out. For example, you may do this if you typed in the wrong email address.

Geek stuff

What a code is really doing is giving you access to a sandbox. You can share  a single sandbox with multiple people and use the per-user code to track which user is accessing the sandbox. By default, a legislative district split into precincts means that each precinct is a child sandbox.

Can I share URLs?

Yes, you can share browser URLs with anybody.  These URLs have a long number (a “sheet id”) that uniquely identifies the current sheet. For example:

These urls are not secret. In other words, if user pastes this link into their browser, but does not have permission to the sheet, they will not be able to view the page.

In contrast, the secret canvas urls (which look like: , will grant permission to the current user, and then redirect (302) to a normal url with the sheet id.

If a secret URL is pasted in the browser, it will immediately do a permission check and then redirect (302) to a non-secret url. That ensures it’s safe to share urls you see in the browser.



“Blame” is a free reporting plugin for TRC to help you analyze canvassing results.  Blame provides easy pivots (“business intelligence”) on the data collected by your canvassers. This helps you answer key questions that lead to action:

  1. How many doors did your team hit per day?
  2. Who exactly did you contact and what was the result? Pull the details into excel for further analysis.
  3. How many supporters did you identify?
  4. What was the specific result for each canvasser?  Which volunteers should be rewarded and which need more coaching?
  5. Are there suspicious trends in the data?

(The name Blame comes from similar tools in the software industry that developers use to find who edited a file and introduced a bug)

Opening Blame

You can launch Blame from the plugin menu:


Or by appending &plugin=Blame2 at the end of your login link.


TRC tracks each individual edit supplied by a user. An edit includes not only the actual change to the sheet (“voter #5472 is a supporter”), but also timestamps, geo location, user id, and even which plugin made the edit.

Basic Views

There’s a timeline chart showing you edits per day. You can use the slider bar at the bottom to zoom in on a range, such as a super Saturday.


Blame provides pivots. For example, you can see number of supporters identified and by whom.



Blame also presents a “grid view” of all the individual edits. This provides a convenient way to see just the values that have changed. You can view and download all the edits in a single spreadsheet:


If a single record has multiple changes, blame will flag it and let you drill into more detail and see the exact history.



This can be useful to identify records changed by multiple people.

Pinned vs. Floating values

TRC is a canvassing tool that can pull data from a variety of different sources. For example:

Source Quality?
Voter names, age, addresses Secretary of State VRDB Perfect – the SOS is the source of truth.
Map view Geocoding address to get a Latitude and Longitude High – we try to get the pin right on the house.
GOTV – did you mail in your ballot? County auditor High – but there can be a lag between when the ballot is mailed and when the auditor reports it.
Voter history Secretary of State historical files Perfect
Past Precinct Results Secretary of State Perfect – although precinct boundaries and populations change over time.
Party Id Voter-Science ???

What about Party Id?

Party Id is determining which party a voter is aligned with. Democrat? Republican? Libertarian? Other?  A common convention is assigning a “party id score” that’s a scale of 1 (hard gop) … 5 (hard democrat). 3 is independent, 0 means unknown.  This is crude and deeply flawed (how do you represent people that split their tickets?), but it’s still widely used be campaigns.

While most of the data has an official source, there’s no definitive list of party identification.  So organizations that provide party id must make an educated guess based on the data they do know –  such as if you voted in the Democrat presidential primary or if your PDC donations show strong contributions to Republicans. If new data comes in, we update the guess. This gets awkward when if the first guess was right and then the 2nd guess is wrong.

Pinned vs Floating

TRC helps you cope with this uncertainty.  Most tools treat the values as static numbers. This unfortunately means you don’t know the source or confidence of a value. TRC them as “Pinned” and “Floating”.

1. Once you change a value, it is “pinned” and that changed value should never get overwritten by somebody else. (You can see the full audit history here in the History tabs or in the Blame plugin.)

2. But before you change it in TRC, the value is “floating” and can be updated underneath you when we rebuild the models.

TRC addresses this by letting you “pin” values, and by giving each user their own “sandbox” that lets them track their own specific values.


We mark any Floating values with a “?” after the party id. This lets users know that it’s a guess and may change underneath you.

So for example, M Dunwiddie starts with:


The ‘?’ means that the data can change. The 5 means our guess is hard democrat. But what if we then see that M Dunwiddie voted in a Republican primary and donated $100 to a Republican candidate? The data team could pick up that data and update the model to a ‘1’.  But even then, new data could flip it back to a ‘5’ (such as if the data team later found she donated $10,000 to a democrat). 

But regardless of what the data team does with floating values, say I then go in and explicitly change her to a 1. The cell goes green, and the question mark is now removed.


And when I refresh the browser, the green highlights reset but the question mark stays removed. The lack of question mark tells me the value is now “pinned” and won’t change.  This only applies to the Party column.

Practical guidance

1. Once the cell is green, it’s saved to the server. This means If the cell does not turn green, it hasn’t been saved.

2. If the party column has a “?” next to it; the value may change on you.  This means if it has the correct value, but has a ‘?’ next to it, then go in and deliberately change it and make it turn green. That will pin the correct value.