# Encryption at Rest with CSS

**URL:** <https://forum.solidproject.org/t/encryption-at-rest-with-css/6839>\
**Category:** Security\
**Created:** [August 19, 2023, 2:13am UTC](https://forum.solidproject.org/t/encryption-at-rest-with-css/6839 "2023-08-19T02:13:12Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![timbot1789](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/timbot1789/32/4014_2.png) [@timbot1789](https://forum.solidproject.org/u/timbot1789)\
**Post date:** [August 19, 2023, 2:13am UTC](https://forum.solidproject.org/t/encryption-at-rest-with-css/6839/1 "2023-08-19T02:13:12Z")

</div>

I’m working on a system that’s using CSS as a base solid server, and it seems that our app will probably need encryption at rest. CSS doesn’t provide this out of the box. Does anyone know of any CSS configurations that provide that? Or any pointers on how to go about writing one?

---

<div class="post-metadata">

**Author:** ![A\_A](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/a_a/32/786_2.png) [@A\_A](https://forum.solidproject.org/u/A_A)\
**Post date:** [August 19, 2023, 6:50am UTC](https://forum.solidproject.org/t/encryption-at-rest-with-css/6839/2 "2023-08-19T06:50:16Z")

</div>

If I understand you correctly, you want POD encryption? There’s an issue about this already: [feat: POD encryption · Issue #1133 · CommunitySolidServer/CommunitySolidServer · GitHub](https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1133)

TL;DR: Not out of the box, but you likely could modify the FileDataAccessor to encrypt files on disk.

---

<div class="post-metadata">

**Author:** ![A\_A](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/a_a/32/786_2.png) [@A\_A](https://forum.solidproject.org/u/A_A)\
**Post date:** [August 19, 2023, 6:56am UTC](https://forum.solidproject.org/t/encryption-at-rest-with-css/6839/3 "2023-08-19T06:56:32Z")

</div>

> [@timbot1789](#):
>
> that our app will probably need encryption at rest.

Do you refer to the client side app? If yes, then I didn’t understand your question

---

<div class="post-metadata">

**Author:** ![timbot1789](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/timbot1789/32/4014_2.png) [@timbot1789](https://forum.solidproject.org/u/timbot1789)\
**Post date:** [August 20, 2023, 4:52am UTC](https://forum.solidproject.org/t/encryption-at-rest-with-css/6839/4 "2023-08-20T04:52:32Z")

</div>

Ah ok. Thanks for the link. I’ll take a closer look at the FileDataAccessor

---

<div class="post-metadata">

**Author:** ![A\_A](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/a_a/32/786_2.png) [@A\_A](https://forum.solidproject.org/u/A_A)\
**Post date:** [August 20, 2023, 3:14pm UTC](https://forum.solidproject.org/t/encryption-at-rest-with-css/6839/5 "2023-08-20T15:14:23Z")

</div>

You’re welcome 🙂

And to be clear (as I’m not 100% sure if we really understood each other): the FileDataAccessor is server-specific. With this, you could make your CSS instance encrypt files on the server, but then all clients would need to use this specific server if they want that files are encrypted server-side. And this would be “transparent” to clients, ie they won’t notice any difference and only people with direct access to the server would see the difference (admins & hackers with RCE).

---

<div class="post-metadata">

**Author:** ![timbot1789](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.solidproject.org/timbot1789/32/4014_2.png) [@timbot1789](https://forum.solidproject.org/u/timbot1789)\
**Post date:** [August 20, 2023, 10:09pm UTC](https://forum.solidproject.org/t/encryption-at-rest-with-css/6839/6 "2023-08-20T22:09:42Z")

</div>

Yup! I’m looking into server-side encryption of the pod. Application-level encryption is a different can of worms.

Our goal is to be able to deploy pod servers with groups that don’t necessarily have the technical expertise to secure the data themselves. If we can provide a server (or point them to a server) that encrypts data properly, that reduces the likelihood of a data breach. It also means there’s less risk if somebody decides to use a client application that doesn’t provide application-level encryption.
