BookStackApp / BookStack

A platform to create documentation/wiki content built with PHP & Laravel
https://www.bookstackapp.com/
MIT License
14.8k stars 1.86k forks source link

Encrypted Pages #820

Open changchichung opened 6 years ago

changchichung commented 6 years ago

For Feature Requests

Desired Feature: encrypt page

is that possible to add a encrypt page in bookstack ? open page needs enter password or just encrypt the content ?

Shackelford-Arden commented 6 years ago

Out of curiosity, what is the use case you have in mind? what is the intent of encrypting in this way as opposed to simply using the built in permissions to properly hide/secure the page?

mendiromania commented 6 years ago

displaying it to the guests that you would give the password to I guess

lithium-ap commented 6 years ago

I have also been thinking how to pose this question or address feasibility. For my use I've been using this to document environments that occasionally have sensitive information. At the moment I do not store sensitive data.

I dont think encrypting the entire page is something i'm interested in, but more of specific content. Maybe this could be done with a special control or text box that allows the data to be obfuscated and stored in hashed in the DB

Not too sure how far outside of scope this would be either- I've considered contracting to implement and then offer for merge.

Shackelford-Arden commented 6 years ago

Would it not be sufficient to simply is the built in permissions to simply hide the pages from those who don't need them?

lithium-ap commented 6 years ago

No, not if you desire some of the data to be obfuscated; also the aspect of storing hashed in the database.

ssddanbrown commented 6 years ago

This is an interesting feature. Obviously the content would not be searchable, And you'd need to provide the password to edit the content.

aljawaid commented 6 years ago

Would be nice for admins to be able to hide/show/restrict content base don the user's account password.

For business case, this means that the manager can create a single document but password-protect certain pics/paragraphs to senior staff only so the juniors can't see.

Restricting by user name or all would be good options. Then globally set a password per book/page/chapter for 'anyone' to view the content.

KyferEz commented 6 years ago

This is a VERY important feature for HIPPA and GDPR considerations.

It would also enable the possibility of storing passwords in the system which would make it a FAR more useful system for system administrators wanting to maintain documentation for their clients.

tmikaeld commented 6 years ago

Which is exactly what I use it for, sysadmin docs. (With no sensitive information yet though)

I'm thinking, maybe use the same encryption as is used in Lastpass and Bitwarden (Open source)? This would certainly be secure, considering the implications of their encryption not being good enough.

nullquery commented 5 years ago

Running into this as well. Lack of encrypted pages makes it difficult to comply with ISO certifications. Currently, they would end up plaintext in a MySQL data file. Not ideal.

guenth commented 5 years ago

I would like to be able to encrypt at least "fields" in a page. That way the page could be searchable, but say the specific contents in a command would not. I still probably wouldn't put actual passwords in there, but sometimes it is desirable to obscure things like db structure or even user name lists.

ghost commented 4 years ago

This would be easily implemented with OpenPGP (or similar) client-side encryption using user account-linked public keys and a symmetric key per page or book. You can then rely on Subresource Integrity (SRI) and potentially user-side attestation of the libraries (or rely on standardized browser crypto) to deter server-side malicious tampering with the crypto.

kaspwip commented 4 years ago

BookStack is publicly hosted and it would be great, if necessary, to be able to encrypt and decrypt at the browser level (JavaScript)

fklappan commented 3 years ago

Did you already schedule this feature request? I would love to see the feature come to life!

Maybe some additional background: I use BookStack only for myself. So I would use the feature for some kind of "journal" or "private notes".

wxrl commented 2 years ago

Would love to have this feature to encrypt pages! Independent password required every time visiting the protected pages even for the owner as well as for those who can view.

the-infrequency commented 2 years ago

+1 Using this as an internal wiki, but have some information that we (temporarily) store that would be best to encrypt.

FeIix commented 1 year ago

The "Security and Encryption" extension for confluence has a nice way to do this, you can hide any content behind a button and give access permission to specific users or groups. It's integrated in the toolbar, like spoilers or code blocks. Really useful to store / share passwords, especially the Copy button

DrMxrcy commented 1 year ago

+1 For this. Would be great for Internal Wikis

SonGokussj4 commented 1 year ago

Wow, this would be so cool. (and have the password categorized like in settings - "IT Admins" - set password, "Department X" - set password and so on.

MepLab commented 1 year ago

+1 - Would be very usefull for me :)

42bios commented 1 year ago

+1 this would be a great feature!

larissa-pereira commented 1 year ago

+1 necessary for GDPR

mieszkou commented 1 year ago

+1

Szwendacz99 commented 1 year ago

Would be great, and make you feel safer when hosting instance that is open to world, and you would like to store there a bit of sensitive information too. Currently for such usecase (very sensitive notes) I rather use separate tool. I am not sure, but basic server-side encryption with password should be relatively easy to do?

xKugeki commented 1 year ago

+1 this feature would be awesome :)

Mindpsy commented 1 year ago

+1 this would be a great feature! Please to release it!

JesusRedGar commented 11 months ago

yes, this would be very desirable to have

otherjoel commented 11 months ago

My $0.02: Sensitive information and credentials should be stored, shared and protected using tools designed for that purpose, not in a documentation tool.

In particular, if you believe your envisioned use of Bookstack without this feature would put you afoul of HIPAA or ISO considerations, you either don’t understand those frameworks or you have bigger problems.

Szwendacz99 commented 11 months ago

My $0.02: Sensitive information and credentials should be stored, shared and protected using tools designed for that purpose, not in a documentation tool.

In particular, if you believe your envisioned use of Bookstack without this feature would put you afoul of HIPAA or ISO considerations, you either don’t understand those frameworks or you have bigger problems.

You start talking about your case and somehow end up summarising my use of Bookstack.

Also, If something is worth hiding behind a password, I think it is worth encrypting, if that is not a trouble.

FeIix commented 11 months ago

In some case yes, in others no. I think the users should be able to decide if it's too sentitive or dangerous, or more practical for their project to have everything in the same tool.

exnerit commented 11 months ago

i am thinking about inserting access data as a link to e.g. 1password or keeper datasets. it might be an approach? yes you have to go back into another system. But i think that sensitive data is better stored in something like 1password or keeper. Maybe you can develop a functionality that recognizes such links and inserts them nicely formatted into the document?

Mindpsy commented 4 months ago

I think this is quite a demanded and appropriate function for such a project. For example, Evernote provides such a feature to its users. Because any information can be sensitive. And encrypting the contents of a specific page or certain sections of the page using a password, which is a fully justified way to additionally protect data. Even if the main tasks of the system are different.

jacrook commented 1 week ago

Hello, I'm wondering if this is still on the roadmap. I'm enjoying transferring my documentation, and this feature would enable full adoption.

Thank you

ssddanbrown commented 1 week ago

@jacrook This was never on the roadmap to be honest. Not that I'd never consider this, but I don't plan a roadmap that far out. From my view, this would introduce trade-offs & complexities, while encouraging a use we're not targeting nor suited for (passwords, secrets etc...).

For one-off/within-page encryption, it might be possible to hack something in on an instance via custom JavaScript (since it can all be client side).

For general instance wide encryption at rest, it might be possible to enable this at the database level but I have little experience in this personally and it's not something I've tested with BookStack.