News for hackers. Stuff that matters.
Re:GitHub's 2015 Transparency Report by ademarre on Tuesday June 28, 2016 @02:48PM (#11996387)
0–249 National Security Orders received?

> "we are not even allowed to say if we've received zero of these reports—we can only report information about these types of requests in broad ranges"

Interesting. What are they really telling us with that range? Could they not get away with saying "1–249"?

Edit: Nevermind. The document they cite[0] clears it up.

[0] https://www.justice.gov/iso/opa/resources/422201412716042240...

Re:GitHub's 2015 Transparency Report by tibbon on Tuesday June 28, 2016 @03:20PM (#11996690)
This confuses me too. I am allowed (as a private citizen or company who has never had an interaction with the feds) to say that I've had zero reports/requests like this right? Or is just uttering that a federal crime (did I just fuck up by saying that?)

It would seem that it's perhaps illegal to say anything once you've gotten at least one of them, and they tell you that you can't do this anymore right?

Re:GitHub's 2015 Transparency Report by ChristianBundy on Tuesday June 28, 2016 @03:45PM (#11996908)
IANAL, but I believe you could say "I've had zero" until you get one, at which point you can only say "I've had between 0 and 249".
Re:GitHub's 2015 Transparency Report by tibbon on Tuesday June 28, 2016 @03:54PM (#11996994)
So 0-249 really means, "probably at least 1, but I'm not allowed to say zero"
Re:GitHub's 2015 Transparency Report by lukasubo on Tuesday June 28, 2016 @06:18PM (#11998039)
0-249 probably means 249.
Re:GitHub's 2015 Transparency Report by andrewguenther on Tuesday June 28, 2016 @08:25PM (#11998657)
Probably not, per the official document[0]:

> a provider may report aggregate data in the following separate categories:

> The total number of all national security process received ... in the following bands: 0-249 and thereafter in bands of 250

[0] https://www.justice.gov/iso/opa/resources/422201412716042240...

Re:GitHub's 2015 Transparency Report by jstoiko on Tuesday June 28, 2016 @11:29PM (#11999306)
0-249 probably means 125.
Re:GitHub's 2015 Transparency Report by masklinn on Wednesday June 29, 2016 @04:20AM (#12000220)
Nope. Starting in 2013 the government agreed provides could report aggregate of official requests for customer data (including NSLs) in bands of 1000. In 2014 the agreement[0] was altered to provide two options

* fine-grained categorisation large bulk, separately reports on numbers of NSLs, customer affected by NSLs, content FISA, customers affected by content FISA, non-content FISA and customers affected by non-content FISA in bands of 1000 (for each category) starting from 0-999 inclusive

* coarse-grained categorisation finer bulk, report only the aggregate number of FISA and NSL orders and the number of customers affected by that aggregate, but do so in bands of 250 (starting from 0-249 inclusive)

So "0-249" means "between 0 and 249", they're not allowed to be more precise at this point

[0] https://www.justice.gov/iso/opa/resources/422201412716042240...

Re:GitHub's 2015 Transparency Report by ioquatix on Tuesday June 28, 2016 @09:44PM (#11998974)
Actually, 0-249 means -249 :D
Re:GitHub's 2015 Transparency Report by icehawk219 on Tuesday June 28, 2016 @02:50PM (#11996408)
I believe this is what the security canary used to be that companies would use to skirt the rules until the rules were changed. It used to be that you couldn't say how many you received but you could say you hadn't received any. Now you aren't even allowed to say that.
Re:GitHub's 2015 Transparency Report by schneidmaster on Tuesday June 28, 2016 @03:25PM (#11996733)
No, nothing has changed on that front. If you have not received any National Security Letters, it is legal for you to say "I have never received an NSL" (as other commenters have suggested). Warrant canaries rely on the idea that it is much more legally difficult to compel speech than to restrict it. There is no (non-secret) case law indicating that a NSL recipient could be compelled to lie and include the warrant canary paragraph in a future transparency report, while there is case law indicating that NSL recipients can be prevented from actively disclosing the letter (gag orders are fairly well-established in particular aspects of our legal system).

The reason why warrant canaries are binary is that once an NSL has been issued, the case law that the parent commenter linked comes into play: companies may only indicate in buckets how many they have received (0-249, 250-499, etc). So you couldn't have your warrant canary say "I have never received more than 3 NSLs" then "I have never received more than 5 NSLs" etc.

Re:GitHub's 2015 Transparency Report by forgotpwtomain on Tuesday June 28, 2016 @03:42PM (#11996884)
So what happens if you make a range of canaries? e.g.

- We have not received any requests in Q1 of 2016.

- We have not received more than 50 requests in Q1 of 2016.

- We have not received more than 100 requests in Q1 of 2016.

