Console

Invite from the console ​

Create the invitation, send it to your partner, and run the first exchange together.

Console

For
A console user who creates the invitation
You need
The console running (Start the console), your CSV file in your working folder, the terms you agreed on, and the SFTP server, shared folder or coordination server you agreed on
Before this
Agree on terms
Your partner reads
Accept in the console, Accept an invitation on the command line, or Accept with the web app
Timing
The invitation lasts 1 hour unless you choose longer. Your console waits for your partner 1 hour over SFTP or a shared folder, 10 minutes over WebRTC, unless you set How long to wait for your partner. Measured - sample files of 100 and 200 records, 30 keys, over SFTP - 15.5 minutes from your partner's start to the result.

To practice first, write the sample files as Practice with sample data shows and choose alcove-sample-inviter.csv in step 2.

Create and run the invitation ​

YouBoth of you

1Create an invitation ​

On the start page, under Start a private data exchange, choose Create an invitation.

Screen: Step 1 of 3 - Your file

2Your file ​

Enter Your name or agency. Your partner sees it in the terms. Leave How your file separates fields at Comma unless your file uses tabs, pipes or semicolons. Under Choose a file from your folder, choose Select beside your CSV file, check the columns and sample values it shows, and choose Use this file. Choose Continue to matching & sharing.

Screen: Step 2 of 3 - Matching & sharing

3Matching & sharing ​

Set the two choices at the top:

OptionWhat it doesPick it when
Matching method: Reveal the matched identifiers (standard)Matches records and writes a result fileUsual
Reveal only the count (psi-c)Reports only how many records you have in commonYou agreed on a count only (A list or only a count)
Who receives the matched results: You and your partnerBoth of you get the resultUsual (Who receives the result)
Only you or Only your partnerOne of you gets it. The other still contributes records and sees Results withheld by the terms (What each party learns)You agreed on one side only

Alcove fills in each column's type and use from its name. It sends nothing by default, your ID column included.

Your ID column. Set your own ID column, whatever it is called, to Unique record identifier - not sent. Your result then starts each row with your own ID, and your partner never receives it. Alcove recognizes common ID names, such as id, Client ID, MRN, and case_number (inference table), and starts the first one as Unique record identifier - not sent, taking a record number such as case_number only when the file has no other ID column. To send your ID for matched records, choose Unique record identifier - sent to your partner. A column the app does not recognize starts as Ignored. With no column set as your ID, your result holds row numbers only, counting from 0.

Change How it is used only as you agreed (What each of you sends):

OptionWhat it doesPick it when
Used to match - not sentMatches on the column and never sends itUsualnames, date of birth, SSN, ZIP code
Used to match - sent to your partnerMatches on it, and sends its value for matched recordsYour partner agreed to receive this column
Unique record identifier - not sentStarts each row of your result with your own IDUsualyour own ID column, whatever it is called
Unique record identifier - sent to your partnerDoes the same, and sends the ID for matched recordsYour partner agreed to receive your IDs
Sent to your partnerSends the value for matched records; not used to matchYour partner agreed to receive this column
IgnoredNeither matches on it nor sends itUsualevery other column

Under Your own columns in the result, leave Nothing of mine - my partner's values only unless you want more of your own columns in your result file. It changes nothing your partner sees. Choose Continue to review & create.

Screen: Step 3 of 3 - Review & create

4Review & create ​

OptionWhat it doesPick it when
Invitation duration: 1 hourYour partner must accept within 1 hourUsualyour partner is ready to accept now
Invitation duration: 6 hours, 1 day, 7 days, 30 days or 1 yearGives your partner longer to acceptYour partner accepts later

If you agreed on a count only, other built-in rules, or a different strategy, choose Change beside Matching keys under Exchange proposal. That opens Matching keys, with Built-in rules (default Broader matching) and Linkage strategy (default Cascade). For a count only, untick every key but one. Choose Back to Review & create when done. What each one means: Agree on terms.

Under How will this exchange run?, choose your channel:

Choose Over SFTP, run here, then Add connection, and fill in your own account on the server:

  • SFTP server address: the host only, such as sftp.example.org. For a port other than 22, choose Advanced and fill in Port.
  • Username: your account on the server.
  • Remote directory: the folder on the server both of you use, such as /exchanges/state-county.
  • Server identity fingerprint: ask whoever runs the server. It starts with SHA256:. Or choose Read the fingerprint from the server, compare what it shows with theirs, and choose Use this fingerprint.
  • How Alcove signs in: Password or Private key. Choose Choose the credential file, then Use this file beside your password or key file.

Choose Save connection. The card shows READY TO TRY. The invitation holds the server and directory, never your credentials. Your partner signs in with their own account.

Check each line under Exchange proposal. Creating the invitation seals the terms. Choose Create the invitation.

Screen: Your invitation is ready - Share this invitation

5Send the invitation ​

Under Invitation as text, choose Show full invitation, then Copy. Send it to your partner over a channel you trust, such as secure email. Send the text. A link on this screen that starts http://127.0.0.1 opens only on your computer.

Your partner usesSend them
The consoleThe invitation text, and Accept in the console
The command lineThe invitation text and Accept an invitation. For SFTP or a shared folder, also the file from Download instructions for your partner (alcove-accept-instructions-<date>.txt)
The web app (WebRTC only)The invitation text, and Accept with the web app

WARNING

The invitation holds a one-time secret: anyone who has it can take your partner's place. Send it only over a channel you trust. The instructions file holds no secret.

6Both of you: run the exchange ​

Your console starts waiting as soon as you create the invitation. It waits 1 hour over SFTP or a shared folder, 10 minutes over WebRTC, so agree on the time. Keep the console running. You can leave the page: the run keeps going, and the start page brings you back to it. The status panel shows Getting ready, Checking settings match, then Matching records (key 1 of 30) and on through each key.

You should see: Exchange complete - 41 matched records, with Download result below it. 41 is the count for the sample files. If the terms give you no result, you see Exchange complete and Results withheld by the terms, with no list and no count.

If your partner does not start within the wait, the screen shows Your partner did not arrive with Try again. Once the invitation has expired, create a new one.

What you get ​

The result screen offers the downloads. The same files are in this run's folder inside your working folder, named by the run's id, such as 0770d1b1-eeb2-4882-9cfe-4073136b871d:

FileWhat it holdsShare or keep
alcove-results-<time>.csv (Download result)One row per matched record: your record ID, your partner's row number, and any columns your partner sendsKeep private
alcove-record-<time>.json (Download record (safe to share))What you agreed on and what matched, for your disclosure logKeep; not secret
alcove-record-<time>.keys.json (Download verification keys, marked keep private)The keys that check the record against your filesKeep private
alcove-record-<time>.terms.jsonBoth parties' agreed termsKeep; not secret
alcove.yamlThe configuration the console wrote for this runKeep; not secret
.alcove.keyThe shared secret your next run needs; it changes at every runKeep private

Your next run needs .alcove.key. Where to find it:

Run.alcove.key is in
SFTP or shared folderThis run's folder
WebRTCYour working folder, beside alcove.yaml

WARNING

Set up another exchange and Discard delete this run's folder, .alcove.key included. Copy out what you need first. Restarting the console cancels a running exchange and forgets it (Stop or restart the console).

If you run the SFTP server yourself, set it up as If you run the SFTP server shows.

More detail: Every file a run writes, What the instructions file tells your partner.