Re:GitHub's 2015 Transparency Report by schneidmaster on Tuesday June 28, 2016 @03:44PM (#11996905)
If I understand your scenario, the problem is that you would have to remove all the canaries as soon as you receive your first NSL. As soon as you receive a NSL, you may only disclose the number of NSLs you have received in the buckets I mentioned above, so you would not be able to say "we have not received more than 50/100 requests;" you would only be able to say "we have received 0-249 requests." So the canary still only works to tell people that you have never received an NSL.
Re:GitHub's 2015 Transparency Report by ChicagoBoy11 on Tuesday June 28, 2016 @04:07PM (#11997091)
But I think the "novelty" in his scheme is that he has separate canaries for different time periods -- so it may not be helpful in letting users know the number of requests received, but it would allow them to know when they had been received.

Assume he had a scheme that just said the following:

We have received no NSL letters in Jan 2016 We have received no NSL letters in Feb 2016 We have received between 0 and 249 NSL letters in March 2016 We have received no NSL letters in Apr 2016

Re:GitHub's 2015 Transparency Report by schneidmaster on Tuesday June 28, 2016 @04:22PM (#11997215)
Oh, well that scheme wouldn't be legal for a few reasons: once you receive an NSL you aren't allowed to say you've received 0 NSLs in a given time period (you can only report in 0-249 buckets so you couldn't say "We have received no NSLs in Jan 2016") and the granularity with which you can report (on my read of the document: [1]) is per year or per six months depending on which option you choose (so you couldn't say "We have received 0-249 NSLs in March 2016", just "We have received 0-249 NSLs in 2016").

The only reason the canary "works" is as a binary option - if you say "We have never received an NSL" up until you receive one, the government cannot compel you to continue including that line in your report, because that would be compelled speech which is legally difficult and (as far as anyone knows) hasn't been attempted. But anything you say beyond that related to the quantity or existence of NSLs is subject to the linked guidelines. In other words, they cannot force you to continue including a paragraph (the canary) in your report, but they CAN regulate anything you do choose to include in your report.

[1]: https://www.justice.gov/iso/opa/resources/422201412716042240...

Edit: NSL letter, ATM machine, blah

Re:GitHub's 2015 Transparency Report by ChicagoBoy11 on Tuesday June 28, 2016 @04:52PM (#11997475)
Hmm that's really interesting. I guess I just wondered if somehow there was a case for trying to really stretch that idea of not being able to "compel" speech to its fullest limits by simply issuing separate canaries for different time periods, then simply removing it for the time period in question. By the logic you present, you still have a binary option -- you just restrict its scope. But I guess what would happen in this case is those separate "scopes" that I tried to create would simply all collapse into one, following the per-year/six-month option you cited above.

So even if before I received any letter I'd tried to be clever and just said: "No NSL letters in March, No NSL letters in April.... etc.", if I ended up receiving one during that time period at all, all of those WOULD HAVE to collapse to "We have received 0-249 letters in the first semester of 2016 (or 2016 altogether)"

Re:GitHub's 2015 Transparency Report by squeaky-clean on Tuesday June 28, 2016 @06:04PM (#11997957)
> So even if before I received any letter I'd tried to be clever and just said: "No NSL letters in March, No NSL letters in April.... etc.", if I ended up receiving one during that time period at all, all of those WOULD HAVE to collapse to "We have received 0-249 letters in the first semester of 2016 (or 2016 altogether)"

Sort of. There's also a required 6 month delay. So if you received an NSL today, but had "No NSLs in Jan" , "No NSLs in Feb", "No NSLs in Mar", etc, you would need to remove all those and could not report the 0-249 number until 2017.

Re:GitHub's 2015 Transparency Report by Nadya on Wednesday June 29, 2016 @12:06PM (#12002564)
Twelve canaries with different colors representing each of the months. Remove the canaries where the color corresponds with the month. Make absolutely no claims beforehand as to what the colored canaries represent - people should be able to figure it out (3 green, 3 red, 3 brown, 3 blue: take a guess?)

You are saying nothing at all. Just adding/removing images on a page called /canary/

IANAL, but I'd be interested how the above would be illegal.

Re:GitHub's 2015 Transparency Report by schneidmaster on Wednesday June 29, 2016 @01:08PM (#12003021)
They would contend that this is just a wink-and-a-nod way of providing the information you aren't allowed to provide. It doesn't matter if you disclose the information in English, French, or binary, it's still illegal. If you have it in a page called /canary/ and it obviously corresponds with NSLs you'd be in some hot water.

People tend to assume the court system is like a machine when it's very human at its core. A judge isn't going to say "well you technically didn't reveal any info so you're kosher," a judge is going to be pissed that you decided to low-key defy his/her order.

Re:GitHub's 2015 Transparency Report by Nadya on Wednesday June 29, 2016 @01:21PM (#12003099)
AFAIK, even a binary "canary" has been untested in court and might not even stand on its own (yet many companies have one).

There are countless loopholes in various legal systems across the world that "get a pass". It's often a matter of finding the right loopholes.

One example is gambling in Japan. Illegal. But if you play at a pachinko slot for a chance to win some tokens you can go next door and there is a business that will buy the tokens from you! It really is convenient someone is willing to buy these otherwise useless tokens. :)

I'm sure if I put some thought into it I could find a few more loopholes that are a "wink and a nod" away of being illegal. Of course, my suggestion might be too blatant and the company would be dragged to the courts. But even a single canary could still warrant being dragged to court over.

Re:GitHub's 2015 Transparency Report by schneidmaster on Wednesday June 29, 2016 @03:23PM (#12004058)
This is true, but there's a core fundamental issue. There has never been any legal support for the idea that the government can compel speech (such as forcing the continued false inclusion of a "binary" canary). There is a clear basis of support for the idea that the government can regulate speech, whether it's English or cryptic colored circles. So trying to speak (publish canary info) in any sort of cryptic way will still always be more risky than choosing not to speak (omit your canary). The government could always drag you to court over anything, but you still want to keep them at the downhill end of the battle.
Re:GitHub's 2015 Transparency Report by jrochkind1 on Wednesday June 29, 2016 @08:17AM (#12001134)
There might be a case for it, the whole gag order regime is pretty sketchy constitutionally if you ask me (not a lawyer). You could violate the law, go to court, spend lots of on laywers, and maybe win eventually. The cost of losing would be high to your company, heck the cost of winning would be pretty high too. Few companies are interested in taking on this risk.
Re:GitHub's 2015 Transparency Report by rtpg on Wednesday June 29, 2016 @03:45AM (#12000093)
The legal system frowns on trying to "hack around" the intent.
Re:GitHub's 2015 Transparency Report by kilotaras on Wednesday June 29, 2016 @04:33AM (#12000272)
The whole canary thing is "hacking around" legal system.
Re:GitHub's 2015 Transparency Report by jrochkind1 on Wednesday June 29, 2016 @08:17AM (#12001140)
Right. And it's unclear if a court would decide it was legal, if they tried to prosecute you.
Re:GitHub's 2015 Transparency Report by petercooper on Tuesday June 28, 2016 @03:05PM (#11996557)
How does that work then? If I were American (I'm not) is it illegal for me to simply say or publish the sentence "I have received no National Security Orders"?
Re:GitHub's 2015 Transparency Report by Bartweiss on Tuesday June 28, 2016 @03:08PM (#11996582)
Presumably not. But it is illegal for you to say "I have received one National Security Order this year".

Hence warrant canaries: they basically consist of creating a strong expectation of a (permitted) negative statement, such that its absence will be noticed. So far it's believed that you can't be compelled to maintain a no-longer-accurate canary against your will.

edit: Wait, I see what you're referring to. [citation needed], because as far as I know warrant canaries remain legal.

Re:GitHub's 2015 Transparency Report by froh42 on Tuesday June 28, 2016 @03:46PM (#11996916)
Holy shit. People in the land of the free discussing what they are legally allowed to say. Such tricks sound like stories from Soviet Russia that still linger around.
Re:GitHub's 2015 Transparency Report by lettergram on Tuesday June 28, 2016 @04:23PM (#11997222)
"only for national security" just like Russia
Re:GitHub's 2015 Transparency Report by 86646 on Tuesday June 28, 2016 @11:19PM (#11999282)
In United States of America, government owns you.
Re:GitHub's 2015 Transparency Report by paulddraper on Wednesday June 29, 2016 @10:28AM (#12001814)
People have been discussing that in the USA since its inception.
Re:GitHub's 2015 Transparency Report by Bartweiss on Tuesday June 28, 2016 @03:06PM (#11996564)
Since when?

Last I heard canaries were still going strong, although they're generally limited to one bit (letters: yes or no?) rather than any more detail.

Re:GitHub's 2015 Transparency Report by anonicode on Tuesday June 28, 2016 @05:00PM (#11997533)
> Edit: Nevermind. The document they cite[0] clears it up.

That didn't exactly clear it up for me. Would you mind saying how that clears it up? Does it really mean 1-249 after all?

Re:GitHub's 2015 Transparency Report by ademarre on Tuesday June 28, 2016 @07:40PM (#11998453)
I still don't grok the dos and don'ts of NSLs and canaries, but that document establishes the origin of the range 0–249, which is expressly permitted. See also: https://canarywatch.org/faq.html

I suspect they would not be using the 0–249 band if they were not gagged by a previous order. My uninformed interpretation is that they have received an NSL or FISA order, but not necessarily in 2015. So the 2015 number might be zero after all.

Maybe someone more informed could confirm or debunk this interpretation.

Re:GitHub's 2015 Transparency Report by espadrine on Tuesday June 28, 2016 @05:19PM (#11997672)
It means in bands of 1000 starting with 0-999.
Re:GitHub's 2015 Transparency Report by chc on Tuesday June 28, 2016 @06:37PM (#11998131)
Or bands of 250 if you classify things a different way. It offers both options.
Re:GitHub's 2015 Transparency Report by euyyn on Tuesday June 28, 2016 @06:40PM (#11998148)
Yes.